iOS holding my phone number hostage = the worst bug I've ever experienced - <AUTHOR> http://blog.benjaminste.in/post/75389520824/ios-holding-my-phone-number-hostage-the-worst-bug <comment><USER2> Just think, if you hadn't used a proprietary messaging solution as your default contact method, you'd be able to easily control how you receive the messages. Maybe stuff like this happening is a good thing as it drills home the point the 'crazy free software lunatics' have been going on about for some time. Having this kind of thing happen to someone makes the stuff FSF+co says a bit more relevant and ultimately helps everyone.

<comment><USER3> So, what's an open-source alternative to iMessage that lots of people use?

<comment><USER4> Email? Really, now that everyone has email on their phones, why bother with SMS or these SMS-like systems? Email is more reliable, more flexible, and seems to be just as fast in practice.

<comment><USER5> The smallest email in my inbox right now has 913 bytes of headers and 132 bytes of content. Between the various hops, including through a spam filter, it took 13 seconds just to land on my server. It was then an additional 0 to 300 seconds before each of my devices knew it existed, because push remains black magic when dealing with clients and servers from different authors/companies.

This is not comparable to the normal performance of SMS or iMessages.

</comment></comment></comment></comment><comment><USER6> This has been happening for over 2 years now. I've met multiple people in real life (including total non-techies) that have run into this. It's more common than you'd think. Basically anyone moving from an iPhone to Android (or any other phone I assume) will have this problem.

At this point, it's obvious Apple is ok with this. It's a giant "fuck you" to anyone moving away from them and it leaves a bad taste in your mouth knowing they do this purposely.

<comment><USER7> That's incredibly presumptuous of you to claim Apple is doing this purposely. It seems pretty obvious to me that it's a non-trivial fix for Apple, and that there's simply no good incentive for them to prioritize fixing this over the myriad other things their engineers could be spending their time on.

<comment><USER8> Apparently it doesn't have much priority on their list considering the problem has been around for two years. If you think about how fast the mobile landscape has changed, this is no excuse for Apple

<comment><USER7> 2 years? 2 years is nothing. There are thousands upon thousands of open bug repots on Apple products older than 2 years.

<comment><USER8> Bugs are often sorted according to priority. It's clear that Apple doesn't care enough to prioritize this problem.

</comment></comment></comment></comment></comment><comment><USER9> Preventative step: set your outbound iMessage "caller id" to your email address instead of your phone number. Do this now, before you're bitten by the bug. (Apple's degraded QA as of late on iOS means you'll also have to change it back on ALL your devices on the account any time you add or remove any devices or numbers to iMessage or FaceTime on that Apple ID, too.)

This way, all your contacts are iMessaging with your email address, not your phone number. It means it will keep working when you travel internationally and switch SIM cards, and it means you can disable it easily via your Apple ID should you ditch the iPhone.

<comment><USER10> Yes, this is a good idea.

But it's an extension of "stop relying so much on a non-free, proprietary 9-digit number as your id only to be at the mercy of your phone carrier".

Personally, I use a data-only plan and feel much better than when I had a carrier-provided phone number.

<comment><USER11> This has nothing to do with the phone carrier.

In the US phone numbers are much more open than any other means of identifying someone you want to contact.

"non-free" is a bizarre thing to say in this context. No identifier is going to be free as in speech - that would defeat the purpose. If you want to have assurance that you can keep the identifier it had better not be free as in beer either - the provider of the identifier could revoke it at any time.

Some sort of government-issued communications identifier might provide the needed benefits, but actually the phone number is the best solution to the problem that we have.

If you're relying on an email address, you're in much shakier territory. (Unless you own your own domain and email hosting solution, and unless you're a multinational corporation it's likely to be less reliable than other options.)

<comment><USER10> I'm pretty sure it's quite possible and easy to create an email address, be it from gmail or another email provider.

That email address will be valid and accessible as long as you have internet access. You can travel, use Wi-Fi or cellular data, and it will work.

You can create a new email address for free.

In that context, getting a phone number is much more limited and not free (you need to pay for a voice plan, etc.). And your ability to use said number from other countries (roaming) is limited and expensive.

</comment></comment></comment></comment><comment><USER12> Some "bugs" are only fixed with class action lawsuits. This "bug" has been around for a while now and Apple _can_ fix it they just don't prioritize bugs that allow people to switch away from them easily.

It is fraud to fail to deliver messages to my phone when I've switched phones. It shouldn't take me calling you, it should happen automatically and in under a day.

</comment><comment><USER13> I know a ton of people who have this problem, it's a huge issue. My mom recently switched to a Moto X and couldn't get any text messages from my sisters. When she called Apple for support, they told her they would not help her unless she paid a fee for phone support. Read that again: they wanted her to pay extra money to properly leave their ecosystem. If they wanted her to come back to Apple it backfired, she'll never touch another iDevice after that snub.

</comment><comment><USER14> I'm experiencing the same problem, I've tried:

1) Turning off iMessage on old iPhone 2) Removing phone number from my Apple account 3) Friends removing my cell # from their address books

and a few other random things. Nothing has fixed it. The only way a friend with an iOS device can SMS me is if _they_ turn of iMessage. This is a pretty huge bug on Apple's part.

<comment><USER15> Same here. Incredibly frustrating.

Did you unregister your device(s)? After doing this I think people's iPhones know your number isn't an iPhone anymore and after it fails to send the iMessage it sends it as a regular message. The below link helped me:

