<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Centroid of Outliers]]></title><description><![CDATA[hamed's personal thoughts, notes, and ideas]]></description><link>https://hamedmp.com</link><image><url>https://substackcdn.com/image/fetch/$s_!9H8-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F699250c2-2075-47ac-9233-c87e3863c2d3_853x853.png</url><title>Centroid of Outliers</title><link>https://hamedmp.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 16 Jun 2026 10:07:05 GMT</lastBuildDate><atom:link href="https://hamedmp.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Hamed Mohammadpour]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hamedmp@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[hamedmp@substack.com]]></itunes:email><itunes:name><![CDATA[Hamed Mohammadpour]]></itunes:name></itunes:owner><itunes:author><![CDATA[Hamed Mohammadpour]]></itunes:author><googleplay:owner><![CDATA[hamedmp@substack.com]]></googleplay:owner><googleplay:email><![CDATA[hamedmp@substack.com]]></googleplay:email><googleplay:author><![CDATA[Hamed Mohammadpour]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[A short history of ai coding]]></title><description><![CDATA[for me, seeing claude code &#8211; a cli tool, gaining so much popularity is interesting from a historical point of view:]]></description><link>https://hamedmp.com/p/a-short-history-of-ai-coding</link><guid isPermaLink="false">https://hamedmp.com/p/a-short-history-of-ai-coding</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 27 Jul 2025 15:42:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3626966e-f1e2-4e72-8741-54b5017fe7f2_2000x1461.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EOaI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EOaI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EOaI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A short history of ai coding&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A short history of ai coding" title="A short history of ai coding" srcset="https://substackcdn.com/image/fetch/$s_!EOaI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EOaI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8fd31-44db-4325-b1bc-06244445547f_2000x1461.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>for me, seeing claude code &#8211; 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><p>github copilot</p></li><li><p>chatgpt</p></li><li><p>gpt engineer</p></li><li><p>cursor</p></li><li><p>cursor-clones</p></li><li><p>claude code</p></li><li><p>???</p></li></ol><p>the ones that stand out from the list imo are:</p><ul><li><p>chatgpt: the interface for people to test the limits</p></li><li><p>cursor: the 100x better ux compared to copilot or copy/pasting from llm chat interfaces</p></li></ul><p>on the models side, we have:</p><ul><li><p>gpt 3.5 (implicitly through chatgpt)</p></li><li><p>gpt 4.0: improvement in coding + co-existence with cursor</p></li><li><p>claude 3.5: the 10x improvement compare to anything else in the market, huge driver for cursor/lovable/... any other vibe-coding tool</p></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>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>but like any ui and abstraction, it has it'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>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>i suddenly realized this while i was working on my "perfect ai engineering team", and thinking of what i need in my team.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nE0x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nE0x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nE0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg" width="2600" height="1676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1676,&quot;width&quot;:2600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A short history of ai coding&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A short history of ai coding" title="A short history of ai coding" srcset="https://substackcdn.com/image/fetch/$s_!nE0x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nE0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8088c0e-5499-405f-84d8-7caa2b191900_2600x1676.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>i'll share it when i'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[Last Fri, Finna participated and won the first place in Cillers AI Hackathon at Scrive &#129395;]]></description><link>https://hamedmp.com/p/the-ai-feature-that-helped-me-win-scrive-ai-hackathon</link><guid isPermaLink="false">https://hamedmp.com/p/the-ai-feature-that-helped-me-win-scrive-ai-hackathon</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Mon, 02 Sep 2024 07:28:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7af3f5f7-d795-4fbf-982f-1614c377b1c9_2000x1356.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5_Al!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5_Al!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 424w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 848w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5_Al!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The AI feature that helped me win the Scrive AI Hackathon&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI feature that helped me win the Scrive AI Hackathon" title="The AI feature that helped me win the Scrive AI Hackathon" srcset="https://substackcdn.com/image/fetch/$s_!5_Al!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 424w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 848w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!5_Al!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0b40bc-6a4b-4208-a2ca-9436fa0ebeb4_2000x1356.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>Last Fri, <a href="https://finna.ai/?ref=hamedmp.com">Finna</a> participated and won the first place in Cillers AI Hackathon at Scrive &#129395;</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><p>give me all Swedish contracts</p></li><li><p>documents I signed last week</p></li><li><p>deleted documents that are shared</p></li><li><p>expiring soon</p></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><p>The whole app from nextjs init command to the fully functioning version below took ~4 hours of active coding.</p></li><li><p>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).</p></li></ol><p>But even though I'm in the depth of AI and building multiple startups with it, I'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><div class="captioned-image-container"><figure><div id="youtube2-6drF-l0PoxY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6drF-l0PoxY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6drF-l0PoxY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>Thanks to the Cillers and Scrive team for organizing such a great hackathon.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZkiU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZkiU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 424w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 848w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 1272w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZkiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png" width="1792" height="1410" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1410,&quot;width&quot;:1792,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The AI feature that helped me win the Scrive AI Hackathon&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The AI feature that helped me win the Scrive AI Hackathon" title="The AI feature that helped me win the Scrive AI Hackathon" srcset="https://substackcdn.com/image/fetch/$s_!ZkiU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 424w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 848w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 1272w, https://substackcdn.com/image/fetch/$s_!ZkiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F224831ae-f94f-47d1-a196-98bce1cecba2_1792x1410.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Happy me with the prize</figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[Build a Landing Page in Minutes, No Code Needed - It's AI Magic! ✨]]></title><description><![CDATA[Have you ever dreamt of building a web app but got overwhelmed by the sheer amount of code?]]></description><link>https://hamedmp.com/p/cursor-tutorial-for</link><guid isPermaLink="false">https://hamedmp.com/p/cursor-tutorial-for</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 25 Aug 2024 21:20:49 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 424w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 848w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 1272w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Build a Landing Page in Minutes, No Code Needed - It's AI Magic! &#10024;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Build a Landing Page in Minutes, No Code Needed - It's AI Magic! &#10024;" title="Build a Landing Page in Minutes, No Code Needed - It's AI Magic! &#10024;" srcset="https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 424w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 848w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 1272w, https://hamedmp.com/content/images/2024/08/cursor-thumbnail.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><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'll show you how to create a slick landing page using AI tools in Cursor. No coding experience is required!</p><p>We'll go step-by-step, from brainstorming the app name to deploying the final product. You'll see how AI can help generate UI, write compelling copy, and even troubleshoot errors. It's like having a coding wizard by your side! &#129497;&#8205;&#9794;&#65039;</p><p>In the video, I will go over a 10-step guide on how to build the landing page:</p><ol><li><p>Download Cursor and sign up for a free account.</p></li><li><p>Choose a project name and specify that it&#8217;s a web application.</p></li><li><p>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.</p></li><li><p>Use the chat function in Cursor to brainstorm a name for the application.</p></li><li><p>Use Cursor to create a Next.js app.</p></li><li><p>Use the chat function again in Cursor to write a landing page copy that is optimized for conversion.</p></li><li><p>Use the composer function in Cursor to automatically apply the code for the landing page copy.</p></li><li><p>Preview the landing page in the browser.</p></li><li><p>Push the code to a GitHub repository.</p></li><li><p>Use Vercel to deploy the landing page.</p></li></ol><p>Enjoy and let me know your feedback and questions in the comments!</p><div class="captioned-image-container"><figure><div id="youtube2--YjFYGaJAjw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-YjFYGaJAjw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-YjFYGaJAjw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div>]]></content:encoded></item><item><title><![CDATA[What I should work on to be relevant in the future?]]></title><description><![CDATA[___ Hot weekend takes ___]]></description><link>https://hamedmp.com/p/what-i-should-work-on-to-be-relevant-in-future</link><guid isPermaLink="false">https://hamedmp.com/p/what-i-should-work-on-to-be-relevant-in-future</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 08:42:15 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>___ Hot weekend takes ___</h2><ol><li><p><a href="https://hamedmp.com/bitcoin-moment-of-genai/">We&#8217;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&#8217;ve made so much.</p></li><li><p>Unlike many (mainly investors) belief 12 months ago that <a href="https://hamedmp.com/shopping-llms-around/">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.</p></li></ol><a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What I should work on to be relevant in the future?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What I should work on to be relevant in the future?" title="What I should work on to be relevant in the future?" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>There are so many foundational model providers right now, and the competition on accuracy, developer tooling, and pricing is brutal.</p><div><hr></div><p>Many people ask me during Sales what model Finna is using and my answer has always been: "We are using a combination of models, every model has its strengths and weaknesses". So far we have these models used in different parts of our system:</p><ul><li><p>Cohere</p></li><li><p>Anthropic</p></li><li><p>OpenAI</p></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">Google'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? &#128071;&#127996;</p><h2>___ The weekend&#8217;s reflection ___</h2><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, &#8230;</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&#8217;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's published.</p><h2>Sign up for Centroid of Outliers</h2><p>Challenging assumptions and encourages new perspectives, one post at a time</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://hamedmp.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://hamedmp.com/subscribe?"><span>Subscribe</span></a></p><p>No spam. Unsubscribe anytime.</p><p>If you want to work more hands-on with Gen. AI, either:</p><ol><li><p>Learn how to build and use it for creating leverage (mine the currency of Gen AI) from people who&#8217;ve done it. YouTube and Blogs are also helpful sources.</p></li><li><p>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.</p></li></ol><p>That&#8217;s why I&#8217;m so excited about <strong><a href="https://finna.ai/?ref=hamedmp.com">Finna</a></strong>, 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&#8217;re an extraordinary achiever, hard-working, and can get things done no matter what, I&#8217;d happily hire 1-2 more people in Finna in Sales and Engineering. We are shipping 3 new products this fall and I&#8217;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">LinkedIn</a> or <a href="https://x.com/thehamedmp?ref=hamedmp.com">X</a>, if you want to be in the frontline of Gen AI SaaS in Enterprise.</p><p>Let's mine some Gen AI power, shall we?</p>]]></content:encoded></item><item><title><![CDATA[Shopping LLMs around]]></title><description><![CDATA[&#128161; Hot take: I wouldn't want to be an LLM provider rn.]]></description><link>https://hamedmp.com/p/shopping-llms-around</link><guid isPermaLink="false">https://hamedmp.com/p/shopping-llms-around</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 02:24:06 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128161;</p><p>Hot take: I wouldn't want to be an LLM provider rn.</p><a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Shopping LLMs around&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Shopping LLMs around" title="Shopping LLMs around" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>1 year ago all investors were saying that if you're not low on the AI stack, you don't have defensibility, and right on top of the Hardware (i.e. Nvidia), there are LLM and Foundational Models.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 424w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 848w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 1272w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp" width="1280" height="922" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:922,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Shopping LLMs around&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Shopping LLMs around" title="Shopping LLMs around" srcset="https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 424w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 848w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 1272w, https://hamedmp.com/content/images/2024/08/GenAI-Stack.webp 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Took it from <a href="https://www.xenonstack.com/blog/generative-ai-tech-stack-breakdown?ref=hamedmp.com">here</a></figcaption></figure></div><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/">OAI doesn't have a strong moat</a> anymore (we'll see what they wanna do with GPT-X on Tue (2024-08-13))</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/08/image.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/08/image.png 424w, https://hamedmp.com/content/images/2024/08/image.png 848w, https://hamedmp.com/content/images/2024/08/image.png 1272w, https://hamedmp.com/content/images/2024/08/image.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/08/image.png" width="1388" height="1098" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/08/image.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1098,&quot;width&quot;:1388,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Shopping LLMs around&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Shopping LLMs around" title="Shopping LLMs around" srcset="https://hamedmp.com/content/images/2024/08/image.png 424w, https://hamedmp.com/content/images/2024/08/image.png 848w, https://hamedmp.com/content/images/2024/08/image.png 1272w, https://hamedmp.com/content/images/2024/08/image.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://github.com/iruletheworldmo/strawberry/blob/main/strawberry.py?ref=hamedmp.com">https://github.com/iruletheworldmo/strawberry/blob/main/strawberry.py</a></figcaption></figure></div><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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 424w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 848w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 1272w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg" width="1280" height="714" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:714,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Shopping LLMs around&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Shopping LLMs around" title="Shopping LLMs around" srcset="https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 424w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 848w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 1272w, https://hamedmp.com/content/images/2024/08/LLM-Providers-Image.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>P.S. Hot take 2: Don'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[Back in 2009, 1 Bitcoin was priced at $0.0009.]]></description><link>https://hamedmp.com/p/bitcoin-moment-of-genai</link><guid isPermaLink="false">https://hamedmp.com/p/bitcoin-moment-of-genai</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 11 Aug 2024 02:12:49 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bitcoin moment of GenAI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bitcoin moment of GenAI" title="Bitcoin moment of GenAI" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><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>]]></content:encoded></item><item><title><![CDATA[AI and future of jobs, part 1/n]]></title><description><![CDATA[Someone wrote on X this post:]]></description><link>https://hamedmp.com/p/untitled</link><guid isPermaLink="false">https://hamedmp.com/p/untitled</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Wed, 31 Jul 2024 22:08:38 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI and future of jobs, part 1/n&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI and future of jobs, part 1/n" title="AI and future of jobs, part 1/n" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>Someone wrote on X this <a href="https://x.com/Prathkum/status/1818340535633055938?ref=hamedmp.com">post</a>:</p><blockquote><p>I have been hearing this same line since 2020.<br><br>ChatGPT released &#8211; it will take our jobs.<br><br>DALL&#8226;E released &#8211; it will take our jobs.<br><br>Midjourney released &#8211; it will take our jobs.<br><br>GPT-4 released &#8211; it will take our jobs.<br><br>Bard released &#8211; it will take our jobs.<br><br>Sora released &#8211; it will take our jobs.<br><br>Devin released &#8211; it will take our jobs.<br><br>GPT-4o released &#8211; it will take our jobs.<br><br>Llama 3.1 released &#8211; it will take our jobs.<br><br>No AI will take our jobs. It will make us highly productive.<br><br>That&#8217;s it.</p></blockquote><p>Interesting point of view, not saying it is right or wrong but my observations are:</p><ul><li><p>from personal experience, my productivity went so high that I won&#8217;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&#8217;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.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 424w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 848w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 1272w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png" width="1200" height="1140" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI and future of jobs, part 1/n&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI and future of jobs, part 1/n" title="AI and future of jobs, part 1/n" srcset="https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 424w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 848w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 1272w, https://hamedmp.com/content/images/2024/07/HamedMP-repos--1-.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>even if it&#8217;s completely fine right now, there is a trend worth preparing for. As an analogy, It&#8217;s like two nations who are at the cusp of a war. The war rarely happens overnight. There is preparation, planning, series of events,&#8230; just because there are no fires over our heads and our house is not ruined, doesn&#8217;t mean we shouldn&#8217;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)</p></li></ul><p>Some of my friends said that this is very pessimistic, but I don't see preparing for potential future scenarios as pessimistic but logical.</p><p>One of the examples of changes coming sooner or later:</p><div class="captioned-image-container"><figure><blockquote><p>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&#8217;t believe it was possible and didn&#8217;t wanna make it happen.<br><br>12 months later we have more&#8230;</p><p>&#8212; John Rush (@johnrushx) <a href="https://twitter.com/johnrushx/status/1816235515768668213?ref_src=twsrc%5Etfw&amp;ref=hamedmp.com">July 24, 2024</a></p></blockquote></figure></div><p>Only time will say is AI the new calculator and computer, or it's a bit more impactful.</p><p>But until then, this is the question I ask occasionally when meeting with my friends:</p><blockquote><p>I don't know if I wasn'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?</p></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">@thehamedmp</a>.</p>]]></content:encoded></item><item><title><![CDATA[OpenAI going wider - Thoughts after SearchGPT announcement]]></title><description><![CDATA[I'm surprised that some people are surprised about this.]]></description><link>https://hamedmp.com/p/openai-searchgpt-announcement</link><guid isPermaLink="false">https://hamedmp.com/p/openai-searchgpt-announcement</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Thu, 25 Jul 2024 21:29:00 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;OpenAI going wider - Thoughts after SearchGPT announcement&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenAI going wider - Thoughts after SearchGPT announcement" title="OpenAI going wider - Thoughts after SearchGPT announcement" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>I'm surprised that some people are surprised about this. To me, it seems obvious. It would'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">The Information</a>, the majority of OpenAI's revenue is coming from B2C. On the other hand, Google still derives most of its revenue from Search Ads. Now, imagine you're OpenAI:</p><ol><li><p>You have one of the top-performing models, with companies like Perplexity building on top of your technology and growing in popularity, challenging Google.</p></li><li><p>You have access to vast amounts of data through your crawlers.</p></li></ol><p>Adding a search function with potential new revenue streams&#8212;not only from pro features like Perplexity but also from ad revenues in search terms&#8212;is an obvious, if somewhat delayed, move on OpenAI's part. The ability to target intent rather than just keywords makes this particularly valuable.</p><p>What's important to note, however, is this delay. It'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's voice version almost two months ago, but it'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 "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.</p>]]></content:encoded></item><item><title><![CDATA[AI CTOs vs AGI]]></title><description><![CDATA[With the Llama 3.1 release, here&#8217;s an unpopular opinion focused on Coding Agents / Junior AI Engineers]]></description><link>https://hamedmp.com/p/ai-ctos-vs-agi</link><guid isPermaLink="false">https://hamedmp.com/p/ai-ctos-vs-agi</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 23 Jul 2024 22:17:28 GMT</pubDate><enclosure 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" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI CTOs vs AGI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI CTOs vs AGI" title="AI CTOs vs AGI" srcset="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 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>With the Llama 3.1 release, here&#8217;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><p>we have models that are getting better and better at coding small scope software/functions replacing the majority of junior/mediocre engineers</p></li><li><p>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.</p></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&#8217;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><p>know what tech stack to use for the given task</p></li><li><p>how to do plan big refactors for the codebase</p></li><li><p>how to plan which bugs to fix first</p></li><li><p>when to move to a new provider from a subsystem/library and how to assess new libraries/providers</p></li><li><p>and many other IC (individual contributor) type of tasks for super senior engineers.</p></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><p>There is little data on what tech stack combination is great for which use cases and what are the pitfalls,&#8230; of a library for a given task (and if there&#8217;s such a data it&#8217;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)</p></li><li><p>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.</p></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[Last week I posted on LinkedIn (and reposted here) on how to choose the party to vote for the EU Elections.]]></description><link>https://hamedmp.com/p/how-ai-can-help-with-choosing-your-political-party-introducing-votr</link><guid isPermaLink="false">https://hamedmp.com/p/how-ai-can-help-with-choosing-your-political-party-introducing-votr</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 09 Jun 2024 13:08:12 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 424w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 848w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 1272w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How AI can help with choosing your political party? Introducing VOTR&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How AI can help with choosing your political party? Introducing VOTR" title="How AI can help with choosing your political party? Introducing VOTR" srcset="https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 424w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 848w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 1272w, https://hamedmp.com/content/images/2024/06/VOTR---3.04pm---06-09--2-.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><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/">here</a>) on how to choose the party to vote for the EU Elections. I've done Election Compasses (Val Kompass) and they weren't very helpful.</p><p>The best advice I got was to focus on causes you care about.</p><p>That'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's how I ended up building VOTR.</p><div class="captioned-image-container"><figure><p><a href="https://votr.se/?ref=hamedmp.com">VOTR</a></p><figcaption class="image-caption"><a href="https://votr.se/?ref=hamedmp.com">J&#228;mf&#246;r partiers politik och se vad som &#228;r b&#228;st f&#246;r dig och EU.</a></figcaption></figure></div><a class="image-link image2" target="_blank" href="https://votr.se/?ref=hamedmp.com" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://votr.se/favicon.ico 424w, https://votr.se/favicon.ico 848w, https://votr.se/favicon.ico 1272w, https://votr.se/favicon.ico 1456w" sizes="100vw"><img src="https://votr.se/favicon.ico" data-attrs="{&quot;src&quot;:&quot;https://votr.se/favicon.ico&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How AI can help with choosing your political party? Introducing VOTR&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://votr.se/?ref=hamedmp.com&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How AI can help with choosing your political party? Introducing VOTR" title="How AI can help with choosing your political party? Introducing VOTR" srcset="https://votr.se/favicon.ico 424w, https://votr.se/favicon.ico 848w, https://votr.se/favicon.ico 1272w, https://votr.se/favicon.ico 1456w" sizes="100vw"></picture><div></div></div></a><p><a href="https://votr.se/?ref=hamedmp.com">VOTRVOTR</a></p><a class="image-link image2" target="_blank" href="https://votr.se/?ref=hamedmp.com" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://votr.se/og-image.png 424w, https://votr.se/og-image.png 848w, https://votr.se/og-image.png 1272w, https://votr.se/og-image.png 1456w" sizes="100vw"><img src="https://votr.se/og-image.png" data-attrs="{&quot;src&quot;:&quot;https://votr.se/og-image.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How AI can help with choosing your political party? Introducing VOTR&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://votr.se/?ref=hamedmp.com&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How AI can help with choosing your political party? Introducing VOTR" title="How AI can help with choosing your political party? Introducing VOTR" srcset="https://votr.se/og-image.png 424w, https://votr.se/og-image.png 848w, https://votr.se/og-image.png 1272w, https://votr.se/og-image.png 1456w" sizes="100vw"></picture><div></div></div></a><p>Here's a quick demo of it:</p><div class="captioned-image-container"><figure><div id="youtube2-IRymwK1DWPg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;IRymwK1DWPg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/IRymwK1DWPg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div>]]></content:encoded></item><item><title><![CDATA[How should I choose the party/person to vote for in the upcoming 🇪🇺 EU election?]]></title><description><![CDATA[Personal question: How should I choose the party/person to vote for in the upcoming &#127466;&#127482; EU election?]]></description><link>https://hamedmp.com/p/how-should-i-choose-the-party-person-to-vote-for-in-the-upcoming-eu-election</link><guid isPermaLink="false">https://hamedmp.com/p/how-should-i-choose-the-party-person-to-vote-for-in-the-upcoming-eu-election</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 02 Jun 2024 13:46:42 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 424w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 848w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 1272w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How should I choose the party/person to vote for in the upcoming &#127466;&#127482; EU election?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How should I choose the party/person to vote for in the upcoming &#127466;&#127482; EU election?" title="How should I choose the party/person to vote for in the upcoming &#127466;&#127482; EU election?" srcset="https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 424w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 848w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 1272w, https://hamedmp.com/content/images/2024/06/GIF_animation_EE24_signature_full_EN_blue.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>Personal question: How should I choose the party/person to vote for in the upcoming &#127466;&#127482; EU election?</p><p>As someone who&#8217;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&#8217;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&#8217;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/tim-urban-56927430/?ref=hamedmp.com">Tim Urban</a> writing a piece on this, after the "What is our problem" 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&#65039;&#8419; You rarely fully agree with any party, so you get a list of matching of 70% Party A, 65% Party B, &#8230; on different topics. So you still need to choose.</p><p>2&#65039;&#8419; Choosing answers to the questions is not always easy. While you can see arguments for the party&#8217;s choice on each question, it&#8217;s not enough to form an opinion.</p><p>3&#65039;&#8419; There should be much more than just 20-25 questions that identify a party (otherwise I won&#8217;t be surprised if we replace politicians with Agents &#129762;)</p><p>Now&nbsp;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 &#8220;fresh eyes&#8221;, how should I do due diligence with the parties and the promises they are making?&nbsp;What resources are available to read and learn about the parties (like their manifesto or similar)?</p><div><hr></div><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[From the time I was introduced to the Sudoku table in a math class at elementary school, I found it intriguing.]]></description><link>https://hamedmp.com/p/the-sudoku-of-life-stunning-similarities-between-a-puzzle-game-and-our-human-lives</link><guid isPermaLink="false">https://hamedmp.com/p/the-sudoku-of-life-stunning-similarities-between-a-puzzle-game-and-our-human-lives</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Wed, 15 May 2024 22:33:09 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 424w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 848w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 1272w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" title="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" srcset="https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 424w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 848w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 1272w, https://hamedmp.com/content/images/2024/05/1--bt3wu4cyhxnomlnnvsclq-jpeg.jpg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>From the time I was introduced to the Sudoku table in a math class at elementary school, I found it intriguing. How it&#8217;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>Number of Cells</h2><blockquote><p>81 cells, representing an average life expectancy of <em>81 years</em>.</p></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&#8211;2 more rounds (years). But at some point we will realize that something is wrong, this formation can&#8217;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&#8217;s quite common to make mistakes if it&#8217;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&#8217;t have that opportunity to start from an easy life and make it harder as we go. And that&#8217;s why making mistakes is part of life.</p><p>We might spend some years in a college and degree we don&#8217;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&#8217;t make the same mistake again, if we were conscious enough to learn it in the first place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 424w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 848w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 1272w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg" width="800" height="533" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:533,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" title="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" srcset="https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 424w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 848w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 1272w, https://hamedmp.com/content/images/2024/05/1-_6piususobmrm4eymmg-gw-jpeg.jpg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image by <a href="https://pixabay.com/users/franzl34-594177/?ref=hamedmp.com">Fred&nbsp;Lehmann&nbsp;</a></figcaption></figure></div><h2>Number of Unique Puzzles</h2><blockquote><p>The total number of unique puzzles: <strong>~5 billion</strong>, a close number to earth&#8217;s population.</p></blockquote><p>These are cool and close to actual numbers but the actual resemblance lies deep inside each puzzle combination.</p><h2>Number of Clues</h2><p>The numbers that are pre-filled in the grid are called &#8220;clues&#8221; and it&#8217;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&#8217;t be called clues). This is not an issue as there isn&#8217;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>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's life journey.</p><h2>The Solving Process: Life in Progress</h2><p>Just like in Sudoku, we often start life with incomplete information. We have a few "clues" &#8211; 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's a job we can't seem to land or a relationship that'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'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's the thing &#8211; 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">reversible vs irreversible decisions</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" 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=2000 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw"><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" width="3563" height="5344" data-attrs="{&quot;src&quot;:&quot;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&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:5344,&quot;width&quot;:3563,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" title="The Sudoku of Life &#8212; Stunning similarities between a puzzle game and our human lives" 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=2000 424w, 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 848w, 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 1272w, 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 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@klim11?ref=hamedmp.com">Klim Musalimov</a> / <a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Unsplash</a></figcaption></figure></div><h2>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's life, isn'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's no one-size-fits-all approach. We each have to figure out our own solution, one cell at a time.</p><h2>Embracing the Puzzle</h2><p>So next time life feels like an unsolvable puzzle, remember this: You're the player. You'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's just waiting for you to discover it.</p><p>And isn't that the beauty of it all? The challenge, the process, the gradual revelation. That'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 love my Obsidian workspace, customized and ready to get going with my latest ideas and projects.]]></description><link>https://hamedmp.com/p/disable-file-previews-in-obsidian</link><guid isPermaLink="false">https://hamedmp.com/p/disable-file-previews-in-obsidian</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 12 May 2024 23:59:52 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/05/obsidian-banner.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/05/obsidian-banner.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/obsidian-banner.png 424w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 848w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 1272w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/obsidian-banner.png" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/obsidian-banner.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Disable file previews in Obsidian&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Disable file previews in Obsidian" title="Disable file previews in Obsidian" srcset="https://hamedmp.com/content/images/2024/05/obsidian-banner.png 424w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 848w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 1272w, https://hamedmp.com/content/images/2024/05/obsidian-banner.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><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">documentation</a>. (I didn't know about the page number parameter and also the ability to set the height) as follow:</p><blockquote><p>To embed a PDF:</p></blockquote><pre><code>![[Document.pdf]]
</code></pre><blockquote><p>You can also open a specific page in the PDF, by adding&nbsp;<code>#page=N</code>&nbsp;to the link destination, where&nbsp;<code>N</code>&nbsp;is the number of the page:</p></blockquote><pre><code>![[Document.pdf#page=3]]
</code></pre><blockquote><p>You can also specify the height in pixels for the embedded PDF viewer, by adding&nbsp;<code>#height=[number]</code>&nbsp;to the link. For example:</p></blockquote><pre><code>![[Document.pdf#height=400]]</code></pre><p>Which results in:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://hamedmp.com/content/images/2024/05/image.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/image.png 424w, https://hamedmp.com/content/images/2024/05/image.png 848w, https://hamedmp.com/content/images/2024/05/image.png 1272w, https://hamedmp.com/content/images/2024/05/image.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/image.png" width="2000" height="909" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/image.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:909,&quot;width&quot;:2000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Disable file previews in Obsidian&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Disable file previews in Obsidian" title="Disable file previews in Obsidian" srcset="https://hamedmp.com/content/images/2024/05/image.png 424w, https://hamedmp.com/content/images/2024/05/image.png 848w, https://hamedmp.com/content/images/2024/05/image.png 1272w, https://hamedmp.com/content/images/2024/05/image.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But I don'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">that</a> removing the initial <code>!</code> will only show the file name. Better!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/05/image-1.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/image-1.png 424w, https://hamedmp.com/content/images/2024/05/image-1.png 848w, https://hamedmp.com/content/images/2024/05/image-1.png 1272w, https://hamedmp.com/content/images/2024/05/image-1.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/image-1.png" width="748" height="168" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/image-1.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:168,&quot;width&quot;:748,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Disable file previews in Obsidian&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Disable file previews in Obsidian" title="Disable file previews in Obsidian" srcset="https://hamedmp.com/content/images/2024/05/image-1.png 424w, https://hamedmp.com/content/images/2024/05/image-1.png 848w, https://hamedmp.com/content/images/2024/05/image-1.png 1272w, https://hamedmp.com/content/images/2024/05/image-1.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>What about customizing how it'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><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/05/image-5.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/image-5.png 424w, https://hamedmp.com/content/images/2024/05/image-5.png 848w, https://hamedmp.com/content/images/2024/05/image-5.png 1272w, https://hamedmp.com/content/images/2024/05/image-5.png 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/image-5.png" width="1158" height="214" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/image-5.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:214,&quot;width&quot;:1158,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Disable file previews in Obsidian&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Disable file previews in Obsidian" title="Disable file previews in Obsidian" srcset="https://hamedmp.com/content/images/2024/05/image-5.png 424w, https://hamedmp.com/content/images/2024/05/image-5.png 848w, https://hamedmp.com/content/images/2024/05/image-5.png 1272w, https://hamedmp.com/content/images/2024/05/image-5.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Clicking the link will open the PDF Preview (<code>Cmd+click</code> to open it in a new tab) Amazing! &#127881;</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/p/sort-values-in-a-pandas-dataframe-along-all-axis-and-get-their-index</link><guid isPermaLink="false">https://hamedmp.com/p/sort-values-in-a-pandas-dataframe-along-all-axis-and-get-their-index</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 27 Feb 2018 13:46:28 GMT</pubDate><enclosure url="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 424w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 848w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 1272w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sort values in a Pandas DataFrame along all axis and get their index&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sort values in a Pandas DataFrame along all axis and get their index" title="Sort values in a Pandas DataFrame along all axis and get their index" srcset="https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 424w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 848w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 1272w, https://hamedmp.com/content/images/2024/05/0-jxjkkcoqqiaem6hl.jpg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p>There are no doubts about the power of Pandas and how useful it is in Data Science and Data analysis.</p><p>I&#8217;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&#8217;m implementing and decided to share solutions and hacks for those cases so that everyone can utilize them and save their time. For today&#8217;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><p>For Jupyter notebook version of this code snippet, take a look at the following repository.</p><div class="captioned-image-container"><figure><p><a href="https://github.com/HamedMP/CodeSnippets/tree/master/pandas?ref=hamedmp.com">HamedMP/CodeSnippets</a></p><figcaption class="image-caption"><a href="https://github.com/HamedMP/CodeSnippets/tree/master/pandas?ref=hamedmp.com">CodeSnippets&#8202;&#8212;&#8202;List of code snippets I found useful and usually arrived to them after spending around 5 to 50 Google&#8230;</a></figcaption></figure></div><a class="image-link image2" target="_blank" href="https://github.com/HamedMP/CodeSnippets/tree/master/pandas?ref=hamedmp.com" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 424w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 848w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 1272w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 1456w" sizes="100vw"><img src="https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg" data-attrs="{&quot;src&quot;:&quot;https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sort values in a Pandas DataFrame along all axis and get their index&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://github.com/HamedMP/CodeSnippets/tree/master/pandas?ref=hamedmp.com&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sort values in a Pandas DataFrame along all axis and get their index" title="Sort values in a Pandas DataFrame along all axis and get their index" srcset="https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 424w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 848w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 1272w, https://hamedmp.com/content/images/2024/05/0-qxwph6kqmkhfrnr3.jpg 1456w" sizes="100vw"></picture><div></div></div></a>]]></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.]]></description><link>https://hamedmp.com/p/guide-on-how-to-apply-for-engineering-positions-in-europe-us-for-newbies-interesting-positions</link><guid isPermaLink="false">https://hamedmp.com/p/guide-on-how-to-apply-for-engineering-positions-in-europe-us-for-newbies-interesting-positions</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Sun, 07 May 2017 00:00:00 GMT</pubDate><enclosure url="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<a class="image-link image2" target="_blank" href="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 424w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 848w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 1272w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 1456w" sizes="100vw"><img src="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg" data-attrs="{&quot;src&quot;:&quot;https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" title="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" srcset="https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 424w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 848w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 1272w, https://cdn-images-1.medium.com/max/800/1*kndlKSCalfCSp5jcaf_8mw.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><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><p><em><strong>Note: I will maintain interesting jobs at the end of this posts and update them frequently. Don&#8217;t forget to have a look here if you are looking for a position.</strong></em></p></blockquote><p>To summarize the following is your tools for getting a job:</p><ul><li><p>CV of max 2 pages.</p></li><li><p>Well-grounded GitHub repositories</p></li><li><p>Good Stackoverflow contributions (recommended)</p></li><li><p>Personal blog (Programming and to some extent personal life-related stuff) (recommended)</p></li></ul><div><hr></div><p>Now I&#8217;ll dig a bit each of them and what should you do for each one:</p><h4><strong>CV</strong></h4><p>I don&#8217;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><strong>Github account</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 424w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 848w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 1272w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 1456w" sizes="100vw"><img src="https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png" width="800" height="170" data-attrs="{&quot;src&quot;:&quot;https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:170,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" title="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" srcset="https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 424w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 848w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 1272w, https://cdn-images-1.medium.com/max/800/1*rD20tkwdWCn0J09h-OJDmg.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><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><p>Include any open source project you have or work on. Translation: If you don&#8217;t have any, start one :)</p></li><li><p>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">Imageflow</a> a simple wrapper for reading images for <a href="https://tensorflow.org/?ref=hamedmp.com">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.</p></li><li><p>If you don&#8217;t have any idea about for a library, don&#8217;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&#8217;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.</p></li></ul><h4><strong>StackOverflow</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 424w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 848w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 1272w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 1456w" sizes="100vw"><img src="https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png" width="800" height="369" data-attrs="{&quot;src&quot;:&quot;https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:369,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" title="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" srcset="https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 424w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 848w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 1272w, https://cdn-images-1.medium.com/max/800/1*wcLed7nFF7Fm0fP9BJ49Cw.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><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">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><p><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.</p></blockquote><blockquote><p><strong>Pro tip 2:</strong> After implementing your library, you can promote it by pasting some code-snippets and link to your library&#8217;s repo, so you got more visitors.</p></blockquote><h4><strong>Personal Blog</strong></h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 424w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 848w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 1272w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 1456w" sizes="100vw"><img src="https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png" width="800" height="112" data-attrs="{&quot;src&quot;:&quot;https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:112,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" title="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" srcset="https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 424w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 848w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 1272w, https://cdn-images-1.medium.com/max/800/1*hWlROuEjFD0aGnk866jLVA.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This is exactly what I&#8217;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 &#8220;debugging&#8221; and part of it is just &#8220;googling&#8221;. 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&#8217;t be just about hardcore engineering topics. (Like my <a href="http://colah.github.io/?ref=hamedmp.com">favorite blog</a> or my <a href="https://hamedmp.com/exporting-trained-tensorflow-models-to-c-the-right-way/">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&#8217;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/">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><div><hr></div><h3>Open Positions</h3><p>Now the list of interesting open positions I see here and there:</p><ul><li><p><a href="https://news.ycombinator.com/jobs?ref=hamedmp.com">Hacker news jobs</a> <br>If you believe in yourself, here&#8217;s the list of most challenging and most rewarding positions in the world which can make you wealthier than most of the founders themselves.</p></li><li><p><a href="https://angel.co/jobs?ref=hamedmp.com">Angel.co jobs</a> <br>Another good place with lots of filtering options like role, location, visa sponsorship, &#8230;</p></li><li><p><a href="https://blog.serenacapital.com/147-awesome-jobs-at-serena-capital-c06e62dfb3b4?ref=hamedmp.com">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.</p></li></ul><p>Companies that I love to work with because of their culture are:</p><ul><li><p><a href="https://www.spotifyjobs.com/search-jobs/?ref=hamedmp.com#category=software-engineering">Spotify</a></p></li><li><p><a href="https://www.shopify.com/careers?ref=hamedmp.com">Shopify</a></p></li></ul><h3>Very interesting Internship offer from Shopify</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 424w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 848w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 1272w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 1456w" sizes="100vw"><img src="https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png" width="800" height="362" data-attrs="{&quot;src&quot;:&quot;https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" title="Guide on how to apply for Engineering positions in Europe/US for newbies + interesting positions" srcset="https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 424w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 848w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 1272w, https://cdn-images-1.medium.com/max/800/1*a7s0IQvHPHAkw1S2A_Nkzw.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Yesterday I found this <a href="https://www.shopify.com/careers/developer-intern-fall-2017-af6eb8?ref=hamedmp.com">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">here</a>. I would apply myself if I wouldn&#8217;t need to go to the 2nd year of my master. The deadline is May 10th, so hurry up!</p><div><hr></div><p><em>Originally published at <a href="https://hamedmp.com/2017/05/07/How_to_get_a_job_as_fullstask.html">hamedmp.com</a> on May 7, 2017.</em></p>]]></content:encoded></item><item><title><![CDATA[From Industrial revolution to AI Utopia, Part 1]]></title><description><![CDATA[This is going to be my first post about my futuristic view, aggregated from different ideas in the scene, for AI, Humanity and different&#8230;]]></description><link>https://hamedmp.com/p/ai-utopia-1</link><guid isPermaLink="false">https://hamedmp.com/p/ai-utopia-1</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 28 Mar 2017 20:29:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0ebb1907-4e41-4a59-ba79-3e9cc60d6fde_1200x565.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mVmF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mVmF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mVmF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mVmF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mVmF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5154224-6054-4681-8712-7b9207e2277c_1200x565.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Concept game scene by artofjokinen</figcaption></figure></div><p>This is going to be my first post about my futuristic view, aggregated from different ideas in the scene, for AI, Humanity and different aspects of Life on earth. And it is mostly the introduction to the fundamental beliefs in the following parts, I will dig into one aspect of our life each time, e.g. How Education/Healthcare/Housing will look in 50 to 200 years from now.</p><p>I was with my friends at Lia and we went to have dinner after party with all accelerator members. The event that triggered me to write my thoughts, was the dinner table in which I discussed my view on AI, roots, future while talking to Ula, co-founder of Lia. After that, the inspiration continued when I was attending EIT Digital 2017 conference.</p><p>Last week, when I was attending XLDay - the demo day of High Tech XL -, a Wearable-focused accelerator in Eindhoven. There were lots of great hardware startups from:<br>- Sensors which <strong>protect us from the sun</strong>,<br>- AI voice assistant for <strong>blinds&#8217; movement</strong>,<br>- <strong>Posture fixing gadget</strong>&#8202;&#8212;&#8202;<a href="http://www.lianow.com/">Lia</a>, <br>- <strong>Artificial stone</strong> out of PET, <br>- <strong>Connected horses</strong>, another one with connected boats and a lot more cool stuff.</p><p>The talk began with a discussion between Ula and her sister Fidan, who is also a co-founder in Lia, about whether the horrible robotic future is possible and Ula answered that no, there is no way, it&#8217;s much far than it can be real. I agree with her and I continued to talk about where the AI can end-up. Although we discussed period of times in random, not in the chronological order but here I will put them in the order so it would be easier to understand. The goal of such an idealized version of future is just to see the possibilities and upcoming trends and work towards them to achieve them.</p><p>So, I have a dream that:</p><h3>Connecting and Robotization Wave: IFTTT of things</h3><p>I will start this with a quote from Henry Tirri, ex-CTO of Nokia, about current situation:</p><blockquote><p>Bits eat atoms, Everyday.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E6m_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E6m_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E6m_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg" width="800" height="598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:598,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!E6m_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E6m_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e90979-09f7-462b-8629-2ba025f85eda_800x598.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">EIT Digital 2017 conference in&nbsp;Brussel</figcaption></figure></div><p>First, let&#8217;s go for really near future, ranging from 15 to 40 years from now, the <strong>connected everything</strong> era. Beside the new possibilities it gives and hidden information it reveals through data, it is one of the last steps to let&#8217;s say <strong>robotize</strong> the jobs. If everything you can imagine, from cars in the street to the home appliance in the kitchen get connected, then they can be programmed to do whatever they are supposed to do. E.g. drive you home while your dinner is getting cooked at the home with the ingredients brought to you by drones who know what you dish will have and whether you have ingredients or not. <br>As we tend to write programs that are optimize something, AI and robotics are not an exception. We will have a lighter traffic flow, fewer injuries, more time to live, &#8230; by all of this h2m connection.</p><p>I hugely believe in the case that at some point in this period, driving cars will be illegal and most probably owning a car will be meaningless thanks to the upcoming trend of sharing economy. This sounds really awkward and it is in fact. Currently, car manufacturers are working on autonomous cars which in previous sentences I said would eliminate the cars and owning them. It is under question how much they will allow these scene to be advanced to make our scenario possible. The possible solution, in this case, is that they will be the taxi service company by themselves.</p><p>While above trend is taking place some important things are happening in the other industries as well. The continuation of job replacement by machines and (un)employment disaster from blue collar jobs to highly skilled professions like <a href="http://www.telegraph.co.uk/technology/2017/03/07/robots-will-soon-able-diagnose-accurately-almost-doctor/">doctors and even surgeries</a> or <a href="https://www.kaggle.com/c/data-science-bowl-2017">detecting cancers.</a> This is the transition phase that made world&#8217;s top industrial leaders from Elon Musk to Pierre Omidyar to think about Basic income concept. Omidyar foundation currently is doing <a href="https://www.omidyar.com/blog/why-we-invested-givedirectly">a pilot program in Kenya</a>.</p><p>This is the phase that I am really passionate about all these computerizing our dumb tasks like driving, cooking, &#8230; (not all the times but if we do it every day for 60 years), because we are creative social machines and currently, we cannot use our full productivity. The whole human is summarized in this 2 words: Creative and Social, we need to use our brain power to feel satisfied and to Love and feel loved. These are the aspects we need to improve, not a car which goes 0&#8211;60 in 0.001s faster to its competitors in the same price range or another dating app, a mobile phone with higher CPU hertz, &#8230; The ideal future is that people can work on whatever they like and talented at while enjoying the company of their beloved ones. Let me explain how this gonna happen, maybe in 100&#8211;200 years but that&#8217;s the trend.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AtdG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AtdG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AtdG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg" width="800" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!AtdG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AtdG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf2fa34b-ebbc-4c5c-bf55-df49d8aff299_800x662.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Welcome CoC!</h3><p>That basic income and automating every task and job will result in what I call <strong>Collapse of the Capitalism (CoC)</strong>. After the 2nd industrial revolution and large-scale production, we entered the last phase of the capitalism. It tends to optimize every cent of the money it can by improving machines, optimizing workforce, culture, &#8230; which gave us what we have now, from airplanes to modern computers and VR glasses. However, this optimization is going to be self-killer by replacing ALL the jobs and then there will be no one who can afford the high-end products and then there will be no revenue! <br>Because we got into the somehow end of the current period of technological development where we are just inventing more and more advertising tricks in contrast to the lots of life changing events happened in the 20th century. He who has the best marketing budget and strategy is going to win in the current situation.</p><p>Let&#8217;s take wearables, apart from smart-watches and smart-glasses. How many of you are wearing any wearable? For me and people around me, young people with the highest adoption rate it is 0.</p><p>The thing about CoC may be seen as a negative thing. And of course they (capitalists) will try to prevent it and to some extent, they will be able to delay the process. But humans are so bad at falsifying the truth. Whether it took decades to accept that the earth is rounded or not, Sun will not always be behind the clouds. Actually, it will follow by making governments more robotic. IF computer can do stuff from optimizing the flow of traffic and <a href="https://www.bloomberg.com/news/articles/2017-02-06/silicon-valley-hedge-fund-takes-on-wall-street-with-ai-trader">deciding better financial decisions</a>(but most probably there will other Valuable decisions than monetary ones), &#8230; why not to fully govern the country? Most of the things a government is doing can be replaced, e.g. Transportation, healthcare, education, &#8230;</p><p>But the important point here is that I don&#8217;t think we will totally remove Capitalism, but we will introduce a different system which will of ocurse have some common features as our current models but totally adopted to the lifestyle of the future.</p><h3>What the hell we will be doing then?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Tu8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Tu8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Tu8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg" width="1800" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-Tu8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-Tu8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358c88f5-dc21-4c83-81ea-9eb2f88f2c5d_1800x1200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">You have the right to Live and to Love&nbsp;freely.</figcaption></figure></div><p>So by assuming at the end, CoC will really happen, then what&#8217;s next? what system will replace it to make a framework for us to understand each other and build our life based on?</p><blockquote><p>The short answer is Love.<br><br>The full answer of how does it make sense is:<br>By following events above we would reach a point where most of the machines are doing all dumb tasks. There is no money left to earn. The only thing we need to keep this process sustainable is to provide &#8220;Free energy&#8221; to the machines so they can continue to do their job while we are <strong>Loving and Living</strong> (LL) every moment. And you know what I mean, by then the efficiency of Natural energy sources will reach the required point so that we can get it.</p></blockquote><h4>But what exactly people will do?</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t-WL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t-WL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 424w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 848w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 1272w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t-WL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png" width="800" height="335" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:335,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!t-WL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 424w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 848w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 1272w, https://substackcdn.com/image/fetch/$s_!t-WL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76547a68-c870-4dd1-8bce-8dae1a53a31e_800x335.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Hmm, this is not the most probable case, so don&#8217;t&nbsp;worry!</figcaption></figure></div><p>If you have free power, autonomous cars, and robots to build those cars from free resources (from Nanotechnology material to the Energy resource) you will enjoy riding and traveling around the world, being with your loved ones all the time and having a meal with them which is in the worse case it is a robot well-cooked meal with robot-grown ingredients in a robot built house/restaurant for (almost) free. Wall-E scene yeah? If you born as a human, you have the right to Live and to Love freely, to Think and Socialize, without concerning how many more hours you should work to pay your rent or, etc. <br>It sounds good but it really seems too far from now. Removing a word as important as Money which most of the people are thinking is the ultimate motivation for everything we do now is really hard. That&#8217;s why it will be a new phase of our life on earth.</p><p>Finally, I invite you to watch this video from World Economic Forum about Industrial 4.0</p><div class="captioned-image-container"><figure><div id="youtube2-khjY5LWF3tg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;khjY5LWF3tg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/khjY5LWF3tg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>In the next part, I will write about <strong>Elon Musk&#8217;s</strong> latest adventure, Neuralink, and it&#8217;s impact on our lives. Also we&#8217;ll dig the concept of the philosophical Purpose of the life of humanity and satisfaction it needs. More exactly we&#8217;ll answer Musk&#8217;s concern about what will replace the satisfaction people get from their jobs at the moment. <a href="https://www.youtube.com/watch?v=7Lre6GxiQUE">He talked about this on WGS 2017.</a></p><p>Share your thoughts below and keep tuned for the upcoming parts about Future Life in details.</p>]]></content:encoded></item><item><title><![CDATA[Ocean life: Power and Spirituality relationship from new viewpoint]]></title><description><![CDATA[Recently I was thinking about the concept of wealth and why some (religious) people see it as a negative thing. I tried to explain it by an&#8230;]]></description><link>https://hamedmp.com/p/understand-wealth-and-power-from-a-clean-ocean-viewpoint</link><guid isPermaLink="false">https://hamedmp.com/p/understand-wealth-and-power-from-a-clean-ocean-viewpoint</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Thu, 23 Mar 2017 14:11:43 GMT</pubDate><enclosure url="https://cdn-images-1.medium.com/max/2560/1*Y4iFKOMd2nO8N7EwyPbpZg.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!datd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!datd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!datd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!datd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!datd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!datd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!datd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!datd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!datd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!datd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5a9edb8-8f03-467e-8a27-349163c790d4_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Ocean Life by Pera&nbsp;Manic</figcaption></figure></div><p>Recently I was thinking about the concept of wealth and why some (religious) people see it as a negative thing. I tried to explain it by an example by Fish and the Ocean.</p><p>The story starts like this:<br>If we say that spirituality (God, power, &#8230;) is water and we are fish in this ocean who don&#8217;t feel the water.</p><p>And if we say that wealth and power are like how fast you are and how near you are to the surface of the ocean, the more powerful you are, the faster you move and the closer you are to the surface, which is not bad by itself. You get more oxygen.</p><p>Other relations are as follows:</p><ol><li><p>Not every type of fish needs that much oxygen can bear the warmness (or coldness) of the area near surface.</p></li><li><p>Also, not every fish can bear the (sometimes) water pollution in that area which is polluted by some other creatures. (Water in itself is pure and make everything clean too)</p></li><li><p>Because the fish is more robust here, if they are over-ambitious to go even higher (while there isn&#8217;t any water up there and you really need it, because you know it&#8217;s out of oxygen there) or they choose a wrong direction, they will leave the nature they are built for and if the time out of the water is too much, they will be dead while returning to the water, or even worse, get caught and eaten by a bird. But this kind of death is not like the one you know, no one will feel it, but they are dead in their heart, they transformed from a pure clean fish to a polluting fish by their disgusting smell and color as they are dead.</p></li></ol><p>The point is that not everyone is built for taking power and why power in itself is not bad. It is just our behavior that makes it bad or good. I don&#8217;t want to repeat clich&#233; quotes about this topic again. My goal was just to give a new framework to think about all these stuff and how the might (not) work.</p><p>Let me know your feedbacks about it, thank you.</p>]]></content:encoded></item><item><title><![CDATA[Hamp Equilibrium / Startup Game Theory]]></title><description><![CDATA[Recently I got an idea and I rushed to my experienced, helpful friends to measure its potential and decide what to do next.]]></description><link>https://hamedmp.com/p/hamp-equilibrium-54b4ecf6b4bd</link><guid isPermaLink="false">https://hamedmp.com/p/hamp-equilibrium-54b4ecf6b4bd</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Mon, 04 Jul 2016 11:31:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/90ee62f5-43fd-4ac3-bcf5-e0c125f20671_960x540.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently I got an idea and I rushed to my experienced, helpful friends to measure its potential and decide what to do next. In the context, we talked few startup mindsets such as <strong>Big Idea, Unicorn, Do stuff that matters</strong>, etc. It&#8217;s no surprise for such a conversation as all entrepreneurs and of course, investors evaluate ideas a lot, sometimes may be up to a hundred times a day. Although professional investors have their own framework for finding the next <strong>Big Thing</strong> to put money on, I come up with a new framework, with getting inspiration from Nash Equilibrium in Game theory. I don&#8217;t want to tell you theory, but I think it can help you to see the big picture of the&nbsp;game.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eTx6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eTx6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 424w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 848w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 1272w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eTx6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!eTx6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 424w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 848w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 1272w, https://substackcdn.com/image/fetch/$s_!eTx6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F454441f5-f73e-420b-9da7-ec51757de7b6_960x540.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>The axises are efforts need to build Product and Market&nbsp;it.</p><p><strong>Product difficulty</strong>: defined as whether it&#8217;s technology/recipe is a high-tech, secret sauce or an easy to copy&nbsp;one.</p><p><strong>Marketing difficulty: </strong>This axis is a little bit more tricky. Your solution can have a defined &amp; clear target market with viable market size. It&#8217;s the regions &#8216;A&#8217; and &#8216;D&#8217;. On the other hand we call something is hard to market whether the target customers are very narrow and hard to reach/find(&#8216;B1&#8217; &amp; &#8216;C1&#8217;) or they are too wide, almost anyone can use it(&#8216;B2&#8217; &amp;&#8216;C2&#8217;) e.g.&nbsp;Facebook</p><blockquote><p>Disclaimer: Even in &#8216;B2&#8217; &amp; &#8216;C2&#8217; case you should define your target customers you will start working with. For examples you can say restaurants are in this category as anyone on earth eat food, may be some are, but even in this case, they have defined target which generates most of the revenue for&nbsp;them.</p></blockquote><p>If we want to say in equilibrium context, it is obvious region &#8216;A&#8217; is an ideal situation. Your product is difficult to copy and you have defined target customer&nbsp;type.</p><p>Examples for each region (more examples are welcomed as comments):</p><ul><li><p>&#8216;<strong>A</strong>&#8217;: Blocks wearables (Modular smartwatch)</p></li><li><p>&#8216;<strong>B1</strong>&#8217;: (a.k.a very Niche market) SpaceX (has only one customer)</p></li><li><p>&#8216;<strong>B2</strong>&#8217;: Solar Energy, Electrical Cars&nbsp;(Tesla)</p></li><li><p>&#8216;<strong>C1</strong>&#8217;: The worst region, so no company can survive or make a brand out of it, so we didn&#8217;t hear about them,&nbsp;sorry.</p></li><li><p>&#8216;<strong>C2</strong>&#8217;: Can be Restaurant/Coffee shops with large focused groups(McDonald&#8217;s,&nbsp;&#8230;) or even Google(almost everyone search on the internet, watch videos, download apps, watch ads,&#8230;), Amazon(almost everyone sell/buy stuff, read books,&#8230;), Facebook, as they have wide audience. (Note, here the statement that they are easy to copy them is both right and wrong, the general concept is easy but the infrastructure/data/users they have made them almost unbeatable.)</p></li><li><p>&#8216;<strong>D</strong>&#8217;: Maybe they don&#8217;t generate unicorns but they are easy starters and can make cash flow with little or no investment. Again some Restaurants can fit in this&nbsp;region.</p></li></ul><p>I should point out one very important note here&nbsp;that:</p><p>This chart shows relation between Product and Market efforts with possible Profit/Risk if the product has the same fit for that market in all regions i.e. the missing 3rd dimension here is the <strong>height of the cylinders which we call it </strong><em><strong>Product/Market fit</strong></em> and that&#8217;s very important aspect of any startup/product which investors/entrepreneurs should find it by themselves.</p><p>Hope this diagram helps you in defining your position in the market and understanding which features you should strengthen to become a brand which affects people&#8217;s lives in positive&nbsp;ways.</p><p>For other tools to help you evaluate an idea, check this great stuff about <a href="https://medium.com/@cdixon/the-internet-economy-fc43f3eff58a#.kqy1brmzp">How internet economy&nbsp;works</a>.</p>]]></content:encoded></item><item><title><![CDATA[What I learnt from training for Marathon in only 4 days]]></title><description><![CDATA[I could never think how much one can learn by just running.]]></description><link>https://hamedmp.com/p/what-i-learnt-by-training-for-marathon-1f2090c9adb6</link><guid isPermaLink="false">https://hamedmp.com/p/what-i-learnt-by-training-for-marathon-1f2090c9adb6</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Tue, 26 Apr 2016 21:13:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6a326707-6812-4e89-aeea-11fc304a58a0_1024x997.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kYNg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kYNg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kYNg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!kYNg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kYNg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ca6106-8847-4b95-9bf4-160649e4128a_1024x997.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>I could never think how much one can learn by just running. It was a beautiful night beside the Caspian sea, with usual wind which made sea scream&nbsp;wild.</p><p>May be it&#8217;s hard to put all the things I think about during my runs but i can definately tell you that may be it is more than a year that I didn't learnt something new and special in this short period of time. I just love learning and exploring new things and Running satisfied my need much higher than my expectations.</p><p>I started my first run with a quote I also shared in my <a href="https://www.instagram.com/p/BEMN7wgPqpN">Instagram account</a>:</p><blockquote><p>" It does not matter how slowly you go as long as you do not stop. Confucius"</p></blockquote><p>I repeated this hundred times or more but I couldn&#8217;t run more than 8 kilometers in an&nbsp;hour.</p><p>The second day, I chose a <a href="https://soundcloud.com/russian-xxl-night/online-mixtape-club-nightlife">beautiful Russian club song</a> from <a href="http://www.soundcloud.com/hamed-mp">my SoundCloud account</a> and I learned&nbsp;this:</p><blockquote><p>"One of reasons for training is to find the right song to keep you up&nbsp;going"</p></blockquote><p>This translates into: your motivation and little gratification really matters to help you move steady in your life and your businesses.</p><p>3rd day I found the organizer of Baku Marathon and joined their trainings. Our trainer, Pedro from Spain taught us a lot about what to do and not to do. I ran 10km in 1 hour and 10 minutes with the group. Honestly it is totally different experience when running with company of people than just running alone. I regret myself for not having a running buddy to run together. Anyway I was a bit disappointed when comparing my results with the 21 km which I should run next week but I learnt to see the half full of the glass which was: "Although I ran almost the same as the 2nd day, but I was happy that my performance really improved when comparing with my first training session. (Note: here&#8217;s the second lesson I learnt by heart which you hear from Bill gates who&nbsp;says:</p><blockquote><p>The only person I compete is my yesterday self</p></blockquote><p>So instead of taking a break every km or so I ran for 4km non-stop. So hopefully there were an improvement.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dROZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dROZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dROZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!dROZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dROZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a59f2f-53e8-44e0-a689-604f870fd98d_1024x768.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Welcoming Pedro</figcaption></figure></div><p>4th day, today and it is totally different day which made me to share my thoughts with you. <br>Again joining the group Baku Marathon Club event and the appointment was in Flag Square at 8 pm. After few tips by Pedro we started running, again along the Caspian sea. (BTW the route was exactly my reverse route that I trained alone, which means I start from Marriott hotel until the Flag square and back, today it was the reverse.) <br>Wind beating your face as hard as it can, sweating and running in the group, it&#8217;s totally unique experience that I hadn&#8217;t have before. This wind made me remember the slogan of the Baku Marathon:</p><blockquote><p>Win the&nbsp;Wind!</p></blockquote><p>We have done several trainings and we head back to flag square, the start point. Here I learnt something new again: <br>The wind is always there(100% true for Baku case). It&#8217;s your choice to run against it and try to beat it, or run with the wind&#8217;s direction which made me to create new slogan for the Baku Marathon&nbsp;:</p><blockquote><p>Wind makes you&nbsp;Win!</p></blockquote><p>Here I should clarify what I mean is not going where the flow of the people are going, that's what dead fishes can do when they go in the same direction as the current of the river goes. What I meant is, in competitions, mostly I focus business competitions, it&#8217;s your choice how to see this phrase. Overspend and over react to it by going against it or you can use it to your benefits!</p><p>After finishing the training and taking some selfies, I chose to run back to my usual start point where I left my clothes. So I was running alone again, but it was different now from previous solo-runs. Why? Because I experienced the group feeling and I can fake it by myself if I can find something that goes with me, step by step just like the lovely people who were with me few minutes&nbsp;ago.</p><blockquote><p>And Aha!!! I found it. It was my shadow, good,&nbsp;yep?</p></blockquote><p>So it also reflects some part of my previous lesson I learnt that: Always try to beat yourself. And to some extent it taught me creativity in not so comfortable situations and how to over come it. The only thing you need to remember&nbsp;is:</p><blockquote><p>Stop excuses! And you will find a&nbsp;way!</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MkZo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MkZo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MkZo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!MkZo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MkZo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e397465-c8bb-4f7b-8422-f9dd63742a75_1024x768.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And just to finish reporting results, I ran 12 km in one hour, which proved what I learned so far was correct. I understood how much training make you better. More importantly I learned how putting excuses aside and actually starting will make you better and better little by little. Just keep persistance. That's all matters. Let me requote my first&nbsp;lesson</p><blockquote><p>" It does not matter how slowly you go as long as you do not stop. Confucius"</p></blockquote><p>I&#8217;m so excited that I want to share this now. I could wait until the real Marathon and put them all in one, but I believe there are a lot of things I will learn that day which is worth a separate&nbsp;post.</p>]]></content:encoded></item><item><title><![CDATA[Exporting trained TensorFlow models to C++ the RIGHT way!]]></title><description><![CDATA[It&#8217;s been a while since TensorFlow is open-sourced and slowly is becoming more and more popular.]]></description><link>https://hamedmp.com/p/exporting-trained-tensorflow-models-to-c-the-right-way-cf24b609d183</link><guid isPermaLink="false">https://hamedmp.com/p/exporting-trained-tensorflow-models-to-c-the-right-way-cf24b609d183</guid><dc:creator><![CDATA[Hamed Mohammadpour]]></dc:creator><pubDate>Fri, 11 Mar 2016 09:07:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3d2c0cfc-760a-496c-aa9e-d94f3da4e0b5_1024x531.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_ynQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_ynQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 424w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 848w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 1272w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_ynQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_ynQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 424w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 848w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 1272w, https://substackcdn.com/image/fetch/$s_!_ynQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0209ccd0-d0f9-4160-ae8d-1cacea2da7ea_1024x531.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>It&#8217;s been a while since TensorFlow is open-sourced and slowly is becoming more and more popular. One of the features that TF has is the ability to define and train your model using Python API and port the learned model in C++. Until the latest version of TF it&#8217;s been a pain in the neck of how to do it. Some people find workarounds. There are some (let me be honest,<a href="https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.6tqdi9o80"> it was the only one</a> I found) tutorials which taught how to port it but the fact that their model was not trainable made a big difference that you can&#8217;t use the same approach for your trainable models.</p><p>As I said, this ability is now easier in the latest version (version 0.7 at this time) and I think it will be even easier in the next releases. Here we go, the whole code for a CIFAR-10 CNN is shared in the<a href="https://github.com/HamedMP/tensorflow_export_cpp_example"> github repository</a>.</p><h4>Requirements</h4><ul><li><p><a href="http://bazel.io/docs/install.html">Install Bazel</a>: Google&#8217;s build tool used to compile things for TensorFlow.</p></li><li><p>Clone the <a href="https://github.com/tensorflow/tensorflow/tree/263d00d2710779d5c4ac66e335b2ba07d8385b6b">TensorFlow repo</a>. (It will make the build process easier if you also get your hands dirty with <a href="https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html#installing-from-sources">installing the tensorflow from the source</a> by building&nbsp;it.)</p></li><li><p>Copy the <em><a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py">freeze_graph</a>.py</em> file to your project folder as it is not in the installed wheel&nbsp;yet.</p></li><li><p>Also in the past, there is <a href="https://github.com/tensorflow/tensorflow/issues/1199">an issue </a>that the files that &#8220;<em>freeze_graph.py</em>&#8221; were using, i.e. &#8220;<em>graph_util</em>&#8221; was not in the wheel. If you get an error in &#8220;<em>freeze_graph.py</em>&#8221; complaining &#8220;<em>graph_util</em>&#8221; not found you should build the wheel yourself to get&nbsp;it.</p></li></ul><h4>General Steps</h4><ol><li><p>Define the input and output graph in our&nbsp;model.</p></li><li><p>Save the checkpoints. (This is important as all your trained variables reside&nbsp;here)</p></li><li><p>Save the graph definition (raw definition, no variable). We name this <em>&#8216;input_graph&#8217;</em></p></li><li><p>Use the <em>freeze_graph</em> file to combine the graph structure(<em>no. 3, input_graph</em>) with the values of each nodes values(<em>no. 2</em>) and generate a new graph model as <em>&#8216;output_graph&#8217;</em></p></li><li><p>Use the output graph in the C++ file to do the inference. #Optional: We can also map the network outputs to the&nbsp;labels.</p></li><li><p>Create a build file and build the file in the <em>&#8216;tensorflow/tensorflow/{our_project}&#8217;</em> folder. this takes a while for the 1st time as it bundles all tensorflow stuff into a single runnable&nbsp;file.</p></li><li><p>Your executable file is&nbsp;ready!!!</p></li></ol><p>Now let me go deeper with each step with real-world example. I have written the model myself(of course by getting some code snippets from tensorflow examples but the overall architecture is&nbsp;unique)</p><h4>Step #&nbsp;1</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D9V8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D9V8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 424w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 848w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 1272w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D9V8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!D9V8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 424w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 848w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 1272w, https://substackcdn.com/image/fetch/$s_!D9V8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d45e7a0-0f30-474a-a23f-c2f11dff26fe_851x551.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Here we tell which node is the input node in our graph and which is the output. These are needed as in the C++ code when you provide a sample to do inference on it, the code should know where to insert the sample in the graph. Also after inference, it should know which node(s) results it should report back to&nbsp;you.</p><p>&lt;a href="https://medium.com/media/5ccb068279f4bb872d39833eccdd9871/href"&gt;https://medium.com/media/5ccb068279f4bb872d39833eccdd9871/href&lt;/a&gt;</p><h4>Step #2</h4><p>In your training loop, save the checkpoints every few steps, let&#8217;s say 10,50 or 100. It depends on what you are trying to get out of the model. For making everything smooth let&#8217;s define following concept(which is from the tensorflow example) to make it easier to load it&nbsp;later.</p><p>&lt;a href="https://medium.com/media/320214e66dced18b55a780c8eb68f166/href"&gt;https://medium.com/media/320214e66dced18b55a780c8eb68f166/href&lt;/a&gt;</p><p>Here the 2 important points&nbsp;are:</p><ol><li><p>The global_step is set to 0, this makes we have only one checkpoint file named &#8216;<em>saved_checkpoint-0</em>&#8217;. The other way to do it is giving the current step instead of Zero but this causes us to have 5 last checkpoints each time which the names are changing and make it harder to load&nbsp;later.</p></li><li><p>The <em>latest_filename</em> is set to a constant&nbsp;name.</p></li></ol><h4>Step #3</h4><p>Save the graph definition once before the loop starts or exactly before the next&nbsp;step.</p><p>&lt;a href="https://medium.com/media/bb1f36574d56384e2036e5c2233b173a/href"&gt;https://medium.com/media/bb1f36574d56384e2036e5c2233b173a/href&lt;/a&gt;</p><h4>Step #4</h4><p>As told before, you should have <em>&#8216;<a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py">freeze_graph.py</a>&#8217;</em> file beside your project and import it inside your training file. Then it&#8217;s really easy to get the &#8220;output_graph&#8221;. For more example of how to use it, you can refer to <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph_test.py">&#8220;freeze_graph_test.py&#8221;</a> file. To summarize, It will combine the graph structure with the values from checkpoint file into one file, so when you import it to your C++ code, it has both your network architecture and the value of your trained variables.</p><p>&lt;a href="https://medium.com/media/14a5685565a40c67fb77174d06881ea4/href"&gt;https://medium.com/media/14a5685565a40c67fb77174d06881ea4/href&lt;/a&gt;</p><blockquote><p><strong>Note</strong>: As I wrote in the comment in the code, in my first trial to do this I simply put the raw name of the <strong>output_graph</strong>, but when testing for this tutorial in the new project, I got error that output_graph is not in the node names. By debugging and checking all the node names, I found that the name in the second project is &#8220;<strong>Dense2/output_graph&#8221;</strong>. Consider first trying the real name. If you get the same error, then write the full name of the&nbsp;node.</p></blockquote><p>When running this, you will get something like this feedback if everything goes&nbsp;well</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BL62!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BL62!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 424w, https://substackcdn.com/image/fetch/$s_!BL62!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 848w, https://substackcdn.com/image/fetch/$s_!BL62!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 1272w, https://substackcdn.com/image/fetch/$s_!BL62!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BL62!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BL62!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 424w, https://substackcdn.com/image/fetch/$s_!BL62!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 848w, https://substackcdn.com/image/fetch/$s_!BL62!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 1272w, https://substackcdn.com/image/fetch/$s_!BL62!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6f46787-5df4-455f-9e1b-d8ea68d30f08_572x188.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>Step #5</h4><p>I use the <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/label_image/main.cc">C++ code provided by tensorflow</a> and modified it for my project. It is well written (like the tensorflow itself and also other Google&#8217;s code&nbsp;:) ). Also grab the BUILD file which we need it&nbsp;too.</p><blockquote><p><strong>As we need to build the file exactly in the same root folder, for convenience duplicate the &#8220;label_image&#8221; folder, name it as you want(I named it &#8220;ccifar&#8221;) and continue the followings inside the new clone of that&nbsp;folder.</strong></p></blockquote><p>So let&#8217;s start modifying it according to your needs. I won&#8217;t copy paste it here again, but I will tell the line numbers you SHOULD change for your project to make everything goes smooth. Consider giving the full path to your files instead of relative path. It is also suggested to put them <a href="https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/label_image">in this style</a>. That is having your BUILD file across your main.cc file and a data folder where your extra files as <em>output_graph.pb</em>, <em>labels_mapping.txt, </em>and your test image&nbsp;reside.</p><p>Let&#8217;s modify these&nbsp;lines:</p><ul><li><p><strong>Line #237</strong>: This i the file you feed into your model for inference and get the result. You can override it via giving command line argument. More on that later in the running&nbsp;section.</p></li><li><p><strong>Line #238</strong>: Insert the path to the <em>output_graph.pb</em> we got in the Step #4&nbsp;here.</p></li><li><p><strong>Line #241</strong>: You can give a text file with the labels for each output to make it easier when running. It will automatically assign the first labels to the output of the model when it is 0, the second line when the result is 1 and so on. For example, for CIFAR-10 it looks like&nbsp;this:</p></li></ul><pre><code>airplane
automobile
bird
cat
deer
dog
frog
horse
ship
truck</code></pre><ul><li><p><strong>Line #244&#8211;245</strong>: Change the width and height of your input. If your input does not image like ours, you can find where they use it and comment&nbsp;it.</p></li><li><p><strong>Line #248&#8211;249</strong>: Change this to the name of your input and output layer&nbsp;name.</p></li></ul><p>Everything is ready to build our model now. It looks a lot of steps but it is really simple. You can add and modify your code according to the above steps in less than 10 minutes or so. So don&#8217;t get afraid if it is&nbsp;long.</p><h4>Step #6</h4><p>Modify BUILD file to compile which sources, if you already used the tensorflow&#8217;s code file names no need to change anything.</p><p>If you do exactly as I told above, now we are in the following path:<br><em>&#8220;&lt;path to the tensorflow repo clone&gt;/tensorflow/tensorflow/examples/ccifar&#8221;</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WDDs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WDDs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 424w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 848w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 1272w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WDDs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WDDs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 424w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 848w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 1272w, https://substackcdn.com/image/fetch/$s_!WDDs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec88fc74-4507-4141-a4f7-cb03895a94b1_1024x433.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Now open a terminal in the ccifar root folder(i.e. &#8216;<em>examples</em>&#8217;) and run the following code to build it:<br>&#8220;<em><strong>bazel build ccifar/&#8230;</strong></em>&#8221;</p><p>It will take a while and maybe produced a bunch of warnings. When finished, you will get new folders in your cloned tensorflow root folder as &#8220;<em>bazel-*</em>&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rn5z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rn5z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 424w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 848w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rn5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Rn5z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 424w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 848w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 1272w, https://substackcdn.com/image/fetch/$s_!Rn5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb75026bf-7754-4fc5-8f2f-3c404d9629f1_1024x877.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p><strong>Note</strong>: As I mentioned in Requirements section, if you tried to build the wheel yourself, you will install bazel and swig. I had a problem with bazel and it was: &#8220;First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path.&#8221;. I<a href="http://stackoverflow.com/questions/34941620/unable-to-build-tensorflow-from-source-with-bazel-22nd-january-2016"> found that it is due to changes in bazel</a>. The WORKSPACE file is up-to-date with latest bazel but I was using bazel 0.1.3. After updating to latest one the problem&nbsp;fixed.</p></blockquote><h4>Step #7</h4><p>Finished!</p><p>Now you get your executable file in the following path:</p><p><em>&#8220;tensorflow/bazel-bin/tensorflow/examples/ccifar&#8221;</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RoHN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RoHN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 424w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 848w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 1272w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RoHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c56f0660-a3f1-4786-9517-8987daf21406_1024x371.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!RoHN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 424w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 848w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 1272w, https://substackcdn.com/image/fetch/$s_!RoHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56f0660-a3f1-4786-9517-8987daf21406_1024x371.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you run it, you will get&nbsp;this:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KFqc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KFqc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 424w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 848w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 1272w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KFqc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!KFqc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 424w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 848w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 1272w, https://substackcdn.com/image/fetch/$s_!KFqc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f16d485-6354-4872-81a0-2aa00f166f35_1024x849.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>As you see the first prediction is an automobile and the image I provided to the model&nbsp;was:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hKLn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hKLn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 424w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 848w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 1272w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hKLn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!hKLn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 424w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 848w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 1272w, https://substackcdn.com/image/fetch/$s_!hKLn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F295119a3-aa38-4f72-ba8a-86cf185046f8_32x32.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">One of CIFAR-10 examples. 32*32</figcaption></figure></div><p>You can also give additional arguments when running from the terminal by using: &#8220;<em>&#8202;&#8212;&#8202;image=&lt;path to your&nbsp;image&gt;</em>&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LElO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LElO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 424w, https://substackcdn.com/image/fetch/$s_!LElO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 848w, https://substackcdn.com/image/fetch/$s_!LElO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 1272w, https://substackcdn.com/image/fetch/$s_!LElO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LElO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LElO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 424w, https://substackcdn.com/image/fetch/$s_!LElO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 848w, https://substackcdn.com/image/fetch/$s_!LElO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 1272w, https://substackcdn.com/image/fetch/$s_!LElO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d4cc7ff-ed91-48d7-928c-99b595992402_1024x849.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I trained my own CIFAR-10 for ridiculously few steps, as low as 1000 steps just for the tutorial purpose but you see it still predicts the correct label for the image. I post the complete project in the <em><a href="https://github.com/HamedMP/tensorflow_export_cpp_example">github</a></em>. Actually at first, in the first 20 days of the release of tensorflow, I wanted to write a tutorial about it but I didn&#8217;t continue as it was so easy. It goes about 75% accuracy with 40&#8211;50K steps. If you have any questions about it ask&nbsp;me.</p><p>I hope this tutorial helps you to get your models works in the C++ easily. I tried to explain every situation I encounter during development and also writing this post. Let me know about any new problems, ways to do it,&nbsp;&#8230; in the comments.</p><p>If you enjoyed the tutorial, please let me know by inviting me to a cup of coffee here: <a href="http://www.buymeacoff.ee/hamedmp">www.buymeacoff.ee/hamedmp</a></p>]]></content:encoded></item></channel></rss>