<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Centroid of Outliers]]></title><description><![CDATA[Challenging assumptions and encourages new perspectives, one post at a time]]></description><link>https://hamedmp.com/</link><image><url>https://hamedmp.com/favicon.png</url><title>Centroid of Outliers</title><link>https://hamedmp.com/</link></image><generator>Ghost 5.82</generator><lastBuildDate>Mon, 06 Apr 2026 20:09:25 GMT</lastBuildDate><atom:link href="https://hamedmp.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[A short history of ai coding]]></title><description><![CDATA[<p>for me, seeing claude code &#x2013; a cli tool, gaining so much popularity is interesting from a historical point of view:</p><p>a rough history of ai coding tools</p><ol><li>github copilot</li><li>chatgpt</li><li>gpt engineer</li><li>cursor </li><li>cursor-clones </li><li>claude code </li><li>???</li></ol><p>the ones that stand out from the list imo are:</p><ul><li>chatgpt: the interface</li></ul>]]></description><link>https://hamedmp.com/a-short-history-of-ai-coding/</link><guid isPermaLink="false">688647273603fa01422729fe</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 27 Jul 2025 15:42:15 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2025/07/Untitled---Frame-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2025/07/Untitled---Frame-1.jpg" alt="A short history of ai coding"><p>for me, seeing claude code &#x2013; a cli tool, gaining so much popularity is interesting from a historical point of view:</p><p>a rough history of ai coding tools</p><ol><li>github copilot</li><li>chatgpt</li><li>gpt engineer</li><li>cursor </li><li>cursor-clones </li><li>claude code </li><li>???</li></ol><p>the ones that stand out from the list imo are:</p><ul><li>chatgpt: the interface for people to test the limits</li><li>cursor: the 100x better ux compared to copilot or copy/pasting from llm chat interfaces</li></ul><p>on the models side, we have:</p><ul><li>gpt 3.5 (implicitly through chatgpt)</li><li>gpt 4.0: improvement in coding + co-existence with cursor</li><li>claude 3.5: the 10x improvement compare to anything else in the market, huge driver for cursor/lovable/... any other vibe-coding tool</li></ul><p>just like any new market that needs education, github copilot and chatgpt prepared the market for cursor and cursor, in turn, prepared the market for claude code (and its clones).</p><p></p><p>the way cursor did it is by being semi-opinionated, giving people a ui to experience what llms can do, just like how chatgpt did for cursor. </p><p></p><p>but like any ui and abstraction, it has it&apos;s own limits. even though tools like cline/roo code/... enabled you to create your own custom agents, they were not deep into the cli.</p><p></p><p>having a shell access to your computer, the holy grail of programming, + infinite customizability with innovative features like slash commands, hooks, ... (+ building on top of mcp) and not to mention, the performance of claude-4, is taking vibe/programming to the next level.</p><p></p><p>i suddenly realized this while i was working on my &quot;perfect ai engineering team&quot;, and thinking of what i need in my team.</p><figure class="kg-card kg-image-card"><img src="https://pbs.twimg.com/media/Gw2y_f6WQAAcTZu?format=jpg&amp;name=4096x4096" class="kg-image" alt="A short history of ai coding" loading="lazy" width="2600" height="1676"></figure><p>i&apos;ll share it when i&apos;m done with it and took it for a spin on real-world problems</p>]]></content:encoded></item><item><title><![CDATA[The AI feature that helped me win the Scrive AI Hackathon]]></title><description><![CDATA[<p>Last Fri, <a href="https://finna.ai/?ref=hamedmp.com" rel="noreferrer">Finna</a> participated and won the first place in Cillers AI Hackathon at Scrive &#x1F973;</p><p>It was a ton of fun, really smart teams, and cool ideas presented.</p><p>Combining my Product Management background and fullstack engineering (+ AI superpowers), we built Finna Scrive, a dashboard for Scrive contracts that fetches</p>]]></description><link>https://hamedmp.com/the-ai-feature-that-helped-me-win-scrive-ai-hackathon/</link><guid isPermaLink="false">66d3dee903b2950143357466</guid><category><![CDATA[AI]]></category><category><![CDATA[Finna]]></category><category><![CDATA[UBI]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Mon, 02 Sep 2024 07:28:32 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/09/finna-scrive-imagew.png" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/09/finna-scrive-imagew.png" alt="The AI feature that helped me win the Scrive AI Hackathon"><p>Last Fri, <a href="https://finna.ai/?ref=hamedmp.com" rel="noreferrer">Finna</a> participated and won the first place in Cillers AI Hackathon at Scrive &#x1F973;</p><p>It was a ton of fun, really smart teams, and cool ideas presented.</p><p>Combining my Product Management background and fullstack engineering (+ AI superpowers), we built Finna Scrive, a dashboard for Scrive contracts that fetches documents using the API and adds analytics and natural language filtering to enable queries like:</p><ul><li>give me all Swedish contracts</li><li>documents I signed last week</li><li>deleted documents that are shared </li><li>expiring soon </li></ul><p>PM side because I was questioning every Scrive team member I saw to understand what points their users and customers have. We need tools that solve real problems (and then they can be cool too).</p><p>I was impressed when:</p><ol><li>The whole app from nextjs init command to the fully functioning version below took ~4 hours of active coding.</li><li>The quality and speed of LLMs and how they can simplify boring UXs (like having many filtering options) replaced with a single textbox (we wanted to add a voice search too, totally doable and easy these days).</li></ol><p>But even though I&apos;m in the depth of AI and building multiple startups with it, I&apos;m quite concerned for the future of work. </p><p>I believe we need to speed up UBI discussions (obv. using AI, agents, simulations, ...). </p><p>Who is working on that? </p><figure class="kg-card kg-embed-card"><iframe width="200" height="150" src="https://www.youtube.com/embed/6drF-l0PoxY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Finna Scrive - My winning submission for AI Hackathon - Vercel AI SDK + natural language filtering"></iframe></figure><p></p><p>Thanks to the Cillers and Scrive team for organizing such a great hackathon. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://hamedmp.com/content/images/2024/09/finna-scrive-cillers.png" class="kg-image" alt="The AI feature that helped me win the Scrive AI Hackathon" loading="lazy" width="1792" height="1410" srcset="https://hamedmp.com/content/images/size/w600/2024/09/finna-scrive-cillers.png 600w, https://hamedmp.com/content/images/size/w1000/2024/09/finna-scrive-cillers.png 1000w, https://hamedmp.com/content/images/size/w1600/2024/09/finna-scrive-cillers.png 1600w, https://hamedmp.com/content/images/2024/09/finna-scrive-cillers.png 1792w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Happy me with the prize</span></figcaption></figure>]]></content:encoded></item><item><title><![CDATA[Build a Landing Page in Minutes, No Code Needed - It's AI Magic! ✨]]></title><description><![CDATA[<p>Have you ever dreamt of building a web app but got overwhelmed by the sheer amount of code? Well, dream no more! In my latest YouTube video, I&apos;ll show you how to create a slick landing page using AI tools in Cursor. No coding experience is required!</p><p>We&</p>]]></description><link>https://hamedmp.com/cursor-tutorial-for/</link><guid isPermaLink="false">66cb9f7203b2950143357420</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 25 Aug 2024 21:20:49 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png" alt="Build a Landing Page in Minutes, No Code Needed - It&apos;s AI Magic! &#x2728;"><p>Have you ever dreamt of building a web app but got overwhelmed by the sheer amount of code? Well, dream no more! In my latest YouTube video, I&apos;ll show you how to create a slick landing page using AI tools in Cursor. No coding experience is required!</p><p>We&apos;ll go step-by-step, from brainstorming the app name to deploying the final product. You&apos;ll see how AI can help generate UI, write compelling copy, and even troubleshoot errors. It&apos;s like having a coding wizard by your side! &#x1F9D9;&#x200D;&#x2642;&#xFE0F;</p><p>In the video, I will go over a 10-step guide on how to build the landing page:</p><ol><li>Download Cursor and sign up for a free account.</li><li>Choose a project name and specify that it&#x2019;s a web application.</li><li>Install the necessary tools including Versal, a tool that helps generate UI, Cloud 3.5, an AI tool to help generate code, and a GitHub account for hosting the code.</li><li>Use the chat function in Cursor to brainstorm a name for the application.</li><li>Use Cursor to create a Next.js app.</li><li>Use the chat function again in Cursor to write a landing page copy that is optimized for conversion.</li><li>Use the composer function in Cursor to automatically apply the code for the landing page copy.</li><li>Preview the landing page in the browser.</li><li>Push the code to a GitHub repository.</li><li>Use Vercel to deploy the landing page.</li></ol><p>Enjoy and let me know your feedback and questions in the comments!</p><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/-YjFYGaJAjw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Cursor Tutorial for non-technical people"></iframe></figure>]]></content:encoded></item><item><title><![CDATA[What I should work on to be relevant in the future?]]></title><description><![CDATA[<h2 id="hot-weekend-takes">___ Hot weekend takes ___</h2><ol><li><a href="https://hamedmp.com/bitcoin-moment-of-genai/" rel="noreferrer">We&#x2019;re in the Bitcoin moment of Gen AI</a>: In 2009, Bitcoin was $0.0009. If you were nerdy enough to set up mining capacity (and later in 2012-2015 believer enough to just invest in it), you would&#x2019;ve made so much.</li><li>Unlike many (mainly</li></ol>]]></description><link>https://hamedmp.com/what-i-should-work-on-to-be-relevant-in-future/</link><guid isPermaLink="false">66b877254ddb76014233892f</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 08:42:15 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1476402135288-995e665c77a2?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIxfHxob3Jpem9uJTIwc2VhfGVufDB8fHx8MTcyMzM2NTY1OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<h2 id="hot-weekend-takes">___ Hot weekend takes ___</h2><ol><li><a href="https://hamedmp.com/bitcoin-moment-of-genai/" rel="noreferrer">We&#x2019;re in the Bitcoin moment of Gen AI</a>: In 2009, Bitcoin was $0.0009. If you were nerdy enough to set up mining capacity (and later in 2012-2015 believer enough to just invest in it), you would&#x2019;ve made so much.</li><li>Unlike many (mainly investors) belief 12 months ago that <a href="https://hamedmp.com/shopping-llms-around/" rel="noreferrer">the foundational models and startups with deep tech are worth investing </a>in and the rest have no defensibility, it turned out to be the other way around.</li></ol><img src="https://images.unsplash.com/photo-1476402135288-995e665c77a2?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIxfHxob3Jpem9uJTIwc2VhfGVufDB8fHx8MTcyMzM2NTY1OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="What I should work on to be relevant in the future?"><p>There are so many foundational model providers right now, and the competition on accuracy, developer tooling, and pricing is brutal. </p><hr><p>Many people ask me during Sales what model Finna is using and my answer has always been: &quot;We are using a combination of models, every model has its strengths and weaknesses&quot;. So far we have these models used in different parts of our system:</p><ul><li>Cohere</li><li>Anthropic</li><li>OpenAI</li></ul><p>and since last week, <a href="https://developers.googleblog.com/en/gemini-15-flash-updates-google-ai-studio-gemini-api/?ref=hamedmp.com" rel="noreferrer">Google&apos;s Gemini Flash model with 70% price reduction</a> and impressive performance.</p><p>So you might ask, what should we work on then to be in front of Gen. AI? &#x1F447;&#x1F3FC;</p><h2 id="the-weekend%E2%80%99s-reflection">___ The weekend&#x2019;s reflection ___</h2><p></p><p>Anything you work on related to Gen. AI is helpful, even just using them for your information extraction, data entry, coding, and cooking recipes, &#x2026;</p><p>Surprisingly even though the adoption has been massive for LLMs, mainly top providers like OpenAI and Anthropic, still a lot of people not using them or don&#x2019;t know how to use them for their tasks, even Ph.ds and Business people.</p><p>Last week I quickly demoed my AI coding setup to a few friends, and how in 15 minutes I went from a prompt to a fully functional, deployed app, a landing page that can easily cost anything between $100-1000. I will share a video on how to do AI coding, as an ex-non-technical founder, ship major features in our platform every single day. Make sure to subscribe to know when it&apos;s published.</p><div class="kg-card kg-signup-card kg-width-regular kg-style-accent" data-lexical-signup-form style="; display: none;">
            
            <div class="kg-signup-card-content">
                
                <div class="kg-signup-card-text ">
                    <h2 class="kg-signup-card-heading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">Sign up for Centroid of Outliers</span></h2>
                    <p class="kg-signup-card-subheading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">Challenging assumptions and encourages new perspectives, one post at a time</span></p>
                    
        <form class="kg-signup-card-form" data-members-form="signup">
            
            <div class="kg-signup-card-fields">
                <input class="kg-signup-card-input" id="email" data-members-email type="email" required="true" placeholder="Your email">
                <button class="kg-signup-card-button " style="background-color: #000000;color: #FFFFFF;" type="submit">
                    <span class="kg-signup-card-button-default">Subscribe</span>
                    <span class="kg-signup-card-button-loading"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewbox="0 0 24 24">
        <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
            <g class="nc-loop-dots-4-24-icon-o">
                <circle cx="4" cy="12" r="3"/>
                <circle cx="12" cy="12" r="3"/>
                <circle cx="20" cy="12" r="3"/>
            </g>
            <style data-cap="butt">
                .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s}
                .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite}
                .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)}
                .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)}
                .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px}
                @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
            </style>
        </g>
    </svg></span>
                </button>
            </div>
            <div class="kg-signup-card-success" style="color: #FFFFFF;">
                Email sent! Check your inbox to complete your signup.
            </div>
            <div class="kg-signup-card-error" style="color: #FFFFFF;" data-members-error></div>
        </form>
        
                    <p class="kg-signup-card-disclaimer" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">No spam. Unsubscribe anytime.</span></p>
                </div>
            </div>
        </div><p></p><p>If you want to work more hands-on with Gen. AI, either:</p><ol><li>Learn how to build and use it for creating leverage (mine the currency of Gen AI) from people who&#x2019;ve done it. YouTube and Blogs are also helpful sources.</li><li>With building products becoming easier and easier, sales and distribution are core. Enterprise SaaS is here to disrupt lots of old processes and optimize ways of working for so many.</li></ol><p>That&#x2019;s why I&#x2019;m so excited about <a href="https://finna.ai/?ref=hamedmp.com" rel="noreferrer"><strong>Finna</strong></a>, where we build the Operating System for Investor Relations in listed companies. I ship code and do work on Finna every single day, including weekends. The opportunity is so ripe that not capturing it feels so wrong for me.</p><p>If you&#x2019;re an extraordinary achiever, hard-working, and can get things done no matter what, I&#x2019;d happily hire 1-2 more people in Finna in Sales and Engineering. We are shipping 3 new products this fall and I&#x2019;m looking to increase the average IQ in the company, hit me up on <a href="https://www.linkedin.com/in/hamedmohammadpour/?ref=hamedmp.com" rel="noreferrer">LinkedIn</a> or <a href="https://x.com/thehamedmp?ref=hamedmp.com" rel="noreferrer">X</a>, if you want to be in the frontline of Gen AI SaaS in Enterprise.</p><p>Let&apos;s mine some Gen AI power, shall we?</p>]]></content:encoded></item><item><title><![CDATA[Shopping LLMs around]]></title><description><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Hot take: I wouldn&apos;t want to be an LLM provider rn.</div></div><p>1 year ago all investors were saying that if you&apos;re not low on the AI stack, you don&apos;t have defensibility, and right on top of the Hardware (i.e. Nvidia), there are</p>]]></description><link>https://hamedmp.com/shopping-llms-around/</link><guid isPermaLink="false">66b81e384ddb7601423388fa</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 02:24:06 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1720998745949-9ca3b3c9f4f6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDE2fHxzaG9wcGluZyUyMG1hbGx8ZW58MHx8fHwxNzIzMzQyNjkyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">Hot take: I wouldn&apos;t want to be an LLM provider rn.</div></div><img src="https://images.unsplash.com/photo-1720998745949-9ca3b3c9f4f6?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDE2fHxzaG9wcGluZyUyMG1hbGx8ZW58MHx8fHwxNzIzMzQyNjkyfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Shopping LLMs around"><p>1 year ago all investors were saying that if you&apos;re not low on the AI stack, you don&apos;t have defensibility, and right on top of the Hardware (i.e. Nvidia), there are LLM and Foundational Models. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp" class="kg-image" alt="Shopping LLMs around" loading="lazy" width="1280" height="922" srcset="https://hamedmp.com/content/images/size/w600/2024/08/GenAI-Stack.webp 600w, https://hamedmp.com/content/images/size/w1000/2024/08/GenAI-Stack.webp 1000w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 1280w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Took it from </span><a href="https://www.xenonstack.com/blog/generative-ai-tech-stack-breakdown?ref=hamedmp.com" rel="noreferrer"><span style="white-space: pre-wrap;">here</span></a></figcaption></figure><p>Fast forward, the competition is absolutely brutal, the prices are decreasing all the time, and as mentioned earlier, even <a href="https://hamedmp.com/openai-searchgpt-announcement/" rel="noreferrer">OAI doesn&apos;t have a strong moat</a> anymore (we&apos;ll see what they wanna do with GPT-X on Tue (2024-08-13))</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://hamedmp.com/content/images/2024/08/image.png" class="kg-image" alt="Shopping LLMs around" loading="lazy" width="1388" height="1098" srcset="https://hamedmp.com/content/images/size/w600/2024/08/image.png 600w, https://hamedmp.com/content/images/size/w1000/2024/08/image.png 1000w, https://hamedmp.com/content/images/2024/08/image.png 1388w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Source: </span><a href="https://github.com/iruletheworldmo/strawberry/blob/main/strawberry.py?ref=hamedmp.com"><span style="white-space: pre-wrap;">https://github.com/iruletheworldmo/strawberry/blob/main/strawberry.py</span></a></figcaption></figure><p><br>As an LLM user, I have no problem switching around (thanks to a few great dev tool providers like Vercel AI SDK and Cursor. A glimpse into the landscape:</p><figure class="kg-card kg-image-card"><img src="https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg" class="kg-image" alt="Shopping LLMs around" loading="lazy" width="1280" height="714" srcset="https://hamedmp.com/content/images/size/w600/2024/08/LLM-Providers-Image.jpeg 600w, https://hamedmp.com/content/images/size/w1000/2024/08/LLM-Providers-Image.jpeg 1000w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 1280w" sizes="(min-width: 720px) 720px"></figure><p><br>P.S. Hot take 2: Don&apos;t (always) listen to investors. No one really knows what will happen, least of all, myself.</p>]]></content:encoded></item><item><title><![CDATA[Bitcoin moment of GenAI]]></title><description><![CDATA[<p>Back in 2009, 1 Bitcoin was priced at $0.0009. <br>set up<br>If you were nerdy enough to set up mining for it and utilize it, you would earn a good amount of money now. <br><br>Today we live in 2009 of GenAI, from an opportunity perspective (not the hype). <br><br>If</p>]]></description><link>https://hamedmp.com/bitcoin-moment-of-genai/</link><guid isPermaLink="false">66b81c784ddb7601423388cb</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 02:12:49 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1644361566696-3d442b5b482a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fGJpdGNvaW58ZW58MHx8fHwxNzIzMzI1MjA0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1644361566696-3d442b5b482a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fGJpdGNvaW58ZW58MHx8fHwxNzIzMzI1MjA0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Bitcoin moment of GenAI"><p>Back in 2009, 1 Bitcoin was priced at $0.0009. <br>set up<br>If you were nerdy enough to set up mining for it and utilize it, you would earn a good amount of money now. <br><br>Today we live in 2009 of GenAI, from an opportunity perspective (not the hype). <br><br>If you can leverage this technology now to 10x some processes, you will mine gold at $0.0009 that will be worth 100s of thousands of dollars in 2-3 years. <br><br>Just saying. Back to building now!</p>
