<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Jake Mor on Medium]]></title>
        <description><![CDATA[Stories by Jake Mor on Medium]]></description>
        <link>https://medium.com/@jakemor?source=rss-36a36efbb496------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*vRM_zh-LKyf3Tu6LClqvWw.jpeg</url>
            <title>Stories by Jake Mor on Medium</title>
            <link>https://medium.com/@jakemor?source=rss-36a36efbb496------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 03:19:26 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@jakemor/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[FitnessAI]]></title>
            <link>https://medium.com/series/fitnessai-2b5d4cc2dfd0?source=rss-36a36efbb496------2</link>
            <guid isPermaLink="false">https://medium.com/p/2b5d4cc2dfd0</guid>
            <dc:creator><![CDATA[Jake Mor]]></dc:creator>
            <pubDate>Wed, 30 Jan 2019 07:43:03 GMT</pubDate>
            <atom:updated>2019-01-30T07:43:03.717Z</atom:updated>
            <content:encoded><![CDATA[<p>More to come!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/1*HKBQyjN8cfIB4pWtUul-FA.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2b5d4cc2dfd0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Start Up (Accidentally)]]></title>
            <link>https://medium.com/@jakemor/how-to-start-up-accidentally-abf7f05f602e?source=rss-36a36efbb496------2</link>
            <guid isPermaLink="false">https://medium.com/p/abf7f05f602e</guid>
            <category><![CDATA[inspiration]]></category>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[founder-stories]]></category>
            <category><![CDATA[startup-lessons]]></category>
            <dc:creator><![CDATA[Jake Mor]]></dc:creator>
            <pubDate>Sun, 27 Jan 2019 17:19:31 GMT</pubDate>
            <atom:updated>2019-05-24T21:37:49.351Z</atom:updated>
            <content:encoded><![CDATA[<p><em>I’d like to introduce you to a project I’ve been working on, but before I do, I want to share a story about </em><a href="https://youtu.be/E8kHDJKdJXM?t=77"><em>connecting the dots</em></a><em>.</em></p><p>My very good friend (+ previous co-founder) Jonny Nassimi and I have a perpetual, ongoing debate on how to start a startup. There are two schools of thought.</p><ol><li>Study-up, do your research and make a plan. You’re about to invest a lot of time (your most valuable resource) into something, and you better make sure you’re building something truly worth your time.</li><li>Build something small and useful — either because you want something that doesn’t exist or literally just want to have fun. It may be a waste of time, yes, but worst case you build yourself something you wanted and had fun doing it.</li></ol><p>Every founder faces this debate. Whether we’re on summer break or putting in those few extra hours outside of work, we all must decide how we spend our time. Do we plan or do we build?</p><p>I tend to lean on the “just build” side. Not because it’s easier, or more nonchalant (I’m a pretty nonchalant kinda guy 👋), but because I think its the best way to start up—even though it may not be your intentions at the time.</p><p>I’ll explain.</p><p>Around two years ago, Jonny and I were working hard on ShopTurn, a company that made in-person returns on behalf of consumers in exchange for a small fee. We had just graduated from Techstars, had ample funding and were making very good progress. We had a <strong>plan</strong> and we were <strong>executing</strong>. This was around the time HQ was going viral, so naturally, at 3pm every day, nearly everyone at our WeWork would huddle up and try to win HQ.</p><p>At one point or another, Jonny and I realized we could build a tool that would google HQ’s questions, and make an educated guess on what the answer might be. It didn’t always work, but it worked well enough. We put it online so friends can use it, and gave it a funny name — HQuack. Word got out, and before we knew it, HQuack had gone completely viral, hitting over 250k sessions within 30 days.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rB-Ti3qzMudzRICovyJuGw.png" /><figcaption>HQuack | Google Analytics</figcaption></figure><p>After much debate, we came to the conclusion that removing the site would be the right thing to do. It was ruining HQ for others, and we had no intentions to ruin a game we love so much. But you <a href="https://link.medium.com/lQALg7iMNT">know this already</a>.</p><p>What you may not know is what we did next. We felt like it would be a shame to take down such a popular site without establishing relationships with our users first. To fix that, we replaced the site with a sign up form to be notified of future products we may release. It worked, and within a week we collected 150k emails.</p><p>At this point in the story, we were faced with a unique opportunity:</p><p>What to do with a mailing list of 150,000 people who play a live mobile game show….</p><p>Create our own of course! After all, every Uber has its Lyft, and every Instagram has its <a href="https://techcrunch.com/2017/10/17/hq-trivia/">Vine</a>. 😉</p><p>We always thought HQ was a bit alienating to people who didn’t like trivia, so we put our own little spin on the game format and published <a href="https://itunes.apple.com/us/app/majorityrules-live-game-show/id1361910901?mt=8">MajorityRules</a>. Our game was different in that users had to guess the most <em>popular</em> answer to a free response question, instead of the <em>correct</em> answer to a multiple choice question. Sort of like Family Feud. 🙌</p><p>At its height, MajorityRules hit the 15th spot in the App Store under Trivia &gt; Top Charts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*did5qZD8fq3L0x3p2oRUBw.png" /><figcaption>Trivia &gt; Top Charts on the App Store</figcaption></figure><p>We had fun, squashed many bugs and worked very hard. We didn’t stay on the top charts, but we most definitely built a product that was entertaining, engaging and functional.</p><p>Eventually, we piqued the interest of a company called PeerStream(<a href="https://finance.yahoo.com/quote/PEER/">PEER</a>). They made an offer, we accepted, and only a few months after starting MajorityRules, we sold it.</p><p>And BOY did it feel good.</p><p>Jumping into the start up world comes with big risks. Deciding to pursue ShopTurn meant Jonny and I turning down some enticing post-grad job offers. To have our work even slightly validated in such a risky industry felt really good. It instilled a newfound confidence in us to continue building and follow our dreams.</p><p>And to think—it all happened by accident. There is no way we could have foreseen that starting an HQ answer bot would lead to this. Steve Jobs’ quote from his 2005 Stanford commencement speech finally started to make sense:</p><blockquote>You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. —Steve Jobs</blockquote><p>After the acquisition, I was yet again faced with a very important question. What do I do with my time? Do I research industries ripe for disruption? Or do I work on <a href="https://youtu.be/dqBb1C-ZI3w">my smart door buzzer</a>?</p><p>I began looking through my old passion projects, looking to see what had potential. Maybe, I thought, there was a dot waiting to be connected.</p><p>There was one project which seemed perfect—LiftLog.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_5S_I1MUn_NkBfWDyx9a8A.png" /><figcaption>LiftLog on the App Store: <a href="https://apple.co/2RTjqu6">https://apple.co/2RTjqu6</a></figcaption></figure><p>LiftLog is an app I made in college that allowed me to easily and efficiently keep track of my weightlifting. I made LiftLog because similar apps felt like overkill, requiring way too much of my attention mid workout. Plus, building it was much more fun than studying for finals. So during my Sophomore year, I pushed it to the App Store and forgot about it.</p><p>I monitored it every now and then, and pushed a few updates. I knew users loved it, because it received stellar reviews and retention was off the charts.</p><p>Although it never went viral, LiftLog was consistently downloaded around 30 times a day, and out of around 40k users, many of them used it religiously over the course of 3 years.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2hVc3eLXT-SUKMuXwVcQrg.png" /><figcaption>LiftLog | AppStore Connect</figcaption></figure><p>At first I decided to monetize LiftLog itself, so I changed the price from free to $2.99. No luck. Downloads went down to only ~4 a day. Free ramen, yes, but definitely no Tesla anytime soon.</p><p>Then, I remembered something: all the workout data my users were generating was being stored in the cloud. I was surprised by how much data I had collected (almost 6 million workouts) and that I couldn’t find a publicly available weightlifting dataset bigger than my own. I began analyzing everything, and found a clear disconnect between those who made progress over the years, and those who didn’t. The reason seemed obvious—people weren’t increasing the difficulty of their workouts. In fact, most people lifted the same amount, every time they performed an exercise</p><p>What surprised me is that less than 8% of my active users actually saw any real progress. I wondered if people were simply more interested in maintaining their strength as opposed to building strength, but that wasn’t the case. After a quick survey I found that 71% of my active users were actually looking to <em>get stronger.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kl3ZsIsrgT2DEzaQ8vIPpw.png" /><figcaption>LiftLog Data (left) | User Survey (right)</figcaption></figure><p>Now that’s a disconnect worth solving for.</p><p>I did a bit of googling and eventually learned about progressive overload.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QSjo33J83T_bLfgnYTTeWw.png" /><figcaption>src: <a href="https://en.wikipedia.org/wiki/Progressive_overload">https://en.wikipedia.org/wiki/Progressive_overload</a></figcaption></figure><p>I knew it was legitimate because [it was on wikipedia 💁‍♂️] it completely coincided with all the data I collected. What I needed to figure out was whether or not there is an optimal schedule to follow in order to build the most strength over a period of time.</p><p>I tasked myself to answer the following questions using LiftLog data:</p><ol><li>How often should an exercise be performed?</li><li>What is the optimal amount of difficulty to increase an exercise by between workouts? Do we ever decrease the difficulty?</li><li>Do we alter the difficulty by increasing the number of reps, or the amount of weight (or both)?</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HEPQCM99m_B5XuUk5gfomQ.jpeg" /><figcaption>Lifetime Volume Lifted (Simplified)</figcaption></figure><p>Much brainstorming, coding and designing later, I landed on <a href="https://fitnessai.app.link/medium">FitnessAI</a>. A highly effective strength training algorithm, wrapped in a beautifully simple and elegant iPhone app – the perfect weightlifting trainer, right in your pocket.</p><p>FitnessAI users see a 20% increase in total volume lifted in their first 30 days on average. If you or a friend is interested in weightlifting, I invite you to check it out <a href="https://fitnessai.app.link/medium">on the App Store</a> :)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*fqMLBKT6RH8ghtNjq0VkTQ.gif" /><figcaption>Full Demo: <a href="https://vimeo.com/307543259">https://vimeo.com/307543259</a></figcaption></figure><p>FitnessAI stands on the shoulders of 40k weightlifters who used LiftLog more than 5.9 million times over a 3 year period.</p><p>And remember, I never planned on “disrupting” the personal fitness industry, all of this happened by accident.</p><p>Since you can only connect the dots looking backwards, there’s really only one thing you can do to increase your chances of success – make a shitload of dots.</p><p>Here’s how:</p><h4><strong>1—Build Something for YOU</strong></h4><p>Take a few weeks and build something you can start using immediately. If you want something, it’s likely other people want it too. Don’t waste time adding complicated features, just get the job done quickly. After all, this is mainly for your own use.</p><p><em>If you aren’t a coder, that’s no excuse. My friend </em><a href="https://medium.com/@jabrueckner"><em>Joshua Brueckner</em></a><em> created and scaled his company AirTailor, an on-demand clothing alterations service, exclusively using </em><a href="https://airtable.com/"><em>AirTable</em></a><em> and </em><a href="http://zapier.com/"><em>Zapier</em></a><em>!</em></p><h4><strong>2—Make it Available</strong></h4><p>You don’t know if the dot you’re working on <em>now</em>, may connect to a dot in the <em>future, </em>so store everything from email addresses to usage patterns in the cloud for future reference. It’s sometimes easy to omit things like analytics and SEO for “small side projects” because it’s tedious work—just take time time and do it, because you never know how this dot may connect.</p><h4>3—Tell your Friends</h4><p>After you’ve published your side project, tell your friends about it. Post it on Product Hunt! Definitely <strong>don’t </strong>spend money marketing it. You’re really just sharing something cool you made, and giving it a chance to take off organically.</p><h4>4—Repeat</h4><p><strong>Here’s where most people mess up: </strong>Drop your current project, and start a new one. It’s easy to become attached to what you’re building. You’ve worked hard on it, and you want to make improvements. <strong>Don’t</strong>. The time you spend improving something that <em>may not</em> have potential, could be spent creating something that <em>has more</em> potential. In other words, your return on time invested diminishes, so it’s smarter to start something new.</p><h4>5—Look Back</h4><p>Every now and then, glance back at your projects. Analyze the feedback you’ve gotten and the data you’ve collected. If there’s a small following, push an update and make your users happy. If you find out something interesting, write about it on Medium! When you hit gold, you’ll know it, so don’t trick yourself into thinking it.</p><p>Just remember that patience is 🔑</p><h3>Thanks!</h3><p><em>If you want to stay up to date on future projects, consider following me on </em><a href="http://twitter.com/jakemor"><em>twitter</em></a><em>.</em></p><p><em>… and don’t forget to download </em><a href="https://fitnessai.app.link/medium"><em>FitnessAI</em></a><em>!</em></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FE8kHDJKdJXM%3Fstart%3D77%26feature%3Doembed%26start%3D77&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DE8kHDJKdJXM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FE8kHDJKdJXM%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/e9876403dd1eccde068c3d0257db521a/href">https://medium.com/media/e9876403dd1eccde068c3d0257db521a/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=abf7f05f602e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[HQuack, my public HQ Trivia Bot, is shutting down.]]></title>
            <link>https://medium.com/@jakemor/hquack-my-public-hq-trivia-bot-is-shutting-down-5d9fcdbc9f6e?source=rss-36a36efbb496------2</link>
            <guid isPermaLink="false">https://medium.com/p/5d9fcdbc9f6e</guid>
            <category><![CDATA[hq]]></category>
            <category><![CDATA[hquack]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[trivia]]></category>
            <category><![CDATA[hacking]]></category>
            <dc:creator><![CDATA[Jake Mor]]></dc:creator>
            <pubDate>Tue, 13 Feb 2018 23:08:05 GMT</pubDate>
            <atom:updated>2019-01-24T17:50:29.765Z</atom:updated>
            <content:encoded><![CDATA[<p><em>In case you don’t know me, my name is Jake Mor. I’m 24 years old have been developing iPhone and Web apps for almost 10 years. I’m currently working on </em><a href="https://getfitnessai.com/"><em>FitnessAI</em></a><em> — an artificially intelligent app that helps you get stronger</em></p><p>HQuack is a website I made that displays predictions to HQ Trivia questions in real time, every single day. It started off as a small project out of curiosity, but then it went viral.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GZ0xImAusSiDrLeCDok8hQ.png" /><figcaption>HQuack’s growth analytics from day 1</figcaption></figure><p>The funny part of this story is that none of this was intentional. When I first built HQuack, it didn’t have a name, and it wasn’t a website — it was just a program that ran on my laptop. Friends eventually found out, and kept asking me if there was a way they could use the bot too.</p><p>I gave it some thought and decided to add a page to my website,<a href="http://jakemor.com/hq"> jakemor.com/hq</a>, which mirrored the results I was getting on my laptop.</p><p>The way it worked for users was simple. A question would show up on HQ, and after a second or two, the question would show up on jakemor.com/hq, with the proposed answer highlighted in green.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TvFoDy2iIqLyElf7wR328g.png" /><figcaption>Screenshot from jakemor.com/hq</figcaption></figure><p>Fast forward about 10 days — visitors on my personal site grew 10,000% to 1,000 visitors/week. I thought that was crazy, because the only way to reach jakemor.com/hq was directly; it wasn’t linked to anywhere on the internet.</p><p>As word of mouth continued to spread, I began to wonder how big this could get. I decided to spin off jakemor.com/hq as a new product, and the more user friendly HQuack.com was born.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jqOavawLzJ0dz2zkdABPyg.png" /><figcaption>Screenshot of HQuack during a live game</figcaption></figure><p>The site began to grow 20% day over day, and after three weeks, the site hit 4.5k users.</p><p>Then, the media picked it up. The first <a href="https://theoutline.com/post/3178/now-anyone-can-cheat-at-hq-trivia?zd=1&amp;zi=ohjh2jv2">article</a> mentioning HQuack was written by Paris Martineau for The Outline on Wednesday Jan. 31st.</p><p>The day after it was published, HQuack went from 4.5k users to 11k. After that first article, <a href="http://www.complex.com/pop-culture/2018/02/cheat-hq-trivia-got-easier-new-website">Complex</a>, <a href="https://www.buzzfeed.com/katienotopoulos/dont-cheat-at-hq-trivia-unless-your-soul-has-totally-decayed?utm_term=.vlwxryqb4j#.jorKdJLOxB">BuzzFeed</a> and <a href="https://www.cnet.com/news/we-tried-to-cheat-at-hq-and-we-still-lost/">CNET</a> picked it up, and by Superbowl Sunday the site hit 19k users — a 400% increase in users over the span of 4 days.</p><p>At that point, three things happened: first, my mind was blown because I never thought I’d actually make something that would go viral, second, I began to realize the affect media can have on a small side project, and third, I began to wonder if there were any ethical problems here.</p><p>I decided it would be okay to keep the site up, because in reality, HQuack never got 12/12 questions right. It had gotten 11/12 only once before, and most of the time it only got around 9/12 right (and not in order). Sure, people were getting further than they would have without HQuack, but I never felt like HQuack was <em>ruining</em> the game for the masses.</p><p>Then, on Feb. 6th, just as SpaceX’s Falcon Heavy was launching, this happened…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6Tg2Xq_aap27cnLq7Sad8g.png" /></figure><p>HQuack went 11/12 during the midday game on Feb. 6th, and the only question it got wrong was the first one (which was a fairly easy question). That game, HQuack had 13k users, and HQ had almost 9k winners 🤔</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lk2xIT9Ei2TrJ8icVPc8RQ.png" /><figcaption>13k users at 3PM EST (12:00 PST)</figcaption></figure><p>To make matters even crazier, HQuack went 11/12 again that night, and HQs payout was only $0.89. It was becoming more apparent that when HQuack was accurate, it had a serious effect on HQ.</p><p>The next day, I woke up to an email from Rus Yusupov, HQ’s CEO. We scheduled a time to chat, and came to the conclusion that taking down the site was the right thing to do. It was fun to build something that went viral, but at what point was HQuack just ruining someone’s startup?</p><p>At the same time, my business partner and I decided to focus on an idea that we think will be huge. It’s going to be by invite only at first, so we replaced the site with a sign up form for what’s coming next. To our surprise, 25k people have already signed up!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8J_q-VYZ3kGZhGLGTfHAdw.png" /><figcaption>You can sign up at <a href="https://hquack.com/">hquack.com</a> if you haven’t already!</figcaption></figure><p>As an aspiring tech entrepreneur, it was fun to have my product in the hands of many people. This has been an extremely exciting journey, and I can’t wait to begin the next. Stay tuned!</p><p>UPDATE: 1/23/19 — I’ve launched my latest app :) <a href="https://getfitnessai.com./"><em>https://getfitnessai.com.</em></a></p><p><em>Thanks for reading. If you like this story and want to stay up to date on future projects, follow me on </em><a href="http://twitter.com/jakemor"><em>Twitter</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5d9fcdbc9f6e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How Someone Can Steal your iCloud Password]]></title>
            <link>https://medium.com/@jakemor/how-someone-can-steal-your-icloud-credentials-642ec93e2352?source=rss-36a36efbb496------2</link>
            <guid isPermaLink="false">https://medium.com/p/642ec93e2352</guid>
            <category><![CDATA[passwords]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[icloud]]></category>
            <category><![CDATA[flaws]]></category>
            <category><![CDATA[ios]]></category>
            <dc:creator><![CDATA[Jake Mor]]></dc:creator>
            <pubDate>Tue, 19 Jul 2016 18:39:34 GMT</pubDate>
            <atom:updated>2016-07-20T22:52:09.093Z</atom:updated>
            <content:encoded><![CDATA[<iframe src="https://cdn.embedly.com/widgets/media.html?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D75Zi6itUQVY&amp;src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F75Zi6itUQVY&amp;type=text%2Fhtml&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/1cc95f7f7956b5f26f7e34bde1a3d15a/href">https://medium.com/media/1cc95f7f7956b5f26f7e34bde1a3d15a/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/361/1*rFIknX2lH1_4gUVV326myw.jpeg" /></figure><p>This is the default “Sign in to iCloud” dialogue that iOS presents its users (sometimes a bit too often and for no apparent reason). What scares me is that this is a fairly simple sign in prompt for someone to doctor, include in a decoy app, and use to steal iCloud passwords.</p><h3>Email Address</h3><p>Although users iCloud emails aren’t readily available to developers, there is an <a href="https://developer.apple.com/library/ios/documentation/CloudKit/Reference/CKDiscoverUserInfosOperation_class/index.html#//apple_ref/occ/cl/CKDiscoverUserInfosOperation">API</a> Apple provides that verifies if an email address belongs to an iCloud account.</p><p>The decoy app could ask the user for their email during a sign up process, or get it from their Facebook account. Later on, the attacker could verify that the email belongs to an account, then display the popup shown in the video. If the email doesn’t belong to an iCloud account, the prompt could be modified to say that the email address provided is wrong and just ask for the email and password from within the prompt — most people wouldn’t think twice.</p><h3>Issues</h3><p>The real “Sign in to iCloud” popup seems to present itself at random times, so a fake form would be hard to detect. Additionally, iOS uses a generic UIAlertController to ask users to input secure information, which means it would be hard for the average person to detect a fake one. Instead of iOS asking users to log in from within the alert view, it should launch settings to the iCloud section where the user can securely sign in. Unfortunately, users are already conditioned to the current dialogue. I get the feeling that even if Apple secured their sign in to iCloud flow, a majority of people would still fall for this sort of attack. You may think an app like this would never be accepted by Apple, but in order to fly under the radar during the reviewal process, the attacker can delay the pop up from showing until the app is approved. For example there could be some server side logic that dictates when and who to show the fake form to.</p><p>Keep up with what I’m up to on <a href="http://twitter.com/jakemor">twitter</a> or my <a href="http://jakemor.com/">website</a>, and please share this article to raise awareness.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=642ec93e2352" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The .htaccess file I use for all my apache projects]]></title>
            <link>https://medium.com/@jakemor/the-htaccess-file-i-use-for-all-my-apache-projects-27f6caf4e707?source=rss-36a36efbb496------2</link>
            <guid isPermaLink="false">https://medium.com/p/27f6caf4e707</guid>
            <category><![CDATA[framework]]></category>
            <category><![CDATA[php]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Jake Mor]]></dc:creator>
            <pubDate>Tue, 13 Oct 2015 18:28:57 GMT</pubDate>
            <atom:updated>2016-12-08T00:38:24.087Z</atom:updated>
            <content:encoded><![CDATA[<p>Haven’t given blogging a shot yet but my coffee is getting to me so I’ll give it a whirl. Here’s the .htaccess file I use for every one of my PHP projects:</p><pre>// .htaccess (same directory as index.php)</pre><pre>RewriteEngine on<br>RewriteCond %{REQUEST_FILENAME} !-f<br>RewriteCond %{REQUEST_FILENAME} !-d<br>RewriteRule ^([^?]*)$ /PATH_TO_PROJ_DIR/index.php?path=$1 [NC,L,QSA]<br>Options -Indexes</pre><p>If you don’t know what a .htaccess file is, you can read about it <a href="https://www.google.com/search?q=what+is+a+.htaccess+file&amp;oq=what+is+a+.htaccess&amp;aqs=chrome.0.0j69i57j0l3.2755j0j4&amp;sourceid=chrome&amp;es_sm=119&amp;ie=UTF-8">here</a>. Among other things, its a way to make your <a href="http://mikeschinkel.com/blog/welldesignedurlsarebeautiful/">URLs beautiful</a>, but if you use it the right way it lets you add a nice layer of abstraction between how your client uses your API and how the app operates.</p><p>Some background: I’m not a huge fan of backend frameworks (Rails, Codeignitor, Django, Zendphp, Laravel, CakePHP, Symphony). If you know a language well, and if you are using the right language, you can do anything any framework lets you do in a couple of lines of code– you just need to think about it the right way. I like to think of using PHP <em>as a framework </em>(<a href="https://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html">I didn’t invent this idea</a>). Here’s a starter template I built in PHP that mirrors the django project setup (I love the simplicity):</p><p><a href="https://github.com/jakemor/jakephp">jakemor/jakephp</a></p><p>The .htaccess file above routes everything to index.php and makes everything before the url parameters available at $_GET[“path”].</p><p>Here’s an ex:</p><pre>this/is/the/path?param=jake&amp;param2=php+is+awesome</pre><p>In index.php:</p><pre>// index.php </pre><pre>var_dump($_GET);</pre><p>spits out:</p><pre>// http://localhost:8888/this/is/the/path?param=jake&amp;param2=php+is+awesome</pre><pre>Array<br>(<br>    [path] =&gt; this/is/the/path<br>    [param] =&gt; jake<br>    [param2] =&gt; php is awesome<br>)</pre><p>Now in index.php we can reference a function by name based on the given path, which is just a String.</p><p>Since php has support for variable functions (read more <a href="http://php.net/manual/en/functions.variable-functions.php">here</a>), you can do this:</p><pre>// index.php</pre><pre>$method = $_GET[&quot;path&quot;];<br>...<br>(figure out what file to include and include it)<br>...<br>unset($_GET[&quot;path&quot;]); // get rid of the path once we used it<br>$method($_GET); // include the $_GET as params</pre><p>There you go! Here’s a “php micro framework” that does the same thing but makes you learn how to speak Vulcan first.</p><p><a href="http://www.slimframework.com/">Slim Framework</a></p><p>And finally, from the maker of PHP Rasmus Lurdorf himself:</p><p><a href="https://www.youtube.com/watch?v=anr7DQnMMs0#t=1913">https://www.youtube.com/watch?v=anr7DQnMMs0#t=1913</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=27f6caf4e707" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>