[http://support.vodafone.com.au/articles/FAQ/How-to- deactivat...](http://support.vodafone.com.au/articles/FAQ/How-to-deactivate- iMessage-if-you-re-switching-from-iPhone)

I'm still having occasional problems with not getting texts but for the most part it's fixed.

<comment><USER14> Yup, I unregistered my devices too. Will double check and follow that link's instructions.

</comment></comment></comment><comment><USER16> Same problem here and I know quite a few people who've had these issues as well.

iMessage is a huge mess - even if you're still using your iPhone. Back in December, when I was still on iPhone, I went in a month-long trip abroad. Since data roaming still costs a fortune, I had data switched off most of the time. I'd just connect on wifi whenever possible and occasionally switched on the data connection when I really needed to get online while on the go.

Yet, despite the fact that I was roaming and that I had my data connection switched off, most of the text messages that my iOS-using contacts sent me were sent via iMessage instead of plain SMS. Which meant that I'd only get their message when I went back online, hours and sometimes days later.

<comment><USER17> I know of a relationship that ended because of iMessages. They had had a fight and he texted her to apologize and then he never received any responses (they went straight to his computer) and then she got more upset, he thought she wasn't talking to him, etc.

<comment><USER18> Texting an apology is never the best idea anyway, even without Apple messing it up.

<comment><USER19> The type of message sent should not matter at all. (I realize that's not what you're saying.)

And people have their own individual and transient needs. If a text message makes it easier to say you're sorry, then there's nothing wrong with it. Particular if that's already an accepted and normal way to communicate between the parties.

The problem wasn't that he sent it by text, the problem was that the relationship was too weak to withstand N hours of no communication. It was going to break anyway.

<comment><USER17> Haha, yeah it wasn't exactly mean to last, but this didn't help matters. Hey, you could even say iMessages helped them do the right thing. Good guy iMessages.

</comment></comment></comment></comment></comment><comment><USER20> Ah, this sounds familiar. I recently got a new cell phone number, using an Android phone. Some days later, a few of my fellow carpoolers told me after texting me that they were getting replies from someone else telling them they had the wrong number! I was stumped, until we noticed all the people who were failing to text me were using iPhones.

I texted my own number using one of their phones and asked the mystery recipient if she recognized my phone number. Apparently, it was her old number: still attached to her iMessage account. She removed it, but weeks later, I still don't receive any texts from iPhone users. Guess I'll have to check in with AT&T/Apple about it.

tl;dr: This bug can affect you even if you have never owned an iPhone.

<comment><USER21> This seems a big issue then - permanently caching phone numbers is dangerous; around here some 55% users are on prepaid simcards, and thoae numbers often get recycled, i.e., given out to someone else after it stops being used and teen-25 audiences tend to churn through many numbers (no idea on why they do so, i've had a single number forever, but that's how it is)

A few years earlier almost all of them wouldn't be on iOS, but now they are often using iPhones (sometimes old handmedowns) on those disposable numbers, so if it breaks messaging when changing numbers... Then that will be a problem for _many_ people.

</comment></comment><comment><USER22> Exact. Same. Issue. All their solutions do not work. I've reset Apple ID and wiped all my old iOS devices. Roughly 90% of my friends cannot text me anymore.

What's comical about this is how easy it is to fix: have a cache that breaks weekly; upon new text message, ping Apple HQ and see if device is iOS and has iMessage installed; great, save for a week.

<comment><USER23> You can do better than that. User marks iMessage account as 'inactive'. Next time someone tries to send to his address via iMessage, ping their client with an "invalidate-cache-and-send-as-SMS" status code, and it's done. Everything is handled transparently to the sending user.

No matter what, it would require some sort of update.

</comment></comment><comment><USER24> This article claims resetting your apple ID password will disassociate the imessage phone number: [http://support.apple.com/kb/HT5538](http://support.apple.com/kb/HT5538)

<comment><AUTHOR> Yup. Tried resetting everything possible. So did Apple support. And they escalated to engineers who also said they have no more records of my number server-side.

But there's no way to clear the client side caches.

<comment><USER25> Do iOS apps not have a clear data/clear cache system level option like android does?

If not, what do you do to wipe an app's data?

<comment><USER26> It does. Since it's cached on every device of the people that has sent messages to him, each one of them will either

1\. Wipe out the iMessage data - which is all their message history.

or

2\. Manually delete every message/thread the OP has been involved in.

That's not going to happen.

<comment><USER27> I believe you're missing ac29's point. Android allows applications to distinguish between cached data and "regular/permanent" data. It also allows users to clear them separately.

Logically, the Apple ID / phone number mapping seems like it should fall under cached data (e.g. it can be regenerated and does need to be re-checked from time to time). If the iOS Messaging app properly implemented this distinction, users (or Apple) could clear this cached mapping without touching anyone's message history. Sadly, it sounds like it hasn't been implemented that way, so...

</comment></comment></comment></comment></comment><comment><USER28> The same thing happened to me when I broke my iPhone a few months back. I ended up speaking to 3 or 4 different representatives explaining that I had removed the phone number from all my iDevices, but couldn't turn iMessages off from the device. I went so far as borrowing a friend's phone, and getting a new phone number associated with my Apple account. The solution that ended up working for me was changing the password associated with my Apple account.

I don't understand why Apple doesn't have a solution to this yet. It was obviously going to be a problem from the start.

The people I feel worst for are those who get a phone number that used to belong to an iPhone user. They may miss texts without any idea what is going on, and without any recourse to fix it.

</comment><comment><USER29> I had the same issue when switching to a Nexus 5.

[https://appleid.apple.com](https://appleid.apple.com) Try going here and removing the phone number from the "Phone Numbers" section. I still have friends who try to message me and their iOS assumes I'm using iMessage. The "retry as SMS" feature is the only method that works.

<comment><USER30> Also make sure to tell them "Send as SMS" is enabled on their iMessage settings. This will automatically try to re-send it as a text without manual intervention.

</comment></comment><comment><USER31> I recently had this exact problem.

THE FIX: Log in to your Apple support profile, go to the devices section, then unregister all the iOS devices associated with your account.

</comment><comment><USER32> Changing your number should not be the solution to this problem. I recently switched from iOS to Android and have been experiencing the same issues. The OP's title says it best, "IOS holding my phone number hostage." Changing my number would require an incredible amount of inconvenience. Apple needs to address this immediately.

</comment><comment><USER33> I had this same problem and recently solved it by \- putting my sim back into my old iOS phone. \- reactivating iMessage on the old phone WITH the sim inside of the old phone \- wait to make sure the phone fully registers with iMessage servers \- deactivate iMessage WITH the sim inside the phone

After following these steps, I'm not problem free. I had tried many times before to reactivate/deactivate iMessage, but never with the sim back in the device.

<comment><USER34> Not problem free or 'now' problem free? Would love to know if this solution works. Thanks!

</comment></comment><comment><USER35> I recently made exactly ths same switch, and unsurprisingly had exactly this issue. I resolved it by turning on my iPhone, putting it in airplane mode, and turning on wireless.

I then went into Settings >> Messages and turned off iMessage. All the iPhones that had previously been trying to send me messages via iMessage then started routing messages to me via text.

</comment><comment><USER3> The saddest part about this story is perhaps the fact that iMessage was supposed to be open and allow other phone builders to use it. Having it truly cross-platform in the first place would have avoided a situation like this :(

<comment><USER36> Facetime was supposed to become an open standard†, but I don't think Apple ever said that about imessage.

† From the WWDC 2010 keynote: "And we're going to take it all the way. We're going to the standards bodies, starting tomorrow, and we're going to make Facetime an open industry standard."

</comment></comment><comment><USER37> >IOS

Hacker News's automatic capitalisation strikes again! I thought this was about Cisco IOS for a moment.

</comment><comment><USER38> Did you try putting your SIM card back into your iPhone, then going to Settings > Messages and turning off iMessage over there? Make sure you have an internet connection too so it can "broadcast" your new status to Apple HQ. This is what I do when I'm abroad and don't want to dataroam. It's possible you already tried that and it won't make a difference - I don't use group messaging a lot.

<comment><USER39> "Let me recap: I no longer have iPhone"

<comment><USER40> This would also work if a friend lent him their phone.

Of course, he'd have to do a backup > wipe > setup phone with his iCloud account & SIM > change settings > wipe > restore from backup... but, honestly, this is the process I had to do and it took about 5-10 mins tops.

I had this same exact problem, and this was by far the easiest solution. Just need to have a friend willing to you let you manhandle their phone for a little while.

</comment></comment></comment><comment><USER41> What is the radar number for this bug? You did file a bug report, right? [http://bugreport.apple.com](http://bugreport.apple.com)

If not... you should do so.

If you give people the radar number they can duplicate it at that same site and raise its priority.

<comment><USER41> crickets...

</comment></comment><comment><USER42> The same thing happened to my Mom when she switched to Android this past Christmas. The solution in that case was to get her to connect her old iPhone to the Internet via Wi-Fi, and then disable iMessages.

I assume that you would need to disable iMessages on all your iDevices in order to remedy the problem.

</comment><comment><USER43> Wouldn't it work to lend an iPhone, turn it on with the SIM holding the number and then switch off iMessages there? Wouldn't this invalidate the cached account in other iPhones?

<comment><USER44> No this does not work. Group MMS from iohones are still dropped (as the article clearly describes).

<comment><USER43> I don't see how the group MMS show that this wouldn't work - the question is whether cached accounts get purged through this client action, both on server and peers.

</comment></comment></comment><comment><USER45> I know it's annoying but the best solution here just seems to change your number. Don't lose your mind over this one.

edit : seems like people don't understand my post. If you have a voice, the good thing to do is to make a blog post and submit it to websites like HN. The guy did it, now what can he do if he needs a quick fix? If he's in rush? Change number. It's really not that terrible and I do it every year without trouble.

<comment><USER46> I've had the same number for 16 years. Ported it between four different networks.

(I still get recreuiters calling who have clearly only read a CV of mine from 10 years ago.)

<comment><USER45> It's never a good idea to rely on one number, or one email address, etc... The day you lose this you lose all your connections.

<comment><USER47> While one might lose their email losing a phone number is way way harder.

I'm not sure how it works in US but in Finland you have guaranteed transferring across operators. Guaranteed as in fines will tick if the operator from which the number is transferred away is having some 'problems'. Not surprisingly those kind of problems are almost nonexistent.

</comment></comment></comment></comment><comment><USER48> I'm currently having to deal with this too. The best solution that I found was switching my number and keeping the iPhone, jailbreaking it, and installing BiteSMS with forwarding.

It's kinda a pain and of course I have to pay to keep the iPhone around.

</comment><comment><USER49> Rather than telling your friends to delete their entire history, what's the problem with asking them to just make a new contact listing? I'm not familiar with the gubbins of iMessage.

<comment><USER50> I think the problem is that asking everyone that's ever messaged you from an iOS device to modify something on their handset every time someone in their contacts switches platforms isn't a reasonable request.

</comment></comment><comment><USER30> Changing your Apple Id Password works like a charm too. It will log you out of your iMessage services. I did this when I switched to Galaxy Note 3.

</comment><comment><USER51> >But to ask my wife, my sister, my best friends, and literally every person I know to delete THEIR message histories? You've got to be kidding me!

That is true, but not because of photos - don't they keep backups?

I guess this is why not to use vendor lock-in software instead of a globally accepted standard for basic communication.

</comment><comment><USER52> I too switched to Android after Apple released iOS7 and have been having similar issues. The only solution I've found so far that still doesn't fix 100% of the problems is by asking friends and relatives to log out of iMessage, restart their phone then log back in.

</comment><comment><USER53> Solution wise, even if iOS devs created a fix to purge the cache older than X weeks and to recechk it would still require all your friends to install the update before it takes affect, so I don't even see a fully fixed and timely solution to this.

</comment><comment><USER54> I've had similar problems when switching between Android & iOS devices over the years with both T-Mobile and AT&T. It was a bit perplexing the first couple times it happened. Then I got used to the drill.

The solution, at least in my situation, was to call the carrier. Apple wasn't at fault.

Both T-Mobile and AT&T would fail to complete all steps required for the transfer, and therefore still showed the old device as the active one. A simple call resolved the issue.

In a couple instances, AT&T & T-Mobile would resolve the issue. Then I'd see the same behavior again weeks later. Sure enough, they had reverted to the old device on my profile. Calling them again resolved the issue.

</comment><comment><USER55> For those who want to extol the virtues of FSF, do note the following:

1) GSM is neither free(both in free beer and free to distribute) nor open- source 2) The phone that you are using, no matter how 'free' the software are, the hardware are mostly proprietary and those manufacturers aren't very FSF friendly (now getting better, but still way to go) 3) Phone manufacturers tend to add proprietary drivers/apps on top of Android, which renders the whole system not 100% free software either, so by saying iOS is closed-source, it is kind of like pot calling kettle black.

</comment><comment><USER56> This has to be _the_ most common issue with caches anywhere anytime.

When and how do you invalidate.

My own example - I have Youtube comments that were up for a few hours before I deleted them. They still appear on my G+ history :-(

</comment><comment><USER57> This is a serious problem and I'm gonna let him finish, but I get a huge amount of schadenfreude from hearing about the suffering of someone who sends a lot of group MMSes.

</comment><comment><USER58> My daughter had a similar problem. She has no data plan on her iPhone and she found that texts from some friends seemed to be delayed. Messages were not being sent/received until she connected to Wi-Fi.

To fix, her friends who previously used iMessage to reach her had to start a new SMS conversation (or turn off iMessage entirely). If her friends just continued the conversations that started via iMessage, she could not get them via SMS.

</comment><comment><USER59> Wow. I switched to Android before iMessage came out, but I sure as heck will triple check if this has been fixed before ever consider an iPhone again.

</comment><comment><USER60> What's worse is that Apple iMessage servers seem to cache your phone number for a long time too... Even new message threads from my friends were trying to send as iMessage, even long after I got rid of my iPhone, disabled iMessage everywhere, and deleted any association of my phone number I could find. (I too switched from iOS to Android.) I find this crazy, that Apple lock you in like that.

</comment><comment><USER61> Also, the default messaging app in Android may or may not be helpful. I've found Ninja to be the better way to go when dealing with SMS with the Apple folks yet to leave iOS.

[http://mergy.org/2013/12/problems-getting-group-smsmms- from-...](http://mergy.org/2013/12/problems-getting-group-smsmms-from-ios-on- android-get-ninja-sms/)

</comment><comment><USER62> I've noticed lately that texts to people switching from iPhone to Android will fail and require user interaction.

When did this change? I recall texting a friend a couple years back, and it automatically failed over to SMS. I remember this explicitly because I was in Mexico at the time, and it led to a few extra bucks in special charges for texting in a foreign country.

<comment><USER63> It is a option on the sender phone if it should use system in case of failure. Maybe the default have changed?

</comment></comment><comment><USER64> I had this same problem and the best case fix seems to be to reset your Apple ID password; this forces you to log out from all devices, and so iMessage will at least error out for people who try and text you. But their devices will never go back to normal texts unless they specifically force it too, and that kind of lock-in is utter bullshit.

<comment><USER65> Nice fix. I hate changing this password as the everything needs updating. Appletv, App Store (on 3 macs iphone and iPad) iTunes (2 macs iphone and iPad for music) home sharing (on everything) iMessage (Mac and iphone), FaceTime (Mac, iphone, iPad), developer portal (Mac), itunes connect (Mac), email (Mac, iphone, iPad) and iCloud backups on everything. It is hellish and invariably something is missed so the bugs aren't ironed out for weeks. Don't change your passwords as Appleland becomes a dark and hellish place.

</comment></comment><comment><USER66> I had a friend who went through this same issue, for about a week i wondered why he never replied to me, until we talked about it and i realized the situation he was in. It's a terrible bug, apple seriously need to address this.

I get why they wouldnt want to, but to me this is a shady as a broken "Unsubscribe from this email" link.

</comment><comment><USER67> Turning off iMessage on her iPhone, making sure any references to iMessage in any device settings (including OSX) related only to an email address not a cell number before moving to Android meant my girlfriend didn't experience any issues. Not sure if that's a panacea and she was just lucky though ..

</comment><comment><USER68> Changing my iTunes password worked for me.

</comment><comment><USER69> You can unlink your phone number from iMessages, and even deactivate iMessages totally avoiding this problem...

<comment><USER65> He did this, I have done this. It doesn't work. He may have updated the blog since you wrote this.

</comment></comment><comment><USER70> Had the same thing happen to me with a friend (me on iOS, him on iOS->Android) - it seemed to me that the trick was to press 'Send as Text Message' when the message fails to deliver. From then, it seems to work fine, as that probably forces a check on the Apple ID validity.

</comment><comment><USER71> I had the same issue, and after isolating the problem to iOS clients like the author did, I had some success by having iMessage users remove and re-add me as a contact. Obviously not a good general solution, but it's better than having them delete every message chain.

</comment><comment><USER72> A fairly simple solution would be to get a Google Voice number, that would forward to your real number - and have people text you via Google Voice. However, if anybody calls (or sends an old-style SMS to) your old number, it would still come through.

<comment><USER18> This is not a solution if you live outside of the USA.

</comment></comment><comment><USER73> I'm having what I think is the same problem just from getting my broken iPhone 5 replaced with a new one. Same deal with tech support - very nice, but not able to solve the problem. Sounds like a bug in iOS that could seriously stand fixing.

</comment><comment><USER74> Same thing happened to me when I switched to Windows Phone. I didn't realize it until my iPhone was long gone. I un-registered my iPhone on Apple's site and about a month later, iPhone users could text me again.

</comment><comment><USER75> This is worrying as my Mum's iPhone just bit the dust and we replaced it with an Android phone. I'm hoping that she doesn't experience the same issues with her friends and family (many of whom use iPhones).

</comment><comment><USER76> I have the same issue. I called apple support and they simply could not help me.

</comment><comment><USER77> When I upgraded to Android 4.3 I believe Google asked if I wanted to route my messages through Hangouts (Google+). I assume this would send everything through Gchat/Google+ wherever possible and skip SMS...

</comment><comment><USER78> When I was on IOS I regularly turned off imessage and back on again to refresh contacts. It's a pain in the ass, but it helped ease the pain of my friends switching to android before I did.

</comment><comment><USER79> I had this same issue, it was so bad I just went back to the iPhone.

</comment><comment><USER80> This is the problem with bolting proprietary standards on top of legacy methodology.

I do swear that iOS by default does send SMS after 5 minutes if it can't do it over iMessage though?

<comment><USER65> Not always, even when 'send as SMS when iMessage is unavailable' is turned on. Fixing iMessage issues is near impossible due to the complete absence of useful settings.

</comment></comment><comment><USER81> This isn't a bug. How do you expect it to work? It's probably not just expected behavior, but an intentional form of vendor lock-in.

</comment><comment><USER18> I noticed this over the last 2 weeks. I switched my mobile data off, and now I don't get SMS from my friends until I return home.

Nice one Apple.

</comment><comment><USER82> I had this happen to me, and I was only able to receive texts on my new S4 after disabling iMessage on my old iPhone and iPad.

</comment><comment><USER83> I've got exactly the same problem here, has anyone found a solution (other than not using iMessage in the first place)?

</comment><comment><USER84> It probably costs like $5 to change your phone number. I think that's the best option at this point.

<comment><USER85> And it possibly costs you new business cards, and having to let everyone know that you have a new number, and changing any social profiles, etc.

...or Apple could stop making crappy software like this ;)

<comment><USER86> Unfortunately Apple has zero incentive to fix this bug. Why should they care about customers they already lost?

<comment><USER87> I try and be very helpful to customers I'm losing... they might come back one day or recommend someone to me.

</comment></comment></comment></comment><comment><USER88> Yup, have been hit by this, but not as bad as I use both platforms. Glad you wrote about it though.

</comment><comment><USER89> I have a question for mobile developers...

is Apple the only one making this mistake?

</comment><comment><USER90> This is why you disable iMessage before turning your device in.

<comment><USER65> Could you explain what you mean? I've been bit by this but have my old phone, and the blog states that he turned iMessage off everywhere.

</comment></comment><comment><USER91> Try switching back to iOS then forward to android again?

</comment><comment><USER92> You should seriously improve your blog's contrast, especially regarding small text. The background is around #F5F1F8 while the text is #888588 (which is not enough to meet WC3 recommendations).

</comment><comment><USER93> Time to switch your friends to WhatsApp

</comment><comment><USER94> Steve Jobs dies and everything goes to hell. Tim Cooks biggest innovation was the Apple Dividend.

<comment><USER95> Nevermind the fact that iMessage existed long before SJ passed on and that this issue has been present since then. Just cut off those rough edges to cram it into your narrative.

</comment></comment><comment><USER96> If message histories are your only copy of family/friends photos, you're doing it wrong.

<comment><USER86> This is a such wrong reply. The OP did not complain about his message history, he was talking about message histories of all his friends and relatives. Do you really think it could be socially acceptable to approach each of your friends and relative and tell them: "If message histories are your only copy of family/friends photos, you're doing it wrong." ?

<comment><USER97> I don't even think it is acceptable to approach each of your friends and relatives and pester them with some technical issue that shouldn't exist in the first place. The proposed fix just isn't a viable solution.

<comment><USER95> This is true, but on the flipside it's hardly Apple's fault if the only copy they have of highly important and sentimental photos is a cached messaging stream. There are countless ways to back up that data. It's like blaming Microsoft because you didn't save transferred files during a Skype session. Once they're on you're end, they're your problem. Apple's job is to send them and make sure they arrive, that's it.

This bug sucks and Apple's solution isn't a good one, but that rebuttal is equally weak. Use PhoneDisk, PhoneView or one of the other methods to pull a text messaging history if it's that important to you and then blow it away.</comment></comment></comment></comment>


Show HN: repl.it — A client-side web REPL for 15+ languages - <AUTHOR> http://repl.it/

<comment><AUTHOR> repl.it is an online REPL that supports 15+ languages, from Python to QBasic, using language interpreters written in JavaScript or compiled to JavaScript using Emscripten (<http://emscripten.org/>).

This project grew from @amasad and me wanting a quick way to try out little snippets of code while learning a new language or when away from our work machines.

We opted to have all the execution client-side to provide a smooth experience where you don't have to wait for the server to respond to every command. Technically you don't even need an internet connection once it's cached. You can also save your REPL session and resume from another machine, or share it with other people. We have beta support for mobile devices, so you can REPL from your Android or iPhone, though Ruby and Python are still not supported on iOS.

The code is open sourced under the MIT license and available from GitHub (<https://github.com/replit>).

All feedback greatly appreciated!

</comment><comment><USER2> Great site! Already tried Ruby and Python and it works perfectly - except one thing: I can't enter [ ] on a German keyboard.</comment>


The Startup Story of Carbonmade - <AUTHOR> http://carsonified.com/blog/business/the-startup-story-of-carbonmade/

<comment><USER2> It says they have around 200k members. I wonder how many are paid members?

1% of 200k is 2k, times $12 = $24k/month.

I would suspect 1% is low. Probably closer to 5%.

So ~ $100k/month and growing...

</comment><comment><USER3> There's few entrepreneurs I look up to as much as Spencer Fry. Well written story of Carbonmade's story.

</comment><comment><USER4> read this! then follow their lead.</comment>


Ask HN: What services and software do you pay for? - <AUTHOR>

This covers either business (e.g., AWS, Facebook ads, Bitbucket) or personal (e.g., Uber, Instacart, Netflix). If possible, please try to list the product not the category (e.g., AWS, not hosting). <comment><USER11> Software:

      - Adobe Creative Cloud
      - <USER2>
      - CSSEdit (Great CSS editor - sadly discontinued)
      - Macupdate Desktop (simple mac app updates)
      - 1Password (Password management)
      - CloudPull (offline Google Apps backups)
      - DaiseyDisk (visualize disk space)
      - DiskWarrior (Mac disk repair)
      - ScannerZ (Mac disk testing)
      - GitBox (simple Git front end)
      - Transmit (FTP)
      - TotalFinder (Mac Finder Enhancements)
      - BetterSnapTool (semi-tiling window manager)
      - ServeToMe (personal media streaming with adaptive bitrates)
      - Find Any File (advanced file searches)
      - LaunchControl (launchd(8) service creation and editing)
      - A Better Finder Rename (good for batch renaming and modifications)

Services:

      - <USER3>
      - <USER4>
      - <USER5>
      - 10dollar.ca
      - <USER6>
      - <USER7>
      - <USER8>
      - <USER9>

</comment><comment><USER12> Just for personal use, and I'm not exactly a hacker either:

      Webtropia - Server hosting
      Gandi & OVH - <USER10>
      Dxtory - DirectX/OpenGL capture (one time)

I also have a free student account on Github, plus $100 credit on Digital Ocean I should use. Mostly I use free/open source software though (Photoshop CS2 worth a mention?).

</comment><comment><USER13> Business: Digital Ocean (VPS), GoDaddy (Domain Name), Namecheap (SSL), PhpStorm (PHP IDE), PyCharm (Python IDE), Sublime Text 2 (Text Editor), Balsamiq (Mockups), Tableau (Visualization), Dropbox (storage), Stripe (Payment), Paypal (Payment)

Personal: Netflix (Movies and TV Series)

</comment><comment><USER14> I'm a cheap guy, just pay:

\- iwantmyname for domains, a suckless register

\- digital ocean for testing (vps)

\- chicagovps.net for long term services (vps)

\- pagekite, localhost for the world

<comment><USER15> I'm not very technical but why do you need to use pagekite instead of something like ngrok, which offers fairly good functionality when registered, for free?

</comment></comment><comment><USER16> Off the top of my head for business:

\- Shopify

\- Xero (accounting)

\- Stitch Labs (Inventory/integration)

\- Slack

\- Shipping Easy

\- AWS

\- Adobe Creative Cloud

\- CrossWorks for ARM

\- EAGLE PCB (PCB layout - the real good stuff is all 10k a seat)

\- Dropbox

Personal:

\- Tivo

\- Netflix

\- Crashplan

\- Dropbox

The better question might be what would you buy given more resources.

</comment><comment><USER17> * New Relic - Server Monitoring

* Canvas by Instructure - Learning Management System

</comment><comment><USER18> Business:

* New Relic

* Rackspace VPS, CDN

* CrashPlan

* Amazon S3

Personal:

* Sublime

* Digital Ocean VPS

* Experimental VPS's from Cloud Shards, BlueVM, etc (whoever is cheap at the time I'm looking)

* Hulu Plus

* Amazon Prime

</comment><comment><USER19> Business:

Linode

Github

Hoovers

Google Apps

Mixergy

Safari

Amazon AWS

<comment><AUTHOR> why linode & aws?

<comment><USER19> We use Linode for infrastructure - our website, our CRM system, demo servers, wiki, etc. AWS is just for R&D, temporary demos, etc.

</comment></comment></comment><comment><USER20> zapier, github</comment>


Five Myths about Economic Inequality in America - <AUTHOR> http://www.cato.org/publications/policy-analysis/five-myths-about-economic-inequality-america?utm_content=bufferca7e8&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer <comment><USER2> MYTH 6: The Rich use pseudo authoritative institutes and media organizations to influence public opinion using facts and other antidotes to support conclusions and beliefs that they've held from the start to add a sense of journalistic integrity or scientific rigor that doesn't exist.

</comment><comment><USER3> The Cato Institute is an American libertarian think tank headquartered in Washington, D.C. It was founded as the Charles Koch Foundation in 1974 by Ed Crane, Murray Rothbard, and Charles Koch, chairman of the board and chief executive officer of the conglomerate Koch Industries.</comment>


Non-Linux FOSS: Git Yer Tortoise On - <AUTHOR> http://www.linuxjournal.com/content/non-linux-foss-git-yer-tortoise

<comment><USER2> Tortoise Git is a pretty good tool, though it still has some UX hints from its predecessor, TorstoiseSVN. They're both very compelling tools in the Windows ecosystem, and certain things are actually less annoying with a proper GUI than the CLI equivalent--history viewing, for instance.

It's a pretty good addition to your toolbox in Windows, and I find it much less cumbersome than the Github client.</comment>


Introducing the 'right to eavesdrop on your things' - <AUTHOR> http://www.politico.com/agenda/story/2015/06/internet-of-things-privacy-concerns-000107 <comment><USER2> _Encryption is a great way to protect against eavesdropping from bad guys. But when it stops the devices' actual owners from listening in to make sure the device isn't tattling on them, the effect is anti-consumer._

That reminds me of a comment from when smart TVs were discovered to be sending filenames and other info, since it was sent in plaintext: "If they had used HTTPS, this might not have been discovered."

The most important thing to realise is that security can work for you, and it can also work against you. It's not only a "right to eavesdrop", but users will need to maintain _control_ over their devices if they want the former. This is somewhat related to the War on General Purpose Computing, and what I think is the biggest dilemma is that users need to have a certain level of knowledge in order to understand what their devices are doing and control them; but many don't want to; they only see the advantages and don't care about how something works, whether it "phones home" or what kind of data it's sending, as long as it makes something in their lives easier.

News stories about how smart TVs phone home have circulated, and yet AFAIK people are still buying them in great quantities. They just don't care. They are outraged and shocked when the news appears, but shortly afterwards they carry on as if nothing happened. That, I think, is the scariest part.

<comment><USER3> >what I think is the biggest dilemma is that users need to have a certain level of knowledge in order to understand what their devices are doing and control them; but many don't want to; they only see the advantages and don't care about how something works

This is why regulation is important. Most people don't care what their phone tattles about them to their provider. Similarly, most people don't read the ingredient list on their food.

But the ingredient list /has/ to be there, by regulation, and because it is, small numbers of people can post analysis that guides the entire population.

We need similar regulation over computerized devices, and that's everything from desktop computers through phones to self-driving cars and smart fire alarms.

<comment><USER4> Precisely. Especially as these devices start making important legal and philosophical choices... such as the self driving car that needs to choose between swerving and hitting an elderly person on the sidewalk vs. running over a child that has darted out into the road. We HAVE to be able to know what kind of programming these things have if we are to maintain any semblance of humanity and morality.

</comment></comment></comment><comment><USER5> 1\. The title gives the wrong impression. It might be better to phrase it as "right to eavesdrop on _(my|your) own_ things".

2\. I'm not sure that communication transparency is what led to the success of PCs, smartphones, and the Web. Perhaps the Web, but definitely not smartphones. People had to fight tooth and nail for the right to root or jailbreak their own phones!

3\. How do you add the ability to eavesdrop on a device without compromising TLS or adding a remote back door that anyone could exploit? The only way that I can think of, and the only way that this has traditionally been done with PCs, is to give local root to the owner.

If the owner has root, then he can make the device trust his own certificate and proceed to MITM it with his own router. But an owner with root can also modify the device's "firmware" to make it behave in ways that the manufacturer never intended, and manufacturers will do everything in their power to prevent this. Nobody wants to admit that they're actually selling general-purpose computers.

If the manufacturers are not going to cooperate (and I don't think they will), then perhaps what needs to happen is that we should start rooting/jailbreaking every smart device we can get our hands on, and thereby force them to be transparent. It can't be that difficult, after all. Where are all the clever folks who helped root and jailbreak our phones? Let's send them some TVs to play with, warranties be damned. Perfect security doesn't exist, and we can use that fact to our advantage.

<comment><USER6> (Author here.) Our thinking is that the protocol would enable a _read-only_ monitor, which would be able to see the plaintext but not modify it without detection. As the article says, this is what it would take to build a good IDS/IPS for your things -- something that can audit the communications and make sure what's going in and out matches what you should expect.

We're _not_ proposing that the IDS/IPS should necessarily be able to MITM the connections. Then you're just putting all your trust into the IDS/IPS and making it the single point of vulnerability (just like the device is now). But if you have a construction that lets you build a read-only IDS/IPS, then you could in theory buy 100 of them from different manufacturers and have them all audit each other.

One straw-man way to do this would be to run a stream of "integrity-only TLS" inside normal TLS. The outer TLS would allow the owner to install their own CA root certificate on the Thing. The inner TLS would be pinned to the public key of the cloud provider. The IDS/IPS would MITM the outer connection and would be able to read the inner stream, but the MAC on the inner stream would prevent tampering by the IDS/IPS.

<comment><USER5> That's an interesting proposal, but I'm concerned that it sounds a bit like intentionally crippling TLS. Historically, TLS has had all sorts of subtle bugs that could bite you in the ass unless you did things just right. It will take a lot of time and effort to demonstrate that the layered protocol you propose is no less secure than vanilla TLS.

I'm also not sure whether it's a good idea to make it so easy for typical users to add their own CA certificates to smart devices. Such a facility could be easily subverted by criminals and governments to eavesdrop on a large number of users. (Remember when people would XSS themselves on Facebook by pasting crap into their browser console?)

It's just as impossible to open a backdoor for the owner and nobody else as it is to open a backdoor for the FBI and nobody else. So I think there's some value in making it difficult to eavesdrop on your own devices. Perhaps it really should require taking off the cover and attaching a serial console.

</comment></comment></comment><comment><USER7> Could this be implemented as a user-owned SSL mitm proxy and deep-packet inspection engine which is accessed by a VPN from all your interactive devices? Low-power home IoT devices would already be inside the VPN.

<comment><USER4> I think that's what the author was getting as with the iphone example... users installed their own root certificates to run a mitm on their device

The point they were making about embedded devices is that you can't update the certificate being used

</comment></comment><comment><USER8> Seems like arguing for open source software on devices would cut closer and more directly for the point they're trying to make.

<comment><USER9> The problem is tivoisation. Open source is related, but not the same thing.

</comment></comment><comment><USER10> The UK already has these rights and more:

[https://www.gov.uk/data-protection/find-out-what-data-an- org...](https://www.gov.uk/data-protection/find-out-what-data-an-organisation- has-about-you)

[https://www.gov.uk/data-protection/the-data-protection- act](https://www.gov.uk/data-protection/the-data-protection-act)

<comment><USER11> That's not the same thing at all. A company can easily keep non-personally identifiable information about you and never have to release that information.

This is about device to device communication, not information storage.

</comment></comment><comment><USER12> There should be a law against this sort of behavior from devices.</comment>


Microsoft, Nokia, Sony, and others fight to survive the high-stakes holidays - <AUTHOR> http://www.theverge.com/2012/10/22/3537380/the-high-stakes-of-holiday-shopping

<comment><AUTHOR> In particular ...

"If consumers buy into the new Lumias, preferably in a literal sense, Nokia can begin to climb out of its epic malaise. And if they don't, there's nothing else on the horizon to spur the revival it needs. In fact, the horizon itself is continually being eroded by the company's mounting losses."</comment>


Ask HN: What web framework(s) do you guys use? - <AUTHOR> What web framework(s) do you guys (and girls) use? And why not their competitors? <comment><USER2> In the recent years I have built my own, mostly basing it on other libraries and reusing as many things as possible.

In Python there's something called WSGI (Web Server Gateway Interface) which makes it trivial to implement your own framework. Around 2 years ago I wrote a blog post about WSGI and how to quickly build a Python framework <http://amix.dk/blog/viewEntry/105> In the recent years WSGI has grown a lot. Check out wsgi.org for more info.

One can learn a lot of things by making and using own stuff, but it can also be very frustrating (because of bugs and lack of resources). But generally, I like to use own my stuff and my own conventions - I know at least who to blame when some stuff does not work or something is "ugly" :)

</comment><comment><USER3> Django, because it has magical powers, who can beat that?

<comment><USER4> Rails. Anyway, I am not saying that Rails is better. I am just wondering how magical Django is?

<comment><USER5> <http://www.djangopony.com/>

<comment><USER6> Nothing girly about a horse. Nothing girly about a horn. Put them together, you have a unicorn.

<comment><USER7> Nothing horsey about a girl. Nothing horny about a girl. Put them together, you're horsing around with a horny girl.

</comment></comment></comment></comment></comment><comment><USER8> Rails, because I lost the Python vs. Ruby argument, and now we're all converts.

</comment><comment><USER9> Pylons. <http://pylonshq.com/>

<comment><USER10> Seconding. The ability to use SQLAlchemy and Jinja2 is fantastic; I personally think they're better than Django's ORM and templating system.

</comment></comment><comment><USER11> I use LeftParen (<http://leftparen.com>), a PLT Scheme web framework (that I happen to maintain).

<comment><USER12> LP here also. But you probably already knew that.

</comment></comment><comment><USER13> If you do it yourself, does it count as a framework?

Server: python, postgresql, cherrypy, simplejson

Client: Javascript, HTML, CSS, Dojo, AJAX.

All the HTML is loaded up front and then AJAX for all the rest. Dojo insulates me from browser quirks. TDD Python is what I use at work (and love) and is good for complex algorithms (language morphology, in arabic).

I don't use an all-encompassing framework because I need total UTF-8 support and I feel more comfortable with the general tailorability of the lower-level libraries over the likes of Django, Rails.

<comment><USER14> I'll never understand why people use DoJo.

Its greatest strength are all the "widgets" i guess you'd call them. However they are all not created equal. Some are well polished and deliver acceptable performance levels and other times they are just demos and hacks.

<comment><USER15> The Dojo examples page always froze my browser. Even after switching computers and operating systems, it would hang for a while. I never did figure out if it was just me or nobody else seemed to notice.

<comment><USER16> I noticed too :)

Just wondering why Zend chose it as their main ajax framework.

<comment><USER17> Spring WebFlow did too. It boggles the mind.

</comment></comment></comment></comment></comment><comment><USER18> I'm a cakePHP user. It has gotten and keeps getting a lot better as of recent, and I really like the community. I looked into codeigniter after using cakephp for a while and it just seemed to have a lot less to offer. I tried symfony too and it seemed alot more complex, unnecessarily so.

I'm currently dabbling in Rails and Django, but am going to put them down until I finish my current project, since there's nothing in either that I can't do in cake, as far as my project's requirements go.

These are also a lot less portable than the PHP frameworks, which I find is a big deal if ever you want to lengthen your runway with client work. It's MUCH harder to get a quick 2-5k on a small webpage when the client hears "change hosting".

<comment><USER19> I've been working on a PHP framework that is similar in the 'full-stack' approach of Cake but has performance characteristics of CodeIgniter. It's called Recess and can be found over at <http://www.RecessFramework.org>

</comment></comment><comment><USER20> codeigniter and rails.

rails because, well, its rails. building something out is typically quick and easy.

codeigniter for those cases when i need to get my hands dirty on a lower level and do some non-standard things. its a minimalist framework that doesn't add much bloat, overhead or other things in your way.

i kind of mentally compare it to java and c.

</comment><comment><USER21> Django. It was a toss up for me between Django and Rails but at the time, the updated Rails book was not out yet and the Django book was.

And Django has a magic pony. <http://djangopony.com/>

</comment><comment><USER22> Ruby + Sinatra for now. It's great for tiny services that work together.

A full web service to implement '/add/1/2' is just

require 'sinatra'; get('/add/:a/:b') { params[:a].to_i + params[:b].to_i }

<comment><USER23> Sinatra is definitely an interesting project. We recently "ported" it to JavaScript:

[http://github.com/tlrobinson/jack/blob/030685ef3de4c29c38b4e...](http://github.com/tlrobinson/jack/blob/030685ef3de4c29c38b4e2ce22f638b698532b2b/lib/roundabout.js)

The same webservice would be:

        roundabout.route({ path:"/add/{a}/{b}", get: function(){this.body = this.wildcards["a"] + this.wildcards["b"];} })

or, alternatively:

        roundabout.get("/add/{a}/{b}", function(){ this.body = this.wildcards.a + this.wildcards.b; });

The first syntax is a tad longer, but its much more useful; you can define any method with the name of an HTTP verb for that path, and you can also define a filter parameter that will be queried before the path is matched. The filter lets you do whatever pre-processing you want, so you could filter out requests from a specific user-agent for example, or all URLs that use mixed case, or anything else you can think of.

<comment><USER22> That looks really cool; how's that been working out? Is that in production? If Ruby had Gambit Scheme's serializable continuations, that would be pretty interesting times.

<comment><USER23> We're not yet using it in production, its only a few weeks old, but we will be in some of the things we're working on.

One of the main benefits is letting us run objective-j and cappuccino on the server, letting us share application data models in the client and the server.

</comment></comment></comment></comment><comment><USER24> codeigniter and more recently kohana.

I like codeigniter a lot because you have more control over things. Frameworks that get things done extremely fast are nice, but I like to have more control over things. And Kohana was modeled after codeigniter, but in completely PHP5, which is why I like it the most.

<comment><USER25> Code Igniter is solid.

</comment></comment><comment><USER26> I like Rails with my Ruby.

</comment><comment><USER27> Struts2. Very lightweight and its gets out of your way.

Since it is Java we get to leverage some of the incredible Java libraries out there like Guice.

We've tried a few other frameworks. We build our prototype in web.py. Very simple, but I couldn't get used to not living in IntelliJ.

We tried a previous project in Rails, but it did too much 'magic' for us and the scaffolding seemed a bit too brittle.

To be fair the last time I used Rails in production was in the 1.1 days, so it's been a while.

<comment><USER28> Where are all these Java libraries? Do you mean Java's standard library?

I ask because, Perl has the CPAN, Python has PyPI, Ruby has RubyGems, etc., but what does Java have?

<comment><AUTHOR> The Apache Project and Maven. Although though do not map exactly to CPAN/RubyGems.

</comment></comment></comment><comment><USER29> Pylons when I use Python - magic sucks, very easy to customize, fast turnaround and not so gargantuan that it takes forever to wrap your head around.

CakePHP for PHP. Definitely the best PHP framework out there, in my opinion; fast, good installed base made out of all-star clients (Mozilla, Yale, others), not restrictive or cumbersome. Honestly, though, I try not to use PHP.

</comment><comment><USER30> Django on AppEngine. Really fast turnaround and scaling is all taken care of(or will be).

</comment><comment><USER31> Cappuccino. Because we created it. ;)

<comment><USER23> Plus jack and roundabout (ports of rack and sinatra to javascript), because we created those too :)

<http://github.com/tlrobinson/jack>

</comment></comment><comment><USER32> I use Django when I need full-stack and CherryPy when I need something lighter. I've also used web.py.

</comment><comment><USER33> Top Down Programming BABY!

Seriously, just install smarty and do it yourself. Then somebody can always do a basic edit to the templates and you don't have to weight the merits of the 10000X different frameworks against eachother and get back to Making Money!

</comment><comment><USER34> <http://webpy.org/>

<comment><USER28> Is webpy the Python equivalent of Perl's CGI::Application? Because I've used C::A in the past and liked its simplicity.

</comment></comment><comment><USER35> rack, merb, sinatra and rails

</comment><comment><USER36> compojure - best option in Clojure so far.

</comment><comment><USER37> Grails (<http://www.grails.org>). A rails inspired Groovy framework that uses big boy frameworks (Hibernate, Spring, etc.) under the hood.

</comment><comment><USER38> I used to use Django, tried cherrypy and web.py, and have ended up starting to write my own (<http://github.com/breily/juno>).

<comment><USER39> Juno looks pretty nice.

<comment><USER38> Thanks, that's always good to hear.

</comment></comment></comment><comment><USER40> Java, so I prefer Wicket and like Stripes.

<comment><USER41> +1 for wicket.

Used wicket for a while on xp-dev.com, but moved to a home grown one as wicket was a tad bit too bloated.

But I really like how wicket is component based, and have used it successfully for other project (all intranet based ones though - so don't really have many publicly accessible examples)

</comment></comment><comment><USER42> Python - Web.py no magic you know what's happening. PHP - CodeIgniter same thing.

</comment><comment><USER43> I can't believe the number of web frameworks out there. If anything the amount of comments just illustrates how easy it is to roll your own.

</comment><comment><USER44> WebObjects. I don't like Java, or Eclipse, which makes it an odd choice, but it was Rails before Rails, and still has a lot of advantages over it. The ORM works hand-in-hand with the framework to do proper persistence, and while I rage against the tools sometimes, they're still better than being dumped back at a texteditor.

If only Apple would give it some more love, it'd be killer.

<comment><USER45> WebObjects for me too :-) And I also don't like Java or Eclipse. But at least with DirectToWeb one can keep the Java code to a minimum.

</comment></comment><comment><USER46> Seam because I'm a Java guy at heart and Seam is a pleasure to work with.

</comment><comment><USER47> I wrote my own CMS/framework which I started about 8-9 years ago, so I use that. In my main business I sell a "pro" version of it as well as customization/hosting/etc, and naturally it's also the framework I use for my startup too. For those that are interested:

<http://www.sitellite.org/>

It's in PHP 4/5, GPL licensed, decently clean code (in 8 years there's obviously some cruft at this point :), but also has a few nice things built-in like a full CMS on top of it, multilingual support, a couple dozen modules that save some time, ORM library, and the ability to setup A/B tests just by editing a page, which is starting to come in handy these days.

Some challenges of rolling your own are that you have to write the documentation, and provide support/training/whatever else since developers aren't likely to be familiar with it (unless it's open and gains popularity). Some things to consider when weighing your options... :)

</comment><comment><USER48> I'm in Python. I'm happiest just doing import cgi ...

I always feel guilty though.

<comment><USER49> If import cgi works for you, it's great. I love simplicity.

</comment></comment><comment><USER33> Write your own!

<comment><USER15> Sure, maybe if you've never done it before because it's a learning experience, but it's a patently horrible idea otherwise.

<comment><USER50> It isn't a horrible idea. Using a ready made framework all the time without regard if it's right for the job is a horrible idea.

For some apps which have a certain level of complexity and require some extra flexibility, you end up wasting more time fighting the framework than getting the job done.

It helps if you have a well defined standard in place, for python, that means WSGI. Coupled with _good_ libraries, it's hard to beat.

<comment><USER15> Right, but that's not "writing a framework", it's "using existing libraries in conjunction with one another". There's no real "magic", directory layout rules, etc.

Maybe you end up writing a couple scripts to tie them together or something, but it's hardly a framework. And in many cases, yes, it is a better choice than a framework. And still a better choice than writing your own framework.

</comment></comment></comment></comment><comment><USER51> <http://symfony-project.org/>

<comment><USER52> symfony here also

<comment><USER16> Symfony also !!

and am going to try Grails soon

</comment></comment></comment><comment><USER53> Anyone using yii? It looks interesting to me, but I have not had a chance to give it a whirl beyond the basic application tutorial.

<http://www.yiiframework.com/>

</comment><comment><USER54> I just inherited a massive enterprise application; you know run a brick and mortar company on it. It's not a one-off; a number of companies use it. The stack is

Jboss; Spring; Hibernate; Struts; XML gluing it together; Javascript: prototype, JQuery and others; Flex and granite; Vestiges of every Java framework fad of the last 10 years. Maybe I exaggerate, maybe not.

It is way over-engineered. Several times as much code as a Django, Pylons, or Ruby solution. I dont recommend going this path at all, even if you are an enterprise.

</comment><comment><USER55> <http://www.qcodo.com>, which now has been forked to <http://qcu.be>

</comment><comment><USER56> I wrote my own for php, <http://phocoa.com>.

After I learned to write Cocoa apps for the mac, I realized I needed a similar framework for web development, so I wrote phocoa.

PHP as a language is kinda bumming me out since I've learned about new techniques like functional programming, closures, etc from Javascript and playing with Ruby.

If PHP 5.3 doesn't seem like it's on the right path, I may switch to another language...

</comment><comment><USER57> CGI::Application in Perl. Just to be contrary. Well, not really. I still love Perl. Nothing wrong with the alternatives... it's just what I like.

</comment><comment><USER58> Django when I get to and CodeIgniter when I have to.

</comment><comment><USER59> Django with Google App Engine

</comment><comment><USER60> JSPs, Servlets and POJOs. Im a complete beginner so im trying to learn the basics first. Im very aware of some Java shortcomings but I like the fact that I can get responses from thousands of books, tutorials, and the web. A bunch of Python frameworks looks very nice though, and the languaje also, but Im required to use Java for now : (

</comment><comment><USER61> I use Rails for my bigger project, but I kinda like Google's webapp (the default on AppEngine). It is enough, and I assume it works the best of any framework on AppEngine.

One of my projects is a location-based role-playing game for mobile phones that we will be launching soon. The entire game engine is hosted on AppEngine and uses the webapp framework.

</comment><comment><USER62> I use cherrypy + SQL objects + Cheetah, cause that way i choose what components i want to handle all the general components of a webb app(http reqest/respose, ORM and templating) Also i know exactly how things happen so that makes me feel comfortable ... ie as you guys call it less magic :)

</comment><comment><USER63> Weblocks

<http://common-lisp.net/project/cl-weblocks/>

</comment><comment><USER64> webpy (<http://webpy.org/>) is very lightweight and hackable

</comment><comment><USER65> (shamless plug)

My own (PHP5 framework) - Artisan System

<http://artisansystem.com/>

<comment><USER66> More like "Fartisan"! Just kidding, I've been meaning to give Artisan a try. Where are the docs? Give me at least a nice tutorial on setting up a stupid blogging CMS.

</comment></comment><comment><USER67> Catalyst with DBIx::Class (ORM)

</comment><comment><USER68> cherrypy and sqlalchemy. and closely looking at werkzeug for future projects.

</comment><comment><USER69> Ruby on Rails is my primary framework. I've played a lot with Merb, but I'm happy that it will be merged with rails. In the future I want to explore web frameworks written in lisps (cl, scheme or closure)

</comment><comment><USER70> Zope: <http://zope.org>

Although I am also currently experimenting with App Engine: <http://www.webappwednesday.com>

</comment><comment><USER71> Kohana.

</comment><comment><USER72> Helma NG: <http://helma.org>

<comment><USER37> I'd like to hear some of your experiences using helma!

<comment><USER72> I decided to give Helma a go because I like the idea of being able to re-use server side code within the browser and also because it should make it easier for others to extend the web application with plugins without having to learn a new scripting language.

I've been using Helma NG, rather than the stable Helma 1, so my comments are specific to that.

The dynamic nature of the language makes a huge difference. Both Helma and Grails (which you mentioned) feel like a breath of fresh air after working in Java with frameworks such as JSF. It's much faster to get things done, but I do miss the debugger and IDE integration.

Helma NG takes a new approach to managing scopes and I've found it easy to organize code into modules like in Python.

Helma NG is still work in progress, so parts of it keep changing, which I've found to be a bit of a problem. However, since most of it is in JavaScript and the framework is very lightweight, it is easy to wrap around the parts of a module you want to remain fixed.

I prefer Grails' GSP tag syntax to Helma macros, so might try to add support for that at some stage.

I'm using CouchDB for persistence and have been writing my own abstraction layer on top of that, so can't really comment on the SQL/Hibernate module.

Performance seems good, but I haven't run any benchmarks.

The community is relatively small, but very responsive. The documentation is there, but there are few examples. However, most of the code is self- explanatory.

So, to summarize: Helma NG is perfect for what I'm doing, but isn't yet stable enough to be used in place of Grails for a more traditional webapp. Helma 1 might be more appropriate for that.

What have your experiences with Grails been like?

<comment><USER37> Like your experience with Helma, Grails has also been a breath of fresh air. My biggest gripe with building web apps in Java is dealing with all the dependencies, setting up a project structure and making all the frameworks play nicely together...with grails none of those headaches exist...all the stuff you'd usually use is integrated nicely into a project and with almost zero configuration. The community is very responsive and new plugins are released on a weekly basis. I definitely recommend any Java developers out there take a look.

</comment></comment></comment></comment><comment><USER73> If using PHP Kohana, Really, really good php framework. Release cycles are a bit crazy and some of the lead devs are uppity but all in all it's good.

</comment><comment><USER74> My own php framework: <http://github.com/joshdavey/madeam/tree/master>

</comment><comment><USER75> Asp.net MVC - Because C# is the best language

</comment><comment><USER76> I've tried Django and now I'm trying Seaside.

</comment><comment><USER77> I write my own mostly-modular parts. It isn't as flexible as I'd like it to be, but it does what I need it to do.

</comment><comment><USER78> It would be nice if someone would define exactly what a framework is. I mean, we're not all brilliant.

</comment><comment><USER79> aspnet mvc. current project - <http://ksischool.com>

</comment><comment><USER80> Merb. For me it has all the benefits of both Django and Rails, and is ultra clean and hackable.

</comment><comment><USER81> When using Java, I prefer Stripes. For a new project I would definately use Python and Django.

</comment><comment><USER82> I mess with Rails, dabble in Django & work in CodeIgniter.

Also fun - merb, cakephp, symfony, web2py

</comment><comment><USER83> AppJet. Jaxer was a bit buggy when I used it over the summer.

</comment><comment><USER84> Good question. What _does_ constitute a framework?

</comment><comment><USER85> Drupal and Rails

</comment><comment><USER86> webpy because it is minimalistic and very clean and easy to use.

I have aslo played around a little b it with compojure+clojure.

</comment><comment><USER87> Ramaze. Feels most Ruby-ish for me.

</comment><comment><USER88> Zend Framework + Propel, yo.

</comment><comment><USER89> Catalyst

</comment><comment><USER90> merb/rails

</comment><comment><USER91> ramaze ! and that means rack -> ruby

</comment><comment><USER92> Rails, Django

</comment><comment><USER93> django, rails, codeigniter so far

</comment><comment><USER94> turbogears

</comment><comment><USER95> Drupal.

<comment><USER96> Drupal all the way or combine with Cake or CI

<comment><USER95> I'm not conversant with Cake or CI so I couldn't comment intelligently here.

</comment></comment></comment><comment><USER97> rack, merb and rails...

</comment><comment><USER98> jQuery. Rails.

</comment><comment><USER99> Never used a framework and never will. I know how to code. I do my own sites and don't use others or have others do my work for me.

<comment><USER100> Haha...I assume you're kidding, right? Are you coding in binary? Because if not, someone else has "done your work for you" :)

<comment><USER101> Coding in binary on what? Unless you mined your own raw materials to build your machine, someone else has "done your work" for you. Not to mention where you'd get electricity...

<comment><USER102> Why a computer?

To do your own work, use your fingers.</comment></comment></comment></comment>


The refugees who sheltered Edward Snowden in 2013 in Hong Kong - <AUTHOR> https://global.handelsblatt.com/edition/509/ressort/politics/article/edward-snowdens-guardian-angels <comment><USER2> National Post has an even more interesting article on his stay in HK [0].

And I hope this finally lays to rest all those BS accusations that Snowden's a 'russian spy' and how he 'partied at the Russian consulate in HK'... like Washington Post disinfo kept on repeating for years. [1] There are people still on Twitter who are smearing Snowden and they claim he's a spy and everything he did was to somehow 'help Putin' and they bring up this nonsense.

[0] [http://news.nationalpost.com/features/how-edward-snowden- esc...](http://news.nationalpost.com/features/how-edward-snowden-escaped-hong- kong)

[1] [https://www.washingtonpost.com/world/report-snowden- stayed-a...](https://www.washingtonpost.com/world/report-snowden-stayed-at- russian-consulate-while-in-hong- kong/2013/08/26/8237cf9a-0e39-11e3-a2b3-5e107edf9897_story.html)

<comment><USER3> Real gems these ones. It is simply astonishing that strangers could give refuge to a man that, at the time, was America's Most Wanted. The courage of these refugees is staggering: they had lost practically everything in their lives and were now confronted with hiding a target as valuable as Snowden and the (mortal?) risks that came with it. Really remarkable people!

<comment><USER4> It's true these people are kind. However, a lot of people have kind hearts and it could be argued that anti-bureaucratic, anti-government sentiment is basically omnipresent in much of Asia.

</comment></comment></comment><comment><USER5> So beautiful and upsetting at the same time. Is there any way we can donate to this lawyer and these refugees?

The last thing, about the Oliver Stone movie, what a shame.

<comment><USER6> He's working for Vision First: [http://www.vfnow.org/about/team/](http://www.vfnow.org/about/team/)

They have a donation page under "Take Action".

</comment></comment><comment><USER7> The world's most wanted man protected by those with nothing. Absolutely incredible.

<comment><USER8> And they remain with nothing:

'The refugees who harbored him three years ago still live in miserable conditions in a wealthy city that doesn't want them'

<comment><USER9> I come from Asia. This is something I noticed first-hand. Those with nothing donate a much larger percentage of their wealth than those with a lot. Seems absolutely insane, but it's true the more experience I gather... here in America, I find it to be true again. Seems so counter-intuitive, I wonder why this is so persistently true.

<comment><USER10> They know what it's like to not have enough, imo

<comment><USER11> I would say it is this, combined with first-hand knowledge of what getting a "little" help at the right time can really do.

</comment></comment></comment></comment></comment><comment><USER12> I volunteered a couple times at an elementary school near Jordan (a neighborhood in Hong Kong) where lots of South Asian kids attend. I am not sure if the ones I saw were refugees but they clearly needed more help.

Many of them were sufficiently smart to do well in school but the curriculum was only designed for people who are fluent in Chinese. For example, the Math homework was all in Chinese but many of the kids could barely spoke Chinese, let alone read (they spoke English reasonably well though). It's no wonder that many of them didn't want to do homework and (presumably) not doing well in school, even if you don't consider the situations at home.

Hong Kong has good public education but the local schools are all designed for the local population. The expats (and well off families) send their kids to international schools which are expensive. I am really not sure what's the best way to help those kids.

<comment><USER13> Do they not have special classes to teach people Chinese? Like how in English speaking countries, there are normally resources to help people learn English.

<comment><USER14> The schools don't offer them, as they aren't a part of the public curriculum. People are still campaigning for it.

Apart from that there are free Chinese classes at some churches, that's about it.

Outside classes are simply not enough though, there's no way a foreign child could catch up to local children who've been immersed in Chinese since birth. And the public Chinese curriculum is a challenge even for locals.

Lastly, Hong Kong people speak Cantonese which is considerably more difficult that Putonghua which most of China speaks. (More complex characters, more than double the tones)

</comment></comment></comment><comment><USER15> Quite a striking contrast between the super high tech spy world on the one hand and the poverty of the Hong Kong refugees on the other. It's like something out of a William Gibson novel from the 80's or 90's.

Sometimes I wonder if Gibson himself is surprised at the similarities between his 1980's fantasy world and our current reality. The world is a strange place...

<comment><USER16> He is fond of saying "The future is already here — it's just not very evenly distributed."

I've seen a quote attributed to him along the lines of "Cyberpunk as a genre died out because if became real life", but I have not been able to track down any source or proof of that attribution.

</comment></comment><comment><USER17> These Sri Lankans should go home to Sri Lanka. Sri Lanka is now at peace, and they no longer need to find refuge.</comment>


How Instagram's algorithm works - <AUTHOR> https://techcrunch.com/2018/06/01/how-instagram-feed-works/ <comment><USER3> Instagram's algorithmic feed is hot garbage. I went through a two week period where it would ONLY show posts from three or four of the ~2,000 accounts I follow. Those accounts also happened to belong to big-ish companies, compared to most others I'm following, which are individuals or small organizations. It got so bad I had to unfollow them just to get any other content in my feed. And because I can't trust the feed, I keep a mental list of accounts (maybe 5-6) to "check on" manually for content, which is way more work than I should have to spend on a photo-sharing app.

If I could switch back to chronological feeds, in exchange for double the ads or something, I'd do it. It'd waste less of my time.

Also, Instagram banned me from following via the app for about five months with no communication or explanation. I think it thought I was a bot, but can't be sure. Not the customer but the product, indeed.

<comment><USER4> My Instagram has turned into a National Geographic browser.

<comment><USER5> Mine has turned into hot girls and yoga.

You click on 1 too many photos of a girls chest popping out of her shirt and you lose control of your IG.

<comment><USER6> The real question here is whether the algorithm is correctly reflecting your interests or not. Are we our ego or our id?

<comment><USER7> Suppose my ranked preferences (by assertion, watch time, and also ad interaction, and) of context mix may be 30% yoga, then 15% yoga, then 100% yoga.

Suppose IG only offers 100% yoga or 10%, based on my click activity.

Ego and id may be fully compatible but it IG is still failing for my use case.

</comment></comment></comment></comment></comment><comment><USER8> I prefer it to show me things I hadn't seen since the last time I visited, in chronological order. Close to what Slack does and shows you a _New Messages_ indicator.

With that being said, in case of Instagram Im kind-of OK with it as it's just pictures.

In case of Twitter, if I was a product manager, I'd file a bug report with highest priority. The kind of bug that developers would not sleep until it's fixed.

I get a series of tweets about an ongoing event in a random order.

It's like watching a goddamn movie with scenes shuffled randomly. It makes no sense.

<comment><USER9> > It's like watching a goddamn movie with scenes shuffled randomly. It makes > no sense.

Have you seen Memento?

Jokes aside I never understood why twitter does not allow the user to choose the sort order of the feed. This is a reoccuring theme for social networks (facebook feed, youtube subscriptions etc) so I guess there is some kind of motivation behind it.

<comment><USER10> These services want to show you cancer - sorry I mean ads - as much as possible, and for that they want you to stay on the app as long as possible.

With a sane chronological feed, once you scroll down to the last tweet you remember reading, you know you're done and can leave the app and do productive things.

With a bullshit "algorithmic" feed, you never know when you've caught up, and the "fear of missing out" will make you stay there scrolling way longer just in case there's one tweet somewhere down there you haven't seen yet - <USER2> gives them the opportunity to show you more cancer.

<comment><USER11> You nailed it. When a company lives or dies by advertising revenue, they are going to optimize for maximum advertising revenue.

The pattern with TV is a good case study. I wonder if there will eventually be guidelines about how many ads you can show users and now much screen real estate is allowed to be covered by ads.

<comment><USER12> > I wonder if there will eventually be guidelines about how many ads you can > show users and now much screen real estate is allowed to be covered by ads.

Isn't that kind of what "acceptable ads" programs in adblocks are? (Or, at least, should be?) There are a lot of Adblock Plus users there that basically decided (or got tricked into thinking) that ads that are appropriate are okay to view.

<comment><USER10> The issue with "acceptable" ads is that 1) there is no such thing as "acceptable" shit, and 2) the "acceptable" ads are just as bad (if not worse) than everyone else as far as privacy & stalking are concerned.

</comment></comment></comment></comment></comment></comment><comment><USER13> In the app, if I start by watching a bunch of stories... it'll refresh the main feed when I go out of stories, but I haven't even scrolled down to see those posts yet.

With a "random" feed, it makes it real hard to find out what you just missed.

This is the best they could come up?

</comment><comment><USER14> This reminds me of Facebook's claim, when it introduced its algorithmic feed, that it was all for the benefit of the average person, who would benefit because (they said) a person with 300 friends would be having trouble managing 1500 posts a day. This was a lie manufactured by Facebook to sell the algorithmic feed to journalists, who passed it on as truth to their readers.

First of all it was misleading: people with 300 or even 500 friends have nowhere newer 1500 posts a day. Sure, some friends post 10 memes a day, but most people do not post anything at all. In any case, I did not hear anyone complaining that they had to deal with too many posts, and managing the feed wasn't an issue. No-one was complaining about the chronological feed before,

What was an issue, however, was that Facebook (and now Instagram - also owned by Facebook) needed to make more money. So they created an algorithmic feed that pushed posts that engaged people more to keep people on the platform. I suspect this is exactly the same tactic, by the same people, backed up by the same compliant media, that we have seen before.

</comment><comment><USER15> Wow, the article actually closes itself if you scroll too far down? What kind of horrendous design is this?

<comment><USER16> And you can't even scroll back, potentially being baffled why the website malfunctioned and loaded a new page. It's like a bad UX pattern parody.

</comment></comment><comment><USER17> A huge part of why they introduced an algorithmic feed is probably to sell user engagement instead of giving it away for free.

Prioritising actual people means that they de-prioritise businesses, who now have to pay to get to previous levels of user engagement.

<comment><USER5> Learned that lesson from Facebook.

Tried to pay a marketing company to grow my website. Instead they flaked after turning my page into a business page.

I get 100 people instead of 400 people seeing my posts.

And then I stopped using facebook completely. If facebook is only going to show my political garbage shares and they wont show my website? Theres 0 value from facebook.

</comment></comment><comment><USER18> > Shadowbanning is not a real thing, and Instagram says it doesn't hide > people's content for posting too many hashtags or taking other actions.

Would they admit it exists in either case?

<comment><USER19> I was wondering how they know it is not a real thing: they use machine learning, they feed the content with all metadata in and then let some trained AI logic filter/prioritize it. If the learning algorithm has found that most people don't 'engage' with content from certain people, or with a certain type of content, it might filter it without being intentionally being programmed in, right?

<comment><USER20> Thats not really the same as shadowbanning though is it? What you've described isn't much different than you posting with few to no followers; its just being further enforced by the recommendation engine. But ultimately, hopefully, its still a reflection of the community's taste, and not the administration.

Shadowbanning is more of an explicit denial of the community taken by someone who doesn't represent the community, but rather the hosting service itself. It might align with community taste, but also might not.

</comment></comment></comment><comment><USER21> Based on the comments on TC's piece, the article is bullshit.

<comment><USER22> If you do any type of real work on Instagram, most of this article is completely inaccurate. Everyone has reported getting far less engagement after the changes. I've more than doubled followers since recent changes, and my engagement is roughly half what it was. Reach is WAY down, and it's directly affecting it. This is a niche localized account, with real followers. No garbage.

<comment><USER23> I do work on instagram and yes engagement has been down. But they just said in the article that they prioritize posts with people you DM, people you comment and people you have been tagged with (ie: your actual real life friends). So this would explain the drop in engagement. Also have to keep in mind the platform has already more than doubled in users since the algo changes, that means people follow more people and this also dilutes your importance in someone's feed if they now follow twice as many people.

I think this means they prioritize people within your close circle above brand that try to engage with thousand of followers.

<comment><USER23> See quote on this article: Instagram's main goal is to help you see content from your "friends and family," and with the algorithm they say that people now see 90% of posts from their friends and family, instead of 50% when it was the chronological feed. [https://later.com/blog/instagram-algorithm- update/](https://later.com/blog/instagram-algorithm-update/)

That means that if you're not friend or family, you are being seen less.

</comment></comment></comment></comment><comment><USER24> Pretty much nothing in here is "news", every social media manager knows the same things. I guess now it's just official.

</comment><comment><USER25> There is no news or even facts in this techcrunch article.

<comment><USER26> But you get to experience their horrendous design! Isn't it great how the final paragraph is harder to read because the page removes the contrast? Or how, when you scroll a little too far, the old page disappears completely?

</comment></comment><comment><USER27>
      if(hasClickedOneImageOfASwimsuitModel) {

        fillEntireFeedWithPhotosOfButts();

      }

</comment><comment><USER28> There are companies that approach instagrammers and promise increased exposure of posts within that account's followers - and it seems to work. Anyone know how they do it?

<comment><USER5> India.

I saw some model with 1.1m followers. Went to her website page + looked it up in alexa.siteinfo

1.1M followers, top 11m website, most traffic coming from India.

So basically a fake instagram. I think this is extremely true and there are a few real users that make it all worth it.

<comment><USER28> In this case the instagrammer didn't get any new followers, somehow he just got more exposure among his own, real followers. The instagrammer did not know now how they did it, he said he just posted a normal photo.

Thanks for mentioning alexa siteinfo, didn't know they track individual ig profiles.

</comment></comment></comment><comment><USER29> Now fix the explore page

<comment><USER30> its nothing but stupid prank videos now

<comment><USER26> They don't even seem to change. It's all just like a small group of "influencers" posting the same shit constantly. This is why social media is slowly making itself irrelevant. I just wish we humans had the self control to stop doing it once we realized it's not adding value.

<comment><USER7> We humans do. I wish you humans luck.

<comment><USER26> I was using that as a general population. You can be as proud as you want but it doesn't stop the general population from letting these services walk all over us.</comment></comment></comment></comment></comment>