<!--kg-card-begin: html-->
<iframe src="https://giphy.com/embed/Oi828RLQzjSxS8m4q3" width="480" height="269" style frameborder="0" class="giphy-embed" allowfullscreen></iframe><p><a href="https://giphy.com/gifs/SuccessionHBO-hbo-max-succession-Oi828RLQzjSxS8m4q3?ref=hamedmp.com"></a></p>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[AI and future of jobs, part 1/n]]></title><description><![CDATA[<p>Someone wrote on X this <a href="https://x.com/Prathkum/status/1818340535633055938?ref=hamedmp.com" rel="noreferrer">post</a>:</p><blockquote>I have been hearing this same line since 2020.<br><br>ChatGPT released &#x2013; it will take our jobs.<br><br>DALL&#x2022;E released &#x2013; it will take our jobs.<br><br>Midjourney released &#x2013; it will take our jobs.<br><br>GPT-4 released &#x2013; it will take our jobs.<br><br>Bard</blockquote>]]></description><link>https://hamedmp.com/untitled/</link><guid isPermaLink="false">66aab3344ddb76014233887f</guid><category><![CDATA[AI]]></category><category><![CDATA[Future]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Wed, 31 Jul 2024 22:08:38 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1504384308090-c894fdcc538d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDUzfHxmdXR1cmUlMjB3b3JrfGVufDB8fHx8MTcyMjQ2MzE2MHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1504384308090-c894fdcc538d?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDUzfHxmdXR1cmUlMjB3b3JrfGVufDB8fHx8MTcyMjQ2MzE2MHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="AI and future of jobs, part 1/n"><p>Someone wrote on X this <a href="https://x.com/Prathkum/status/1818340535633055938?ref=hamedmp.com" rel="noreferrer">post</a>:</p><blockquote>I have been hearing this same line since 2020.<br><br>ChatGPT released &#x2013; it will take our jobs.<br><br>DALL&#x2022;E released &#x2013; it will take our jobs.<br><br>Midjourney released &#x2013; it will take our jobs.<br><br>GPT-4 released &#x2013; it will take our jobs.<br><br>Bard released &#x2013; it will take our jobs.<br><br>Sora released &#x2013; it will take our jobs.<br><br>Devin released &#x2013; it will take our jobs.<br><br>GPT-4o released &#x2013; it will take our jobs.<br><br>Llama 3.1 released &#x2013; it will take our jobs.<br><br>No AI will take our jobs. It will make us highly productive.<br><br>That&#x2019;s it.</blockquote><p>Interesting point of view, not saying it is right or wrong but my observations are:</p><ul><li>from personal experience, my productivity went so high that I won&#x2019;t need many extra employees anymore. I am hiring less. I think at some point people will start to fire, and since others are also hiring less, I think the jobs are being taken, but it takes time until it&#x2019;s in the news<br><br>Only this month, I wrote around 15,000 lines of code, as a non-technical (okay, semi-technical) founder.</li></ul><figure class="kg-card kg-image-card"><img src="https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png" class="kg-image" alt="AI and future of jobs, part 1/n" loading="lazy" width="1200" height="1140" srcset="https://hamedmp.com/content/images/size/w600/2024/07/HamedMP-repos--1-.png 600w, https://hamedmp.com/content/images/size/w1000/2024/07/HamedMP-repos--1-.png 1000w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 1200w" sizes="(min-width: 720px) 720px"></figure><ul><li>even if it&#x2019;s completely fine right now, there is a trend worth preparing for. As an analogy, It&#x2019;s like two nations who are at the cusp of a war. The war rarely happens overnight. There is preparation, planning, series of events,&#x2026; just because there are no fires over our heads and our house is not ruined, doesn&#x2019;t mean we shouldn&#x2019;t prepare basic food, and think about what we will do if it happens. (As an analogy it might be extreme but take it only as a metaphor)</li></ul><p>Some of my friends said that this is very pessimistic, but I don&apos;t see preparing for potential future scenarios as pessimistic but logical. </p><p>One of the examples of changes coming sooner or later: </p><figure class="kg-card kg-embed-card"><blockquote class="twitter-tweet"><p lang="en" dir="ltr">I laid off entire sales &amp; marketing department of my enterprise SaaS a year ago.<br><br>My goal was to fully automate their work with AI and switch into organic and inbound traffic. They didn&#x2019;t believe it was possible and didn&#x2019;t wanna make it happen.<br><br>12 months later we have more&#x2026;</p>&#x2014; John Rush (@johnrushx) <a href="https://twitter.com/johnrushx/status/1816235515768668213?ref_src=twsrc%5Etfw&amp;ref=hamedmp.com">July 24, 2024</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></figure><p>Only time will say is AI the new calculator and computer, or it&apos;s a bit more impactful. </p><p>But until then, this is the question I ask occasionally when meeting with my friends:</p><blockquote>I don&apos;t know if I wasn&apos;t building my company, how I would future proof myself. If I start tomorrow, what I need to learn/build/do to be resilient to the AI and automation? </blockquote><p>Sadly enough, even though I heard some good answers, nothing convinced me yet. Any ideas? Tell me in the comments or reach out to me on LinkedIn/X <a href="https://x.com/thehamedmp?ref=hamedmp.com" rel="noreferrer">@thehamedmp</a>. </p>]]></content:encoded></item><item><title><![CDATA[OpenAI going wider - Thoughts after SearchGPT announcement]]></title><description><![CDATA[Any business without a moat will eventually get eaten. Now, OpenAI is "trying" to eat Perplexity (and similar companies). But the interesting fact is that OpenAI itself doesn't (yet) have a moat, which explains why they seem to be scrambling to find one.]]></description><link>https://hamedmp.com/openai-searchgpt-announcement/</link><guid isPermaLink="false">66a735b24ddb76014233884a</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Thu, 25 Jul 2024 21:29:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1712002640986-bf0c9452ad9e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIyfHxvcGVuYWl8ZW58MHx8fHwxNzIyMjM0NDk0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1712002640986-bf0c9452ad9e?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIyfHxvcGVuYWl8ZW58MHx8fHwxNzIyMjM0NDk0fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="OpenAI going wider - Thoughts after SearchGPT announcement"><p>I&apos;m surprised that some people are surprised about this. To me, it seems obvious. It would&apos;ve been very hard for OpenAI <em>not</em> to make this move. According to <a href="https://www.theinformation.com/articles/openais-annualized-revenue-doubles-to-3-4-billion-since-late-2023?ref=hamedmp.com" rel="noreferrer">The Information</a>, the majority of OpenAI&apos;s revenue is coming from B2C. On the other hand, Google still derives most of its revenue from Search Ads. Now, imagine you&apos;re OpenAI:</p><ol><li>You have one of the top-performing models, with companies like Perplexity building on top of your technology and growing in popularity, challenging Google.</li><li>You have access to vast amounts of data through your crawlers.</li></ol><p>Adding a search function with potential new revenue streams&#x2014;not only from pro features like Perplexity but also from ad revenues in search terms&#x2014;is an obvious, if somewhat delayed, move on OpenAI&apos;s part. The ability to target intent rather than just keywords makes this particularly valuable.</p><p>What&apos;s important to note, however, is this delay. It&apos;s also clear that OpenAI is under stress, being pressured from all sides by competitors like Anthropic and even open-weight models like the Llama series. They announced GPT-4&apos;s voice version almost two months ago, but it&apos;s still in closed beta. Another beta? Sora has yet to see the light of day, and every week a new video generation tool is coming out from both the West and East.</p><p>Any business without a moat will eventually get eaten. Now, OpenAI is &quot;trying&quot; to eat Perplexity (and similar companies). But the interesting fact is that OpenAI itself doesn&apos;t (yet) have a moat, which explains why they seem to be scrambling to find one.</p>]]></content:encoded></item><item><title><![CDATA[AI CTOs vs AGI]]></title><description><![CDATA[<p>With the Llama 3.1 release, here&#x2019;s an unpopular opinion focused on Coding Agents / Junior AI Engineers</p><p>In 6 months:</p><p>There will be plenty of Devin/Open Devin providers for simple junior level dev tasks (rather obvious) and they will be commodified.</p><p>But the real gold will be</p>]]></description><link>https://hamedmp.com/ai-ctos-vs-agi/</link><guid isPermaLink="false">66a02a1e4ddb760142338826</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 23 Jul 2024 22:17:28 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1709547228697-fa1f424a3f39?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM2fHxUZWNoJTIwYW5pbWFsfGVufDB8fHx8MTcyMTc3MzAwNnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1709547228697-fa1f424a3f39?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM2fHxUZWNoJTIwYW5pbWFsfGVufDB8fHx8MTcyMTc3MzAwNnww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="AI CTOs vs AGI"><p>With the Llama 3.1 release, here&#x2019;s an unpopular opinion focused on Coding Agents / Junior AI Engineers</p><p>In 6 months:</p><p>There will be plenty of Devin/Open Devin providers for simple junior level dev tasks (rather obvious) and they will be commodified.</p><p>But the real gold will be in:</p><p>Developing a system that can replace senior software engineers / architects.</p><p>Why?</p><ul><li>we have models that are getting better and better at coding small scope software/functions replacing the majority of junior/mediocre engineers</li><li>what will be in more demand that has a limited supply already is Senior/Staff level people. Junior devs will need years to get that experience and LLM prompting will not make them senior.</li></ul><p>So we will have a lot of non-human and human (to be extinct) junior engineers, but no one with enough high level technical expertise to manage them.</p><p>And I believe developing Junior engineers is not the way to get to Senior level engineers (it doesn&#x2019;t need to evolve like humans, first Junior and after 500,000 commits, they will be Senior) to manage other Junior devs</p><p>By managing I mean:</p><ul><li>know what tech stack to use for the given task</li><li>how to do plan big refactors for the codebase</li><li>how to plan which bugs to fix first</li><li>when to move to a new provider from a subsystem/library and how to assess new libraries/providers</li><li>and many other IC (individual contributor) type of tasks for super senior engineers.</li></ul><p>All these Devins and LLM Engineers will be commodity. Build a single Senior Software Engineer that can be the CTO of a startup (without having to manage the engineers, just technical side) and you are the next NVIDIA (imo)</p><p>Though the biggest challenges in this way, as far as I see rn are:</p><ol><li>There is little data on what tech stack combination is great for which use cases and what are the pitfalls,&#x2026; of a library for a given task (and if there&#x2019;s such a data it&#x2019;s outdated. Postgres 6 might not be good for something but v8 is good or a newer version that just released and from documentation a senior engineer will know why it is a fit/unfit for the task)</li><li>This an AGI level task. We need to make systems to decide what to do on unseen scenarios and utilize an army of junior engineers. The amount of context needed is huge and there is almost only one training case, the company itself, and AI needs to come up with how to make it a success.</li></ol><p>Then question is, can we have AI CTOs before AGI?</p><p>Maybe, maybe not</p>]]></content:encoded></item><item><title><![CDATA[How AI can help with choosing your political party? Introducing VOTR]]></title><description><![CDATA[<p>Last week I posted on LinkedIn (and reposted <a href="https://hamedmp.com/how-should-i-choose-the-party-person-to-vote-for-in-the-upcoming-eu-election/" rel="noreferrer">here</a>) on how to choose the party to vote for the EU Elections. I&apos;ve done Election Compasses (Val Kompass) and they weren&apos;t very helpful.</p><p>The best advice I got was to focus on causes you care about. </p><p>That&</p>]]></description><link>https://hamedmp.com/how-ai-can-help-with-choosing-your-political-party-introducing-votr/</link><guid isPermaLink="false">6665a81e4ddb7601423387f5</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 09 Jun 2024 13:08:12 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg" alt="How AI can help with choosing your political party? Introducing VOTR"><p>Last week I posted on LinkedIn (and reposted <a href="https://hamedmp.com/how-should-i-choose-the-party-person-to-vote-for-in-the-upcoming-eu-election/" rel="noreferrer">here</a>) on how to choose the party to vote for the EU Elections. I&apos;ve done Election Compasses (Val Kompass) and they weren&apos;t very helpful.</p><p>The best advice I got was to focus on causes you care about. </p><p>That&apos;s great but it means I list my causes and search 8 major parties about them. So I decided to build a chatbot to do it for me. That&apos;s how I ended up building VOTR. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://votr.se/?ref=hamedmp.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">VOTR</div><div class="kg-bookmark-description">J&#xE4;mf&#xF6;r partiers politik och se vad som &#xE4;r b&#xE4;st f&#xF6;r dig och EU.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://votr.se/favicon.ico" alt="How AI can help with choosing your political party? Introducing VOTR"><span class="kg-bookmark-author">VOTR</span><span class="kg-bookmark-publisher">VOTR</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://votr.se/og-image.png" alt="How AI can help with choosing your political party? Introducing VOTR"></div></a></figure><p>Here&apos;s a quick demo of it: </p><figure class="kg-card kg-embed-card"><iframe width="200" height="150" src="https://www.youtube.com/embed/IRymwK1DWPg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Introducing VOTR, an AI chatbot to analyse Swedish parties in the EU election"></iframe></figure>]]></content:encoded></item><item><title><![CDATA[How should I choose the party/person to vote for in the upcoming 🇪🇺 EU election?]]></title><description><![CDATA[At the moment, we vote the same way as we choose which movie to watch in the late evening. We watch some trailers (mottos), check the genres (left/center/right), and, depending on our mood, choose one. So how we should choose?]]></description><link>https://hamedmp.com/how-should-i-choose-the-party-person-to-vote-for-in-the-upcoming-eu-election/</link><guid isPermaLink="false">665c76f14ddb7601423387d7</guid><category><![CDATA[EU]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 02 Jun 2024 13:46:42 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif" alt="How should I choose the party/person to vote for in the upcoming &#x1F1EA;&#x1F1FA; EU election?"><p>Personal question: How should I choose the party/person to vote for in the upcoming &#x1F1EA;&#x1F1FA; EU election? </p><p>As someone who&#x2019;s been living for 9 years in the EU, I like to use my first opportunity to vote smart. I always posted about professional and career topics, but this time, given how powerful EU&#x2019;s regulations are, from GDPR, DSA, and recently the AI Act, and how extreme policies some parties are discussing, not to mention the life-changing EU scholarship (<a href="https://www.linkedin.com/company/european-institute-of-innovation-and-technology---eit/?ref=hamedmp.com">EIT - European Institute of Innovation and Technology</a>) that I received to study in top universities, I&#x2019;d like to choose my vote in a calculated way. </p><p>This is not special for Sweden or even the EU. I wonder, as someone who is living in the digital age of 2024, with unlimited information access, is there a guide to choose who to vote for rationally? (I wish <a href="https://www.linkedin.com/in/ACoAAAZyLSEBSQzCF9bHpBa8leGUnrcaRPbuD9Q?ref=hamedmp.com"></a><a href="https://www.linkedin.com/in/tim-urban-56927430/?ref=hamedmp.com">Tim Urban</a> writing a piece on this, after the &quot;What is our problem&quot; book). </p><p>At the moment, we vote the same way as we choose which movie to watch in the late evening. We watch some trailers (mottos), check the genres (left/center/right), and, depending on our mood, choose one. </p><p>Luckily in Sweden, we have an Election Compass (Valkompas) where you can answer a list of questions and see what each party is thinking for every question. While this is very helpful, I see these main issues with it:</p><p>1&#xFE0F;&#x20E3; You rarely fully agree with any party, so you get a list of matching of 70% Party A, 65% Party B, &#x2026; on different topics. So you still need to choose. </p><p>2&#xFE0F;&#x20E3; Choosing answers to the questions is not always easy. While you can see arguments for the party&#x2019;s choice on each question, it&#x2019;s not enough to form an opinion. </p><p>3&#xFE0F;&#x20E3; There should be much more than just 20-25 questions that identify a party (otherwise I won&#x2019;t be surprised if we replace politicians with Agents &#x1FAE2;)</p><p>Now&#xA0;I feel I need a QuickStart guide for what each party is envisioning for Sweden and the EU. Going over the websites of major parties only resulted in a list of mottos that I already saw on the street. As someone with slightly &#x201C;fresh eyes&#x201D;, how should I do due diligence with the parties and the promises they are making?&#xA0;What resources are available to read and learn about the parties (like their manifesto or similar)?</p><hr><p>Repost from a LinkedIn post as I want to explore this topic more in upcoming posts.</p>]]></content:encoded></item><item><title><![CDATA[The Sudoku of Life — Stunning similarities between a puzzle game and our human lives]]></title><description><![CDATA[Surprising similarities between a puzzle game and our lives. ]]></description><link>https://hamedmp.com/the-sudoku-of-life-stunning-similarities-between-a-puzzle-game-and-our-human-lives/</link><guid isPermaLink="false">663d71234ddb7601423385d6</guid><category><![CDATA[Philosophizing]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Wed, 15 May 2024 22:33:09 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg" alt="The Sudoku of Life &#x2014; Stunning similarities between a puzzle game and our human lives"><p>From the time I was introduced to the Sudoku table in a math class at elementary school, I found it intriguing. How it&#x2019;s possible to generate so many different puzzles, all satisfying the condition of having unique digits in all rows, columns, and small 3x3 squares?</p><h2 id="number-of-cells">Number of Cells<br></h2><blockquote>81 cells, representing an average life expectancy of <em>81 years</em>.</blockquote><p>As if we are filling a cell each year we are getting older, having more ideas of where we are heading overall. But just like a real puzzle, we might end up making a mistake, writing a 7 where it is supposed to be a 3, and continuing the puzzle with that information for 1&#x2013;2 more rounds (years). But at some point we will realize that something is wrong, this formation can&#x2019;t be true and we need to find the mistake. Most of the time it will be obvious but it may be trickier to find it sometimes.</p><p>And what do we do in this case? We simply take the eraser, changing that (unlucky) 7 to the 3, where it has always belonged (at least in this puzzle, in this life).</p><p>And it&#x2019;s quite common to make mistakes if it&#x2019;s the first time playing a very difficult puzzle. The only way we get better and better is by starting from simpler puzzles and gradually increasing the levels, and still, we might make mistakes. <br>But in real life, we don&#x2019;t have that opportunity to start from an easy life and make it harder as we go. And that&#x2019;s why making mistakes is part of life.</p><p>We might spend some years in a college and degree we don&#x2019;t like, in work we are not valued or in relationships, we are not satisfied, and in many more situations, we feel we made a mistake. <br>Looking from the lens of the puzzle, but not having a chance to practice before playing the real game, these mistakes are the way we train ourselves. We discover rules and principles in the game, so later in the game (or life) we can use them so won&#x2019;t make the same mistake again, if we were conscious enough to learn it in the first place.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg" class="kg-image" alt="The Sudoku of Life &#x2014; Stunning similarities between a puzzle game and our human lives" loading="lazy" width="800" height="533" srcset="https://hamedmp.com/content/images/size/w600/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 600w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 800w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Image by </span><a href="https://pixabay.com/users/franzl34-594177/?ref=hamedmp.com" target="_blank" rel="noopener"><span style="white-space: pre-wrap;">Fred&#xA0;Lehmann&#xA0;</span></a></figcaption></figure><h2 id="number-of-unique-puzzles">Number of Unique Puzzles</h2><blockquote>The total number of unique puzzles: <strong>~5 billion</strong>, a close number to earth&#x2019;s population.</blockquote><p>These are cool and close to actual numbers but the actual resemblance lies deep inside each puzzle combination.</p><h2 id="number-of-clues">Number of Clues</h2><p>The numbers that are pre-filled in the grid are called &#x201C;clues&#x201D; and it&#x2019;s been proven recently that the numbers are clues should be <strong>at least 17 </strong>for the puzzle to have a unique solution.</p><p>And to what we can connect this in real life? How about adolescence and starting to get a clue about the real world, who we are, and what we would like to do with our lives?</p><p>We can also count each of the privileges an individual has to a clue in the Sudoku of life. For example, being born into a rich family, or even simpler things we overlook like having access to clean water, clean hygiene, free access to the internet, the list goes on and on.</p><p>Why make this connection even though the number of these clues is much bigger than 80 clues we can have? (if we have 81, then the puzzle is solved, they can&#x2019;t be called clues). This is not an issue as there isn&#x2019;t a one-to-one relationship between a privilege and a clue. There might be a set of features, for example, related to the health of an individual that is counted as 1 clue.</p><h2 id="why-this-is-important">Why this is important? </h2><p>Because the difficulty of the puzzle is directly linked to the number and distribution of these clues. And that is linked to the different perceived levels of difficulty for each individual&apos;s life journey.</p><h2 id="the-solving-process-life-in-progress">The Solving Process: Life in Progress</h2><p>Just like in Sudoku, we often start life with incomplete information. We have a few &quot;clues&quot; &#x2013; maybe our talents, our family background, or our early experiences. But the rest? We have to figure it out as we go.</p><p>Sometimes we get stuck. We stare at the same problem, hoping for inspiration. In Sudoku, it might be that tricky 3x3 square. In life? Maybe it&apos;s a job we can&apos;t seem to land or a relationship that&apos;s not working out.</p><p>The key is to zoom out. Look at the whole board. Try a different approach.</p><p>And mistakes? They&apos;re part of the game. In Sudoku, a wrong number can mess up the whole grid. Life can feel the same way sometimes. But here&apos;s the thing &#x2013; we learn from those mistakes. We get better at spotting patterns, at making decisions. Just make sure to know which numbers should be written with pencil and which ones to be written with a pen (<a href="https://fs.blog/reversible-irreversible-decisions/?ref=hamedmp.com" rel="noreferrer">reversible vs irreversible decisions</a>).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://images.unsplash.com/photo-1597754255094-6f952470f88a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIwfHxwZW4lMjB8ZW58MHx8fHwxNzE5NDM5NzU5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" class="kg-image" alt="The Sudoku of Life &#x2014; Stunning similarities between a puzzle game and our human lives" loading="lazy" width="3563" height="5344" srcset="https://images.unsplash.com/photo-1597754255094-6f952470f88a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIwfHxwZW4lMjB8ZW58MHx8fHwxNzE5NDM5NzU5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=600 600w, https://images.unsplash.com/photo-1597754255094-6f952470f88a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIwfHxwZW4lMjB8ZW58MHx8fHwxNzE5NDM5NzU5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1000 1000w, https://images.unsplash.com/photo-1597754255094-6f952470f88a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIwfHxwZW4lMjB8ZW58MHx8fHwxNzE5NDM5NzU5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=1600 1600w, https://images.unsplash.com/photo-1597754255094-6f952470f88a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDIwfHxwZW4lMjB8ZW58MHx8fHwxNzE5NDM5NzU5fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2400 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Photo by </span><a href="https://unsplash.com/@klim11?ref=hamedmp.com"><span style="white-space: pre-wrap;">Klim Musalimov</span></a><span style="white-space: pre-wrap;"> / </span><a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"><span style="white-space: pre-wrap;">Unsplash</span></a></figcaption></figure><h2 id="the-bigger-picture">The Bigger Picture</h2><p>As we fill in more cells, things start to make sense. What seemed random before now forms a pattern. That&apos;s life, isn&apos;t it? Experiences that seemed disconnected suddenly clicked into place.</p><p>And just like every Sudoku puzzle has a unique solution, every life has its own unique path. There&apos;s no one-size-fits-all approach. We each have to figure out our own solution, one cell at a time.</p><h2 id="embracing-the-puzzle">Embracing the Puzzle</h2><p>So next time life feels like an unsolvable puzzle, remember this: You&apos;re the player. You&apos;ve got the pencil (and the eraser). Take a deep breath. Look at the bigger picture. Trust yourself to find the solution.</p><p>After all, like in Sudoku, the answer is already there. It&apos;s just waiting for you to discover it.</p><p>And isn&apos;t that the beauty of it all? The challenge, the process, the gradual revelation. That&apos;s what makes both Sudoku and life worth playing.</p>]]></content:encoded></item><item><title><![CDATA[Disable file previews in Obsidian]]></title><description><![CDATA[I recently started adding files to Obsidian, automatically showing them in PDF Viewer in Preview mode. But using normal markdown links might be better.]]></description><link>https://hamedmp.com/disable-file-previews-in-obsidian/</link><guid isPermaLink="false">664154214ddb76014233869b</guid><category><![CDATA[Obsidian Tips]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 12 May 2024 23:59:52 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/05/obsidian-banner.png" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/05/obsidian-banner.png" alt="Disable file previews in Obsidian"><p>I love my Obsidian workspace, customized and ready to get going with my latest ideas and projects.</p><p>I recently started adding files to it (my Ironman 70.3 training plans, more on this later), and it automatically shows them in PDF Viewer in Preview mode, as specified in the <a href="https://help.obsidian.md/Linking+notes+and+files/Embed+files?ref=hamedmp.com#Embed+a+PDF+in+a+note" rel="noreferrer">documentation</a>. (I didn&apos;t know about the page number parameter and also the ability to set the height) as follow: </p><blockquote>To embed a PDF:</blockquote><pre><code class="language-md">![[Document.pdf]]
</code></pre><blockquote>You can also open a specific page in the PDF, by adding&#xA0;<code>#page=N</code>&#xA0;to the link destination, where&#xA0;<code>N</code>&#xA0;is the number of the page:</blockquote><pre><code class="language-md">![[Document.pdf#page=3]]
</code></pre><blockquote>You can also specify the height in pixels for the embedded PDF viewer, by adding&#xA0;<code>#height=[number]</code>&#xA0;to the link. For example:</blockquote><pre><code class="language-md">![[Document.pdf#height=400]]</code></pre><p>Which results in:</p><figure class="kg-card kg-image-card"><img src="https://hamedmp.com/content/images/2024/05/image.png" class="kg-image" alt="Disable file previews in Obsidian" loading="lazy" width="2000" height="909" srcset="https://hamedmp.com/content/images/size/w600/2024/05/image.png 600w, https://hamedmp.com/content/images/size/w1000/2024/05/image.png 1000w, https://hamedmp.com/content/images/size/w1600/2024/05/image.png 1600w, https://hamedmp.com/content/images/2024/05/image.png 2222w" sizes="(min-width: 720px) 720px"></figure><p>But I don&apos;t want to see the full preview on the note. What to do? </p><p>After a bit of searching, found <a href="https://forum.obsidian.md/t/disable-pdf-preview/49149?ref=hamedmp.com" rel="noreferrer">that</a> removing the initial <code>!</code> will only show the file name. Better! </p><figure class="kg-card kg-image-card"><img src="https://hamedmp.com/content/images/2024/05/image-1.png" class="kg-image" alt="Disable file previews in Obsidian" loading="lazy" width="748" height="168" srcset="https://hamedmp.com/content/images/size/w600/2024/05/image-1.png 600w, https://hamedmp.com/content/images/2024/05/image-1.png 748w" sizes="(min-width: 720px) 720px"></figure><p>What about customizing how it&apos;s shown? It was easier than I thought. You can just mention it as a normal link in the markdown <code>[]()</code> format with the correct path to the file. </p><figure class="kg-card kg-image-card"><img src="https://hamedmp.com/content/images/2024/05/image-5.png" class="kg-image" alt="Disable file previews in Obsidian" loading="lazy" width="1158" height="214" srcset="https://hamedmp.com/content/images/size/w600/2024/05/image-5.png 600w, https://hamedmp.com/content/images/size/w1000/2024/05/image-5.png 1000w, https://hamedmp.com/content/images/2024/05/image-5.png 1158w" sizes="(min-width: 720px) 720px"></figure><p>Clicking the link will open the PDF Preview (<code>Cmd+click</code> to open it in a new tab)  Amazing!  &#x1F389;</p>]]></content:encoded></item><item><title><![CDATA[Sort values in a Pandas DataFrame along all axis and get their index]]></title><description><![CDATA[There are no doubts about the power of Pandas and how useful it is in Data Science and Data analysis.]]></description><link>https://hamedmp.com/sort-values-in-a-pandas-dataframe-along-all-axis-and-get-their-index/</link><guid isPermaLink="false">663d71234ddb7601423385de</guid><category><![CDATA[Data Science]]></category><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 27 Feb 2018 13:46:28 GMT</pubDate><media:content url="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg" alt="Sort values in a Pandas DataFrame along all axis and get their index"><p>There are no doubts about the power of Pandas and how useful it is in Data Science and Data analysis.</p><p>I&#x2019;m using it extensively in my current internship project along with other libraries in this stack such as Scikit-learn and Numpy. I encountered lots of unique cases in the paper I&#x2019;m implementing and decided to share solutions and hacks for those cases so that everyone can utilize them and save their time. For today&#x2019;s topic, I will also explore the opportunities of submitting a pull request to be added as a feature.</p><p>For sorting all the values in the data frame, unlike <code>.sort_values()</code> method which requires a <code>by=</code> argument we will first <code>unstack</code> our data frame and sort values in the order we want (descending in this example). Moreover, we can get the indices of their appearance using <code>.index.values</code> method.</p>
<!--kg-card-begin: html-->
<script src="https://gist.github.com/HamedMP/1a821e3bec44e9fa92002794186e29f9.js"></script>
<!--kg-card-end: html-->
<p>For Jupyter notebook version of this code snippet, take a look at the following repository.</p>
<!--kg-card-begin: html-->
<figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/HamedMP/CodeSnippets/tree/master/pandas?ref=hamedmp.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">HamedMP/CodeSnippets</div><div class="kg-bookmark-description">CodeSnippets&#x200A;&#x2014;&#x200A;List of code snippets I found useful and usually arrived to them after spending around 5 to 50 Google&#x2026;</div><div class="kg-bookmark-metadata"></div></div><div class="kg-bookmark-thumbnail"><img src="https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg" alt="Sort values in a Pandas DataFrame along all axis and get their index"></div></a></figure>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions]]></title><description><![CDATA[Recently I gave some tips for one of my hardworking and skillful friend on how to find a job in Europe/US. Although I have little if any…]]></description><link>https://hamedmp.com/guide-on-how-to-apply-for-engineering-positions-in-europe-us-for-newbies-interesting-positions/</link><guid isPermaLink="false">663d71234ddb7601423385dd</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 07 May 2017 00:00:00 GMT</pubDate><media:content url="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions"><p>Recently I gave some tips for one of my hardworking and skillful friend on how to find a job in Europe/US. Although I have little if any practical experience in this field, but by living here and being in the ecosystem, seeing how my friends are applying and getting jobs to give me more hints on how to do it correctly.</p><blockquote><strong><em>Note: I will maintain interesting jobs at the end of this posts and update them frequently. Don&#x2019;t forget to have a look here if you are looking for a position.</em></strong></blockquote><p>To summarize the following is your tools for getting a job:</p><ul><li>CV of max 2 pages.</li><li>Well-grounded GitHub repositories</li><li>Good Stackoverflow contributions (recommended)</li><li>Personal blog (Programming and to some extent personal life-related stuff) (recommended)</li></ul><hr><p>Now I&#x2019;ll dig a bit each of them and what should you do for each one:</p><h4 id="cv"><strong>CV</strong></h4><p>I don&#x2019;t want to explain a lot here. Just keep it simple and minimal. There are tons of materials and templates out there. Just keep in mind to include the projects you have worked on, one line description for each one and how you helped that project, your skillset, and link to your blog, GitHub and StackOverflow.</p><h4 id="github-account"><strong>Github account</strong></h4><figure class="kg-card kg-image-card"><img src="https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png" class="kg-image" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" loading="lazy" width="800" height="170"></figure><p>This is the most important part in your portfolio and building a great GitHub account will take time, so be patient.</p><ul><li>Include any open source project you have or work on. Translation: If you don&#x2019;t have any, start one :)</li><li>Build a library around the area you are working on. A library that you wish it was there or has better features than others. For example, I created <a href="https://github.com/HamedMP/ImageFlow?ref=hamedmp.com" rel="noopener">Imageflow</a> a simple wrapper for reading images for <a href="https://tensorflow.org/?ref=hamedmp.com" rel="noopener">Tensorflow</a>. Although currently in hibernate mode I did it more than 1 year ago because reading images in Tensoflow really sucks and you can validate the problem by a number of stars in the GitHub repo.</li><li>If you don&#x2019;t have any idea about for a library, don&#x2019;t panic, you can still contribute to your favorite libraries by scrolling through their issues and find an issue you can solve. After that you clone the repo, fix the issue and create a pull request. Even if you can&#x2019;t fix the issue alone by yourself you can still participate in the comments, express your solutions and learn more about the deep architecture of the library.</li></ul><h4 id="stackoverflow"><strong>StackOverflow</strong></h4><figure class="kg-card kg-image-card"><img src="https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png" class="kg-image" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" loading="lazy" width="800" height="369"></figure><p>Almost the same comments for GitHub and GitHub issues. Search for tags of your favorite library and try helping other developers. Mostly target for unanswered questions but you may have a better solution than someone else, so propose it there. My answer for a question around <a href="http://stackoverflow.com/questions/23337802/ad-size-and-ad-unit-id-must-be-set-before-loadad-is-called/23980933?ref=hamedmp.com#23980933" rel="noopener">Google Ads on Android</a> got me a few thousands of reputations and a few dozen badges. The same for few Tensorflow questions, resulted in me being in the top 5% of developers in Android and Tensorflow.</p><blockquote><strong>Pro tip 1:</strong> Stackoverflow also is a good source of ideas for creating libraries I mentioned in Github point, for finding pain in the ass of the developers and solving them.</blockquote><blockquote><strong>Pro tip 2:</strong> After implementing your library, you can promote it by pasting some code-snippets and link to your library&#x2019;s repo, so you got more visitors.</blockquote><h4 id="personal-blog"><strong>Personal Blog</strong></h4><figure class="kg-card kg-image-card"><img src="https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png" class="kg-image" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" loading="lazy" width="800" height="112"></figure><p>This is exactly what I&#x2019;m doing now in this page (and what I used to do before on <a href="https://hamedmp.com/author/hamedmp/">medium</a>)). All of us know programming is about &#x201C;debugging&#x201D; and part of it is just &#x201C;googling&#x201D;. When you google your problem you either find a blog post around it, a GitHub repo or last but not least Stackoverflow questions with hopefully good answers. So if we are learning to program this way, we should consider giving back to the community by these 3 types. But the limits are looser for blogs. It shouldn&#x2019;t be just about hardcore engineering topics. (Like my <a href="http://colah.github.io/?ref=hamedmp.com" rel="noopener">favorite blog</a> or my <a href="https://hamedmp.com/exporting-trained-tensorflow-models-to-c-the-right-way/" rel="noopener">post about exporting tensorflow models to c++</a> which got more than 13K visitors). Part of the recruiting process is trying to know you and it&#x2019;s better to put some bits of your personal life, like the books you are reading, your hobbies in your free time (e.g. I wrote about <a href="https://hamedmp.com/what-i-learnt-by-training-for-marathon/" rel="noopener">my half-marathon experience</a>).</p><p>I will post more about how to prepare for interviews, how you can improve your portfolio with freelancing (while earning money too) and how to plan your startup job hunting process.</p><hr><h3 id="open-positions">Open Positions</h3><p>Now the list of interesting open positions I see here and there:</p><ul><li><a href="https://news.ycombinator.com/jobs?ref=hamedmp.com" rel="noopener">Hacker news jobs</a> <br> If you believe in yourself, here&#x2019;s the list of most challenging and most rewarding positions in the world which can make you wealthier than most of the founders themselves.</li><li><a href="https://angel.co/jobs?ref=hamedmp.com" rel="noopener">Angel.co jobs</a> <br> Another good place with lots of filtering options like role, location, visa sponsorship, &#x2026;</li><li><a href="https://blog.serenacapital.com/147-awesome-jobs-at-serena-capital-c06e62dfb3b4?ref=hamedmp.com" rel="noopener">Serena Capital portfolio companies </a>job list <br> A little bit old but a good list of positions, mostly in Paris. Still, you can check the companies for new positions.</li></ul><p>Companies that I love to work with because of their culture are:</p><ul><li><a href="https://www.spotifyjobs.com/search-jobs/?ref=hamedmp.com#category=software-engineering" rel="noopener">Spotify</a></li><li><a href="https://www.shopify.com/careers?ref=hamedmp.com" rel="noopener">Shopify</a></li></ul><h3 id="very-interesting-internship-offer-from-shopify">Very interesting Internship offer from Shopify</h3><figure class="kg-card kg-image-card"><img src="https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png" class="kg-image" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" loading="lazy" width="800" height="362"></figure><p>Yesterday I found this <a href="https://www.shopify.com/careers/developer-intern-fall-2017-af6eb8?ref=hamedmp.com" rel="noopener">internship position in different location form Shopify</a>. For applying, one step you need to do is to solve the challenges they posted <a href="https://docs.google.com/document/d/1PqR2Hc-aDpnYSXFWwQVKEZ03c8PV_iBZDcnfgUxp7Sk/edit?ref=hamedmp.com" rel="noopener">here</a>. I would apply myself if I wouldn&#x2019;t need to go to the 2nd year of my master. The deadline is May 10th, so hurry up!</p><hr><p><em>Originally published at </em><a href="https://hamedmp.com/2017/05/07/How_to_get_a_job_as_fullstask.html" rel="noopener"><em>hamedmp.com</em></a><em> on May 7, 2017.</em></p>]]></content:encoded></item></channel></rss>