iOS is anti-Unix and anti-programmer - <AUTHOR> http://blog.dbpatterson.com/post/10244529137 <comment><USER2> It's not anti-Unix or anti-programmer...it's all about being anti-freedom.

All these companies want to do is turn your computing experience into a locked down, controlled, monitored experience. They want to turn your limitless and powerful computer into a home appliance...like a blender or electric razer. No way to customize, no way to modify, no way to organize thoughts your way. No hacking or "jailbreaking" into your own device to give yourself features like "tethering". That would violate the ALL HOLY EULA (unless you paid $5.99)!!!

Also no need to understand how the technology works -- technology is now magic. And when technology becomes magic, they have control over you. Google manages all your e-mail, Facebook and iPhone manage your social life. Google and FB make their money through selling your information to marketing companies. Apple makes it by selling you hardware. Both of them make money by exploiting the lack of will by the masses to understand their technology and how it affects their rights and privacy. They make money when they are in control of you and your data. They make money by making you think you need a new computer when all you need is a better operating system.

Getting rid of files is like Newspeak from Orwell's 1984. They want you to be dumber. They'll take care of savin that file for ya, you just worry about eating nachos and 'batin. Besides, they need to take a looksie at it first to infer information about your shopping habits...

<comment><USER3> "All these companies want to do is turn your computing experience into a locked down, controlled, monitored experience."

Oh, bullshit. Do you really think there is someone siting around at Apple dreaming up new ways to take away your freedom?

No. There fucking isn't.

I'm a huge believer in small, composable components. And I know that developing against closed platforms _sucks_. Being able to dig down into the source code of every layer of your stack is critical to the understanding necessary to build high quality software. Libre, Gratis, and Open are all key elements of the software I choose to use to do many mission critical jobs, every day of my professional career going forward.

But you know what?

The people at Apple just want to make damn good products. They are proud as hell of those products. They work very hard to make them that damn good.

Freedom isn't free. There are costs associated with development, complexity, opportunity. Free is a strategy that only few can afford to execute. Google has to vary the gratis, libre, and open dials with their products every single day to paint the benevolent picture they count on to keep their recruiting pipelines full, while still building high quality products on time and budget.

My Girlfriend's Android phone (a highly rated model) is a horrible piece of crap next to the iPhone. It lags, crashes, has UX issues, flimsy hardware. The iPhone is a glorious, crowning achievement of engineering that still, years later, Microsoft and Google are struggle to replicate.

I'm no dumber for owning an iPhone. It gets the job done: It makes phone calls. It settles arguments at the bar. It lets me cut in line at Chipotle. It wakes me up in the morning. It keeps me entertained. It makes me smile every time that little orange plane animates by as it goes into airplane mode.

It just fucking works.

You want to talk about freedom? I'm free from thinking about memory management. And processor utilization. And data loss. If it stops working, I'm free from worry because the Apple store makes everything better. I am free from all of the horrible things that can go wrong on my production servers.

Unless something does go wrong on my production servers, in which case I'm free to be away from my desk when it happens. And I'm free to drive aimlessly without worrying about getting lost. I'm free to call a cab, when I just don't feel like walking home.

In context, my iPhone represents every last bit as much freedom as my blinking cursor in an empty vim window.

<comment><USER4> _The people at Apple just want to make damn good products. They are proud as hell of those products. They work very hard to make them that damn good._

It's very hard to read the rest of your comment and not have you mentally pre- positioned as a fanboy. I'm not saying this to be a troll, but because comments like this really _do_ stand out. Would you give any other company this sort of slack you are now giving Apple? If so, why not?

And while that may not be such an interesting discussion in itself, I am not willing to support and hand over my money to someone _acting_ against freedom of choice, because someone else on the internet says "Don't worry: These people are good guys. Really!"

 _Freedom isn't free._

Again. I would love to see anyone make this sort of defense for Oracle or Microsoft.

 _I'm no dumber for owning an iPhone_

Maybe not dumber, but you have locked your mind to the most restrictive of the mobile OS platforms out there and the limited workflows it allows.

I would be very surprised if this didn't also limit your ways of thinking about how problems can be solved.

 _The iPhone is a glorious, crowning achievement of engineering that still, years later, Microsoft and Google are struggle to replicate._

Absolutely revolting fanboy talk. I tend to find the iPhone a glorified piece of needlessly heavy electronics running visually polished but annoyingly limited software, which fails at the most basic of tasks, like sending data from one app to another via something called "files".

 _You want to talk about freedom? I'm free from thinking about memory management. And processor utilization. And data loss._

So am I. On my Android phone. While my iPhone 3G had constant memory-problems because it wasn't built to multi-task. Oh well.

Why is it iPhone owners seems to default on Android being an immature platform, cite Android 1.6 problems, while any factual representation of the limitations found in current iOS releases is answered with "iOS next" and that is supposed to be a valid answer, free from hypocrisy?

Seriously. You guys need to get out of the Apple store more often. It may actually be starting to dumb you down.

<comment><USER5> Thought experiment: Is it possible to think Apple makes the best technology products without being a fanboy?

<comment><USER4> Oh absolutely. I have no doubt about that. In fact, saying anything else would be absurd.

However I think it's fair to recognize the difference between someone merely (very) happy about their Apple stuff and someone who seemingly is personally insulted when it is suggested that Apple is (shock!) a normal corporation following a normal corporation's need and desire to profit, doing some ethical comprosises on the way.

And looking at snprbob86's post here, it's full of seemingly personal feelings when discussing this topic. It's almost this short of saying "Dear sir. You have defiled my lovers honour and I challenge you to a duel".

I have to say he/she seems like the glorious, crowning achievement of the Apple PR-Department which is hellbent on making Apple-Products a matter of personal honour and identity. And it's very freaky to observe from the outside.

</comment></comment></comment></comment></comment><comment><USER6> I couldn't agree more. Some people say that iOS is not meant to be a programming device and that it is great for what it's meant to be, e.g. reading and watching content, but I disagree. Just a few examples.

\- The lack of user facing filesystem means I have to jump through wierd hoops when doing simple stuff like managing my pdfs. An example, I get a pdf and open it in iBooks. A few months further on, I want to read it again and do some annotations, but I need another app for that. Well tough luck, i cannot open the pdf in the other app, since the pdf is tied to iBooks. If i'm lucky, maybe i'll remember i got it via a particular email, and resend it to the other reader. Most probably though, no annotations for me on that pdf.

\- I have a network drive and would like to stream movies from it using VLC (due to native player not supporting the encoding). I also have a filebrowser app that can do smb. But there is no way to connect the two. I can either download the whole movie and send it to VLC (which takes a long time and space on my iPad) or try to look for a video player that does smb :S.

I could go on and on with such examples. IPad is obviously a beautifully designed and built device but I would definitely not purchase another one or recommend it to a friend, exactly because of the shortcomings of iOS.

<comment><USER7> Could you achieve the same things on an Android tablet? On the Touchpad? On the Playbook? I'm not sure if that is an inherent issue with iOS, or rather functionality that mobile OS's in general have not yet bothered to implement, as tablets are still marketed towards common consumers, not power users.

<comment><USER6> Dont know about touchpad or playbook, but you definately can on Android.

</comment></comment></comment><comment><USER8> I disagree.. The app interoperability in iOS is achieved, but in a different fashion. You don't have files, but you DO have logins and APIs.

Say, Twitter - you want to tweet something from another app? No problem, you implement the right API to do that. Or perhaps you'd like to export a text file, so it can be received by another app? No problem - you use the clipboard & store the file there, or publish the file at a secret URL, and import that url through another app.

Is it as easy as save+drag&drop? Not yet. But filesystems also took some time before they were perfected. Give Apple one or two years, and iCloud will offer you as much as the desktop filesystem. And more.

Files are not the only way to go. If I want to share a text document with my friend, I don't attach it. I put it into Google Docs, and send my friend a url. Much more convinient - avoids a _plenty_ of mess with versioning etc.

<comment><USER9> Android's Intents architecture is far more elegant than forcing every app developer to reimplement every API or specifically support every secret URL handler.

Being able to make a client for, say, a new social network, and instantly having every app on your phone support it through the generic "Share" button they already have is a very powerful tool.

</comment></comment><comment><USER10> OS X command line user here, after testing various other 'nix distros in the past few years. You're a bit harsh on the topic. Sure, composability is awesome for the reasons you mentioned, but look at who's using iOS devices. Do they need more? There are days when after being bombarded with information, an app that does one thing is a breath of fresh air.

"But it's not a computer, it's just a glorified palm pilot with a few bells and whistles". You can SSH into it if you want to be hardcore ;)

When I'm using an app to track expensese while at the supermarket or taking notes while on the train, I really don't care about "composability". Why should I?

</comment><comment><USER11> As someone who spends almost all day either in vim/commandline mode or web browsing, I want to make the point about the unix pipe point, and that with gui's this is impossible.

Its not even the fact that it would require a lot more effort to sort and format a list of 100,000 names into our predefined pattern, but more the fact that the power of the command line is lost.

I find as I'm programming, I gravitate towards languages which can give me good access to this piping system, and give me access to stdin as a stream. Often in languages such as Java, pushing it information into a file and reading from the file is the easier solution and although this may be the more long term solution, for shell scripts etc its hard to beat the likes of perl's "while(<>)", not to mention the fact that awk works like this by default.

Also in terms of bringing this piping paradigm to the GUI world, I think the closest thing I've seen is Intents, both on the android side and the new Web Intents that both Google and Mozilla are working together on. Technically this seems like a more hefty version of pipes to me.

<comment><USER12> >I want to make the point about the unix pipe point, and that with gui's this is impossible.

There is a GUI programming paradigm, called Stream Processors. One of earlier Haskell GUI libraries was developed over those processors.

Take a look at Fudgets: <http://www.altocumulus.org/Fudgets/>

You can pipe them, you can arrange them into DAGs and trees (as in DirectShow or Gstreamer). You can create cyclic structures.

I haven't seen Intents. But I think that Stream Processors are closer to (and even surpass) command line pipelining.

<comment><USER11> Sorry, my wording was incorrect. I should not have used the word impossible, thank you for the resources you have provided, my point was more that with the standard gui, it makes things easier in a pick up and play way but any sustained time using an application, the tradeoff between being what people describe as "easy to use" and being extensible and streamable becomes very useful.

</comment></comment></comment><comment><USER13> How many people actually program on an iPad or iPhone? I mean in any real sense and not something simple like SSHing into a unix box to update a config file. None. That's not the purpose of it. Apple has never implied nor mentioned anything like that should be or could be done on that device. It's built to browse the web and use touch applications.

I despise articles like these because they try to put products like these in impossible situations that suits no one else except to drive traffic. Yes your iPad is anti-programmer the same way that a wheelchair is anti-stairs.

<comment><USER14> I think the title is misleading. The author hints at a much bigger issue (I'm not an iOS user so I can't say how valid his point is but it's not about 'programming' per se.

<comment><USER13> I don't think the title is misleading. He spent over half the blog talking about how you don't have access to POSIX tools on the iPad. But the iPad isn't a Unix. It's only when you jailbreak it and add the unix tools do you even get to a commandline.

There are many applications that are GUI based and do good message passing. But they are on the desktop the iPad isn't that. It may share the same underpinnings as OSX but it is not a desktop bound OS, it is an appliance. He doesn't like the sandboxing but the sandboxing is also why it is secure.

</comment></comment></comment><comment><USER15> "The more I use graphical interfaces (or anything that does not operate on text streams - commandline curses programs included), the more I am struck by how profound the loss of composability is".

Exactly this!

You've hit on the nail on the head here. Computing devices are inherently non- composable. Mostly because we, as software developers, have failed to create frameworks that are fully composable. The real problem is we still need to program.

<comment><USER16>
         Mostly because we, as software developers, have
         failed to create frameworks that are fully
         composable.

This is MBA-talk.

Big companies would like nothing more than for programming to become something unskilled workers can do. I would like that too, but from a different perspective.

Programming is not really like assembling Lego blocks. And if you pick any other industry, taking a close look at how new developments are made, you'll find that sharing in software development is a lot more common and a lot easier.

After all, when building new software, you don't have to write your own OS, your own compiler, your own debugger, your own libraries built on top, or even your own domain-specific framework. Well, unless you have the not-invented- here syndrome.

And what does "fully composable" mean anyway?

         The real problem is we still need to program.

Well, for specifications to get written, you still need to write. For designing a user interface, you still need to draw. For doing architecture, you still need to think.

<comment><USER15> Yes. My bad. I should have said "The real problem is we still need to code." I do agree with you that we will always need to design interfaces, engineer solutions, gather requirements, understand the systems being developed, etc. But we should not and will not need to code the solution.

What does "fully composable" mean?

A framework/architecture that is fully composable would be one that allows you to implement any solvable system without writing code.

As for the "MBA-talk" stuff... It is possible to create frameworks that are fully composable. If you would like, I can chat with you about such things outside of HN.

</comment></comment></comment><comment><USER17> Photoshop is anti-unix and anti-programmer. Because I cannot program in it. Duh.

It's official—from now on I am anti-stupid-titles on HN. Will flag any submission with a meaningless title like this.

What does it mean being anti? It's either active stance against something or at least major disagreement.

I cannot see how iOS is actively fighting unix (being based on it) or programmers (being created for it and offering thousands of API for them).

Neither I see how iOS is passively anti-unix and anti-programmers. My car has probably a dozen computers but I cannot program on it. So what? My TV probably runs linux, and I cannot program on it either. Does it make it anti-linux and anti-programmer?

Why do some expect anything with cpu, display and storage to be full-blown programmers workstation is beyond me.

<comment><USER18> Photoshop doesn't have a scripting interface? I'm surprised.

</comment></comment><comment><USER19> The capacity to compose is giving way to the possibility for almost anyone to express his/her creativity in a concrete way. So maybe what you're saying is true, but then iOS is pro-artist and pro-creation. See that 10-yr old Taiwanese "programmer" for example.

And what are computers if not tools for creation? "Unix" and "programming" are means, not ends.

</comment><comment><USER20> Eh, I can understand the outrage the author feels. I used to be so pissed off when people were contented with their iOS devices. But I have my Nexus One, I can hack the hell out of it, it is state of the art, and I don't really care what anybody else uses. If people find that trading freedom for convenience is acceptable, then that is their choice to make.

<comment><USER21> You used to be pissed off when consumers chose a product that fit their needs? This is an attitude I just can't understand.

<comment><USER20> It was just that these people were happy with having limits on their computers. I guess the difference in mindset is that while normal people want computers to be appliances, we want everything to be computers.

</comment></comment></comment><comment><USER22> I hate to be _that guy_ , but don't complain about how something isn't as awesome as Unix pipes and then use cat | grep | awk where you could have just used awk.

</comment><comment><USER23> I don't get the article, at all.

Do you have a command line in your car to change the radio station? Do you expect to have the controls when being on a plane?

You want a device that let's you program? Buy a notebook. I hear the MacBook Airs are excellent.

Some of my friends are musicians and LOVE the iPad. Garageband on it blew their mind.

Does every computing device need to behave like a PC?

<comment><USER24> Don't attempt to reason with the self-righteous. Apple is EVIL, they are stealing your freedom, read the memo.

</comment></comment><comment><USER25> Actually, interoperability between apps is possible through things like URL handling and UIPasteboard. I am dreaming of the day that something like the UNIX toolchain can be assembled by sending data from one app to another like this. Enough app developers just need to get together and decide to make it. I suppose that you could not script it though, so it would still be more limited. But you _could_ send data step by step through a series of apps in a chain, which _could_ allow for creative interoperability.

</comment><comment><USER26> I love composability as much as the author, but his opinion is, to put it kindly, not well informed. iOS has a myriad of mechanisms for sharing content within and between apps, bot from the same developer and from different developers, with and without prior agreement, and for composing workflows and experiences that are greater than the sum of the parts.

Some of these mechanisms are new, and the possibilities have not yet been fully plumbed. Some have been around for a while.

But iOS is just getting started. People said the iPad was a "read-only" or "consumption-only" device, but, over time, we have seen tools come out that are great authoring tools for various types of content. The same thing will happen (and already has happened, but is growing over time) with cross-app workflows.

As far as the title, "anti-Unix and anti-programmer," taking the first part, well yes it doesn't provide a built in command line for programmers, if that's what he means, although it does happen to be built on UNIX, and it benefits from the maturity of UNIX (and gives back, with OSS tools like LLVM).

On the second part, the tools it does provide for programmers are truly wonderful - the Objective-C language, the frameworks, an amazing compiler with static analysis (if you don't know what this gives you, the answer is pure joy), the development environment (though Xcode 4 had a rocky rollout, it has proven itself to be a sweet update), the patterns that are used and encouraged, and the architectural choices, are all very well thought out.

Programmers coming from other mobile platforms have told me that they left behind a lot of pain, and found a lot of power on iOS.

"Anti-programmer" is a very odd way to describe a platform that makes programmers who get into it happy with their coding experience, makes them money, and gives users a great experience while keeping their private information secure from abuses by ill-intentioned programmers.

I can't help but be baffled by where he is coming from. I love UNIX, the command line, and composing commands, but then I love cooking in the kitchen too. Different environments come with different tools.

If we want to compare just mobile development environments, iOS is one that has clearly been developed with a careful deliberative process intended to preserve good battery life, protect user data, and avoid painting itself into any architectural corners. There are constraints. There always are.

But iOS is growing, with very exciting (for programmers) features with every update, including deep stuff that goes down to the core architectural level of how your data flows in your program, in ways that promise a very, very happy life for iOS programmers on multiple core devices. The future is very bright for iOS programming.

The "anti-freedom" charges, the locking out of certain features, you get the same stuff on any platform. Just try to publish an app that abuses the Android logo in any Android market. Not that you would want to, but then, I wouldn't want to publish an app that steals user data, and that's exactly the kind of thing iOS does not give me the "freedom" to do... and that's a _good_ thing. All the mechanisms for preventing abuse could have been done in a much more heavy-handed way, such as by being tied to a central email account that you use to authenticate to dozens of critical services you depend on in your life, that can be yanked and shut down at any time, with a very tenuous appeal process. As developers we are lucky to have a platform that has done things in such sensible ways.

<comment><USER27> You are missing the point. What the author wants is a composable toolbox. He knows it's possible, he can wield them proficiently, and the gains are numerous, but the system doesn't give him the _means_ to do that.

You can't pipe iPad apps. You can't filter emails from a file using a single line of Objective-C. Development environments don't have the practicality of typing text in a shell for instant execution.

If I understood correctly, "anti-programmer" means the environment doesn't make use of his abstraction abilities, not that it is bad for developing software.

And hell yes, I would compose kitchen appliances if I could.

<comment><USER28> _You can't pipe iPad apps._

Yes you can, through custom URL schemes.

<http://handleopenurl.com/>

<comment><USER29> That's not part of ios, that is a library. I can't add that to someone else's app on the device. Apple should integrate it into iOS.

The user of the device should be able to compose apps, not only cooperating app writers.

<comment><USER26> You could not be more wrong. Not only is it part of iOS, it is part of UIApplication, the class on which any iOS app is built. Why even bother commenting, if you're just going to make stuff up?

I'm guessing you didn't even click on the web link, which, you will notice if you do, does not lead to any library. It's just a site (which I've never visited before this myself either... don't need to, to write or use inter-app URL launches) that hosts an informal registry of protocols along with information on what they launch.

</comment></comment></comment></comment></comment><comment><USER30> iOS has no concept of files (for the user). There's no common bit you can share between two programs. Of course, there are ways around this (Dropbox API for example). I'd say removing this concept has probably made iOS a lot easier to use.

The big danger with iOS is that it's also attack the open web itself. What if the catalog the author downloaded was only available in an iOS and android app and not on the web. That's when we really start to have problems.

</comment><comment><USER5> So only programmers deserve nice things? Look, I get the danger the app- storification of software, and honestly it scares me more than Microsoft ever did, just because it's so _appealing_ from a consumer perspective.

But barring the removal of direct distribution and the UNIX shell, I say more power to Apple in terms of re-inventing the consumer computing experience. What the author doesn't seem to understand is that great design and usability can never be achieved solely by adding features. Things need to be taken away as well. I can personally vouch that taking these things away is a huge win for someone like my mom who will never understand or be comfortable with filesystems. For her, the limitations of iOS take her from a place of constant _fear_ to a place where she can actually explore and figure things out like us geeks take for granted.

It might be uncomfortable to think that tech devices are no longer primarily for geeks, but that chasm has been crossed, and we have to acknowledge that programmer devices are increasingly going to be distinct from the mass market devices.

<comment><USER18> > we have to acknowledge that programmer devices are increasingly going to be > distinct from the mass market devices.

Actually, this creeps me out more than anything else, because where are we going to get new programmers? The prototypical childhood story of most of us is that of discovering a programming language on our computers and learning through experimentation. Will that be possible in an iPad world?

Though this brings me to an idea I've had for a while; a website where children can learn to program from their browser, since every modern browser has a JavaScript interpreter built in.

<comment><USER5> Not too worried about this personally. You read a lot of articles decrying the state of programming for kids these days, but I think it's all nostalgia. Programming is more accessible than ever. The only problem is there's way more distraction now, but the number of young programmers seems to keep growing.

</comment></comment></comment><comment><USER31>
      "Those days are dead and gone and the eulogy was delivered by Perl."

</comment><comment><USER32> Does HN make the first character of the title upper case? It's iOS. IOS is Cisco's Internetwork Operating System. Please get it right.

<comment><USER33> > Does HN make the first character of the title upper case?

Yes it does.

<comment><USER32> Thanks :)

</comment></comment></comment><comment><USER34> Have you seen <http://schemes.zwapp.com/.json?page=1> There is the beginning of some hope: [http://gigaom.com/2011/06/09/zwapp-builds-a-social- network-f...](http://gigaom.com/2011/06/09/zwapp-builds-a-social-network-for- app-discovery/) its a database of all the apps that use custom url schemes.

You can also use javascript bookmarklets to compose with any webapp (webpage).

Hopefully one day apple will expose a framework that will allow users to do in app user level scripting for all apps. And maybe even allow cross app scripting with very well declared uses by responsible / licensed people.

</comment><comment><USER35> As a programmer who makes his living from iOS, and would not be doing so if Apple didn't show the world the right way to sell software directly from developers, I disagree with at least half of this headline.

</comment><comment><USER36> Windows 8 has Charms, Android has Android Intents, and Google & Mozilla are working on Web Intents. Composability is on its way back at the mainstream user level.

</comment><comment><USER37> I'm a marginal Linux script writer at best but I appreciate the point regarding composability. Still, I have to wonder whether composability is as relevant today as 30 years ago, not because it isn't a desirable attribute for programmers but because the thousands of developers that are churning out limited feature, limited purpose apps don't seem to miss it. Happy to learn if I'm missing something here.

<comment><USER38> or you need the thousands of one task app to mitigate the lack of composability.

</comment></comment><comment><USER39> The author clearly mistakes indifference for antagonism. Yes the majority of consumer devices are both Unix and programmer indifferent. One might argue that for the vast majority of people this is a good thing. And followers of the Unix way never really seem to run out of ways to scratch their itch anyway.

</comment><comment><USER40> I wouldn't expect anything less from a programmer. But then programmers (as customers) are not the ones making Apple the most valuable company in the world. Comparing something made by programmers for programmers to something made by a consumer product company for consumers is pure nonsense.

</comment><comment><USER40> I expect nothing less from a programmer. But then programmers (as customers) are not the ones making Apple the most valuable company in the world. Comparing something made by programmers for programmers to something made by a consumer product company for consumers is pure nonsense.

</comment><comment><USER41> After reading this, it struck me as this is how intents could (and sometimes) work on android.

It's not perfect. You can't string together a bunch of apps. But it's nice when I click on a youtube video, the youtube app seamlessly takes over. Same for email, or reddit links.

</comment><comment><USER42> Most people just browse to web. If you want a shell, it's way easier to use a linux thinkpad that has a proper keyboard and proper OS, as opposed to an iPad. But that's not to say that an iPad is not good for some things.

</comment><comment><USER43> > "The more I use graphical interfaces (or anything that does not operate on > text streams - commandline curses programs included), the more I am struck > by how profound the loss of composability is".

Er, try Automator.app for an example of non text-stream "composability". Also: Quartz composer. Also: Max/MSP.

Oh, and text-stream composability might be the "unix way" in, but is not exactly programming, it is command line glue.

Composability in programming itself is achieved via other means, for example objects, widgets, components, messages, etc.

</comment><comment><USER44> Composability is what makes something greater than the sum of its parts. The iPad, I found, is so constrained as to be useless. I know of very few people who are still using their iPad regularly after 6 months or so precisely because of this (and the star trek wow factor has worn off).

Ironically, composability is why I still carry around a 15-year old TI92 calculator instead of an iPad, even though my peers look at me strangely. Oh and it still runs on good old fashioned AA batteries :)

<comment><USER45> How many of those people you know with iPads are what we would call normal people?

I only ask because it seems to me that most of them wouldn't mind at all that one couldn't be productive on the iPad since surfing and a few games are mostly what they use it for.

<comment><USER44> 80% I'd say.

It seems to go like this:

1) They bought it with a purpose in mind but it didn't work quite as well as they were hoping (khan academy, mapping, general use, recipes in kitchen, streaming video).

2) The games last a while but they are mainly novelty rather than immersive or lasting so it's back to the XBox.

3) then the web browsing gets frustrating as streaming video is choppy over WiFi and impossible over 3G and "what do you mean flash or java doesn't work" - I can't play facebook pool.

4) then the keyboard becomes frustrating when they try and do real work because it's not tactile.

5) then they switch back to their laptop when they have to do something like mail merge.

6) then the ipad goes in a drawer, followed by ebay about 2 months after they find it again.

I've seen this so many times across about 12 ipad owners now. 20% "software dev". 40% "tech enthusiasts". 40% "joe average".

Bear in mind this is just my observation.

<comment><USER46> My friends have had a very different experience.

It's much more comfortable to hold on the couch, at the cafe, in bed, or on the plane/car than being on a laptop.

<comment><USER44> IMHO I think that's wierd. I'd never consider using a computer in any of those places personally. I consider them all "downtime".

<comment><USER47> I think some of the point in this case is that the iPad is specifically not a computer.

<comment><USER44> It is though. What is it if it's not a computer?

<comment><USER48> > What is it if it's not a computer?

An interesting question. Is the iPad a computer?

Your average power-user (let's say programmers, Apple fanbois, Android users, and me) would say, "Umm hello? Obviously!" But your legions of average regular iPad users (grandmas, and your average college students) might not agree. But if you asked them what an iPad was, if it was a computer, they couldn't quite be able to tell you. "Umm, yes? But wait, it can't do so many other things."

This means, as a society, Apple has forced us to rethink the question: "What is a computer?" and "Is the iPad a computer by this definition?"

<comment><USER44> That is precisely it. Which brings me to the point here:

<http://news.ycombinator.com/item?id=3003812>

"We're slowly being led into paying incrementally for utility computing on a device we actually paid up front for".

If it's no longer a computer, it's an open market to exploit. We are consumers, not users any more.

<comment><USER7> I really don't understand your point. How is any of this to the detriment of the average user who uses the iPad to browse the net/read ebooks/watch movies/listen to music/as a digital photo frame? The average user doesn't need to use the iPad as a computer. If the problem is pricing, then that indeed is an issue with tablets, but then Apple's products have always been high priced.

<comment><USER44> It's at the detriment of the user when the iPad is no longer vogue and they wish to retain their books, movies and music.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER49> BREAKING NEWS: iOS Was Not Designed for Neckbeards

Full story at 11

</comment><comment><USER50> iOS is anti-Unix and anti-programmer?

It must be why Android's trying so hard to copy it.</comment>


Duda: Web Services Framework in C, to rivalize Node.js - <AUTHOR> http://blog.monkey-project.com/2012/03/13/duda-web-services-framework-for-monkey/

<comment><USER2> At first I thought, "Yeah, but who the hell would want to write web apps in C???" Then I thought, "Oh yeah, people who want high-scalability at the cost of readability."

And then I realized, "Oh my god, it's Node.js all over again!"

But seriously, looks cool.</comment>


Abolish.vim – super-powerful word substitution, case coercion, and abbreviation - <AUTHOR> https://github.com/tpope/vim-abolish <comment><AUTHOR> This is an old plugin, but it's still one of my all-time favourites.

For instance, my task today was to update some terminology in a large app. I had to replace all references to 'Ab1' with 'AbFoo', 'Ab2' with 'AbBar', and 'Ab3' with 'AbBaz'. I also had to replace 'Near' with 'Node' and 'Far' with 'Antinode'. To complicate matters, both of these were usually found in the same line, and both had different capitalization variants - e.g. gAb1NearSensor -> gAbFooNodeSensor, ab1Group -> abFooGroup, nearSensor -> nodeSensor.

With Abolish.vim, this is simply a case of opening each affected file, then doing:

      :%S/ab{1,2,3}/ab{Foo,Bar,Baz}/
      :%S/{near,far}/{node,antinode}/

This handles all the possible case combinations automatically. Instead of spending hours tracking down all possible combinations, and inevitably missing some, it's done within half an hour.

Just because that's not cool enough, the plugin also offers variable name case coercion (between MixedCase, camelCase, snake_case, UPPER_CASE, dash-case, dot.case, space case , and Title Case) and abbreviation/replacement of commonly used or misspelled words.</comment>


Don't Want to Fall for Fake News? Don't Be Lazy - <AUTHOR> https://www.wired.com/story/dont-want-to-fall-for-fake-news-dont-be-lazy/ <comment><USER2> MIT this and Psychology that don't change the fact that the world is made of a web of abstraction of trust. It is not possible for any individual to have the time or competence to evaluate the trustworthiness of every single entity they rely on in day to day life.

If I employed a plumber and she did a bad job because she used a tool wrongly or used the wrong pipe fitting, will it be reasonable for the world to expect me to know the intricacies of plumbing (where do I learn them? How do, I, in turn, trust that source of information, and ad infinitum)?

Yes, it's good to do some basic due diligence for things that affect our lives, but there's a reason high-trust societies are much nicer to live in.

</comment><comment><USER3> Rallying against objectively "fake" news doesn't do anything about the much more serious problem of the way that mainstream news is less than truthful in more subtle ways, such as under-reporting or not reporting things that are true, emphasizing certain facets of a true story to follow a crafted narrative, reporting on things that otherwise wouldn't be newsworthy to advance that narrative, etc. Disproving blatantly fake news is trivial, disproving years of propagandizing full of half-truths and consistent narratives is impossible.

</comment><comment><USER4> The example is silly. There are several sources of the same video. If it's not a funny meme, a normal person will look for the original video. In all of the videos he applies pressure on the intern's arm, you can see it by how her body moves. To shift blame to Sara Sanders because she shared a GIF instead of a video, is the "spin" that reveal bias. You can put the original video instead of the GIF and the Sanders tweets stands: "[We will] never tolerate a reporter placing his hands on a young woman just trying to do her job as a White House intern" The article falsely claims that Sanders cite the GIF as grounds for revoking Acosta's press pass. The mentioned grounds for revoking Acosta's press pass can be seen in all videos and cameras. (touch the arm, apply pressure). It's not the GIF, it's what happened. The article implies that the GIF was intentionally modified, but the truth is that:

>At BuzzFeed News, Charlie Warzel dug into the creation of the Infowars clip, establishing that it was made by zooming in on a GIF excerpt from the original video. GIFs can drop frames when constructed, and video-encoding methods can introduce other changes. In the end, Warzel couldn't decide whether the video had been doctored or not. Citing experts, Motherboard concluded that the video wasn't doctored, but that it was "altered" —a distinction that might confuse as much as it clarifies.

The article also falsely claims that "The events described in Sanders' tweet simply did not happen."

So, if this article plus its title is meant as an "Study on Irony", then it's a great article.</comment>


Twitter needs to be supported during turbulence - <AUTHOR> https://medium.com/@journiehq/twitter-needs-to-be-supported-during-turbulence-bef2dc44dc19#.o3nkdwlmn <comment><USER2> I find the concept of an 'important tweet' very amusing. Social networks serve as distraction and personal advertising, how can it be important?

Just send an email.

<comment><AUTHOR> Perhaps important could mean an opportunity or threat to business revenue?

Anecdotally I've seen cases where companies can win business by simply listening to people asking questions on Twitter (e.g. Visiting Dublin in April, any recommendations on where to stay?)

I've wondered of the value of floating something into the either in Twitter Vs a direct email, possibly users hope for increased visibility and 1 to many reaction? and businesses have an opportunity for discovery that wouldn't exist if the user didn't send an email directly to them.

Certain industries have embraced it (airlines lead the way), if your customer is there and talking about your business/market then you need to be there too, or at least aware (in my opinion).</comment></comment>


Show HN: Lists are the next big social content - <AUTHOR>

"For some reason our species is drawn to numbered lists" - Quote from "Inbound Marketing" by Brian Halligan and Dharmesh Shah.
Most blog articles have a list in them but they are "locked" in an unstructured format instead of being allowed to evolve as people consume them.
The idea is to make lists social with Twitter as the main communication platform.  Here's my minimum viable product - twtpick.in.  Check out this list that Kevin Rose crowd sourced via Twitter - Top iPad Apps - twtpick.in/1l.
What do you think?
P.S. I am also looking for a co-founder. <comment><USER2> Does this automatically scrub tweets or is a one-way street?

I think it would be interesting to create non-structured top lists that just cataloged and aggregated from the twitter mindshare. E.g. most popular TED talks

<comment><AUTHOR> Nope, this does not scrub tweets. The idea is to allow people to build lists collaboratively with their friends and followers. Twitter "SEO" will bring more people to contribute to the list.</comment></comment>


Hacking the nervous system - <AUTHOR> http://mosaicscience.com/story/hacking-nervous-system

<comment><USER2> Here is a company that claims to have developed a device that can treat the condition of tinnitus by stimulating the vagus nerve [1]

[1] [http://www.microtransponder.com/?page_id=118](http://www.microtransponder.com/?page_id=118)

</comment><comment><USER3> Err.. wtf? THis is a direct rip of part of Giulia Ender's "Gut" book.

<comment><USER4> A bit off topic, but would you recommend that book?

<comment><USER3> Yep, I found it absolutely fascinating!</comment></comment></comment>


TinySeed applications close today - <AUTHOR> https://tinyseed.com/apply <comment><USER2> This is an interesting approach. I'm not sure I'd call it bootstrapping if you are taking external funding. Having access to mentors is good though.

I bootstrapped my first company to several million and revenue by doing contract work on the side. Later, I decided to use the money from my bootstrapped company to launch another startup. Once we got some traction I decided to take company #2 the VC route. 0/10 would not recommend! :-) I'm working on a blog post about why bootstrapping can be much better for founders.

I've since gone back to company #1, where I own 100%, and pivoted it into a service to help engineers go from FTE -> contract -> truly bootstrapped startup. Of course, you are could always just go from FTE -> contract if starting a business isn't your thing.

We've got quite a few devs in our network now.

More info: [https://blog.facetdev.com/the-facet-developer-network-the- fr...](https://blog.facetdev.com/the-facet-developer-network-the-freelancer- network-for-former-faangetc-engineers/)

To sign up: [https://www.facetdev.com/work](https://www.facetdev.com/work)

<comment><USER3> _I bootstrapped my first company to several million and revenue by doing contract work on the side. Later, I decided to use the money from my bootstrapped company to launch another startup. Once we got some traction I decided to take company #2 the VC route. 0 /10 would not recommend! :-) I'm working on a blog post about why bootstrapping can be much better for founders._

I'm in a similar position; company #1 is successful and now running without me and I'm switching focus to company #2 and considering the VC route as this business has appropriate scalability. I'm quite interested to hear why you are 0/10 on going that route. Will you be posting that to the facet blog or how can I ensure I see that when posted?

<comment><USER2> Yeah, i'll be posting it to the blog in the next week or so. You can subscribe to the blog to get notified when it gets posted.

Also happy to talk one on one about my experience. My direct email is in my profile.

</comment></comment></comment><comment><USER4> What's weird about this application is that there is no field asking what the business is. There are a lot of questions around that (why is now a good time, who is your target customer), but there is no elevator pitch. As well, a lot of the questions are focused on which businesses your customers are, is B2C not a thing?

<comment><USER5> We'd like for the marketing website, product demo or deck to do the talking. We don't need someone to re-hash something they should have already communicated in another format.

<comment><USER4> For sure, that filters it to established products and not prototypes though. I have a garbage landing page now, but when I applied I just had some barebones features prototyped. I might have read a little much into the "seed" part of it.

</comment></comment></comment><comment><USER6> TinySeed seems _much_ better than the "predatory" deal Earnest Capital is offering[1].

But they still seems hamstrung by not _understanding_ that startup investing is inherently a hits-based business. At some point they're going to get a 1000x return, whether they want it or not, and it will make all their previous investments look financially insignificant.

A startup doesn't have to be the "the next Facebook" to return 1000x. It could be an Atlassian or GitHub, two previously-tiny bootstrapped startups.

The big advantage of trying to make your money off your big hits is it allows you to be genuinely founder friendly. The big hits pay back so much that you can be generous and high-minded with the rest, like YC.

1\. Giving up 15% for ~$150k would suck as a founder.

But 8% would be a good deal. Forcing smart founders to insist on the minimum end of the range seems like a bad place to start the relationship.

2\. Having an investor make monthly payments and control your salary would suck as a founder.

It's going to cause anxiety about the money being cut off and it will make you feel like an employee that has to report to their boss. Investors should be peers and partners.

Seems like they should just make the deal 8% and pay the money at once, and trust that you've chosen good founders. If they blow the money, well, you messed up. And if they spend it differently from how you would, but succeed, who cares?

1\. [https://news.ycombinator.com/item?id=19160036](https://news.ycombinator.com/item?id=19160036)

<comment><AUTHOR> Skipping over the comment about how we don't understand startup investing.. :)

On pt 2: there is no mandatory monthly payments, and we don't really control founder comp. What we're trying to do (which relates to the point I skipped over above) is attempting to come up with a structure where a founder can build a profitable business doing 7 or 8 figures while the investors get "suitably" risk adjusted compensated for that success.

Whether you think our valuations "suck" or not, we have spent a lot of time thinking about what we can do to build out a novel ecosystem that can provide fertile ground for these kinds of businesses. What we don't think works is simply say "hey, you know what this is a hits business, so forget about valuations and just give them a SAFE".

If you had a business that wanted to raise financing but was honest about the fact that the founder did not thing they were going to become GitHub you'd know what I meant :)

<comment><USER6> Thanks for the reply. I hope you appreciate some critical feedback that comes from a good place. Helping early stage startups is a great thing.

But the entire point of startups being hit-based is that not even the founders themselves know how big they could get. The founders of Atlassian and GitHub could not possibly have known. Their opinion at the beginning was totally useless. They very well might've said "We'll never be as big as X" with total honesty.

So it's not a matter of "honesty" at all. Businesses and people evolve. Ambitions grow. Even Mark Zuckerberg had absolutely _no idea_ how big Facebook would become.

This is a counter-intuitive fact of startups that seems hard to internalize, but it's the very nature of such highly scalable companies.

It doesn't require that you "forget about valuations". You can absolutely try to get returns on your average outcomes, in total they should be significant. But it just takes a single 1000x return to dwarf them all, and now your big hit is all that really mattered _financially_.

I think the 15% valuation sucks and the 8% valuation is high but reasonable. As a founder I would not want to give up more than 8% but I wouldn't want to come across as a hardass either, which is an awkward spot to be placed.

Good luck!

<comment><AUTHOR> Thank you, but I think your assumption that the only thing that matters is finding 1000x returns is wrong. If you look at VC returns at scale and over time, what's considered acceptable returns are lower than you might expect (12% IRR).

If you're funding people at $2m valuation without customers and with a SAFE, then yes the only way to get there is with the hits. We are betting that's not the only way, but it does mean we cannot compete in the valuation olympics.

<comment><USER6> _(I find this topic interesting to talk about and I don 't mean to make this a huge criticism of what you're doing. I think it's great any time someone in a position to help early stage startups does so.)_

I'm definitely not saying that 1000x returns are all that matters, just that they're an inescapable reality.

My understanding is based on what I believe are three facts:

1\. A given startup's financial returns can range from 0x to 1000x or more due to the uniquely-high scalability of tech startups.

2\. It's impossible to predict how big any particular startup's returns will be (i.e. not even the founders or investors can know).

3\. Some very small percentage of any (sufficiently large) startup portfolio will return huge multiples unless you do something _incredibly_ backwards.

I'd imagine that YC generates much more than 12% IRR even excluding their hits. But what makes them so incredibly profitable is their hits. And because of their understanding that the hits are what makes them so profitable, they can rationally afford to be very generous towards all of their startups, which makes great startups want to apply, creating a virtuous cycle.

Creating a firm that tries to be YC-without-the-hits seems totally fine, except if you still end up with huge hits, because then you're just YC with much less founder-friendly terms. It may feel like the conservative and safe approach but it could also be the riskiest possible path, by serving to filter out the best startups.

There's a huge market opportunity for YC competitors that are remote but operate on the same terms. And when someone does this, they'll be first choice for all of the best startups, just like YC is. And it seems smart to compete with what's possible rather than with what currently exists.

<comment><AUTHOR> "I'd imagine that YC generates much more than 12% IRR even excluding their hits. "

What makes you think so? 12% IRR is 3x capital in 10 years. YC terms are $120k for a SAFE * 256 companies/year = $30m/year. 10x is $300m return per cohort.

Assuming we remove the unicorns, and that 50% die, that's 127 companies (half dead, one unicorn). Assuming again that the non-dead raise subsequent funding over various rounds, diluting YC's original stake down to (say) 4%, then all the 127 remaining companies would need to sell for an _average_ $60m to beat a 12% IRR. Given how many exits are actually zero investor return acqui-hires then I think that's unlikely.

" then you're just YC with much less founder-friendly terms."

I don't think so, because nobody who applies to YC is going to be able to get any funding what so ever if they argue that they want to become a $20m ARR vertical SaaS business. So I guess it boils down to whether you think it's more founder friendly to say "no" than it is to offer our terms.

<comment><USER6> YC has pro rata rights, so maybe that 4% is low? Regardless, I concede that it's entirely possible many (or all) of the YC batches are unprofitable without the hits. It's an interesting question.

I just think the entire concept of asking founders how big their companies could be doesn't make much sense. If Drew Houston predicted that he would be willing to sell Dropbox for $1 million in six months, and the Google Guys wanted to sell Google for a few million to Yahoo, YC had zero idea how big Airbnb would be, etc. what exactly is the point?

My understanding is that YC asks the question "How big could your company become?" but discounts the answer very heavily because of how hard it is to predict at the earliest stages. Almost any startup can give an answer about how they could conceivably be huge. Anyone trying to build a $20 million ARR SaaS company has a very easy answer.

It seems obvious that a founder with nothing would love to have a nice $20 million ARR business. It also seems obvious that when they achieve that level of success their ambitions will often grow, as happened with Dropbox, Facebook, Google, Stripe, and virtually every other hit startup ever.

I do think there's a good point about focusing on sustainable growth, and "not growth at all costs" but this just seems like what all the best founders and VCs actually practice, so it boils down to "don't be stupid".

<comment><AUTHOR> So if I may - your assertions are:

A) There is nothing wrong with how funding currently operates in the tech space. It allocates resources optimally in terms of risk adjusted returns for investors and there is no room to try alternate approaches.

B) There is no way to assertain what the potential size of a business is, anything could become Dropbox (including - I dunno, a SaaS focused on kitchen countertop installers)

C) The only way to provide suitable risk adjusted returns for investors is the current approach (focusing on finding unicorn outliers that can scale to 1000x)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Two thumbs up for this "...companies that don't aspire to grow at all costs to reach a $1B valuation..." If someone is raising capital, not sure if that'd be same as bootstrapping. Access to mentors-cum-support group who has some stake in the game makes them valuable.

</comment><comment><USER8> It would be interesting for applicants to share their submissions, for the HN community's feedback, and vote.

I've created a simple markdown version, for easy editing here: [https://zenlibs.com/write](https://zenlibs.com/write)

Just fill in the specifics and share as a gist or on Github.

<comment><USER9> This editor looks fantastic.

Have you shared the code anywhere?

</comment></comment><comment><USER10> Can anyone post the text for the form? I'm very interested in what their thesis is, but didn't get there on time.</comment>


Regex to match CSS Color Module Level 3 colours. - <AUTHOR> https://gist.github.com/4482084 <comment><AUTHOR> Any patches are quite welcome.</comment>


JS app that produces text along a path in pure CSS - <AUTHOR> http://csswarp.eleqtriq.com/ <comment><USER2> Just to clarify: The app is written in JavaScript, but the output is html + css.

Also, it's not designed for live updates. It generates static text.

</comment><comment><USER3> Oh, no, what will be next? pure-CSS WordArt?

<comment><USER4> Not sure what you mean by "next"... it seems a pretty decent description of what we're looking at right now.

</comment></comment><comment><USER5> This is quite awesome, hopefully we'll see some cool things come out of it like we have of lettering.js Two things though, a.) should turn it into a plugin as well, b.) s/kerning/letter spacing

</comment><comment><USER6> 1 letter of text = 252 characters of code? 99.6% overhead?

No way.

<http://www.w3.org/TR/SVG/text.html#TextOnAPath>

</comment><comment><USER7> Frontpage all over again.

</comment><comment><USER8> What are the browser requirements for this? I'm interested in building something like this, but just want to make sure most browsers out there would be able to run it.

</comment><comment><USER9> Cool, but Google wont like it. If it's important text you'd want to make sure you had the text somewhere else.

Maybe the html/css generator should include a hidden span with the text?

<comment><USER10> Can css specify which letter number in a text to apply to? If so, a single span could be used for the text, no?

<comment><USER11> No. The only thing one could do to minimize the HTML is to use :nth-child() instead of classes.

If CSS would support higher order matrices for transform, it could be possible with just one line per vendor suffix. But CSS3 has only 2x2 matrices, which aren't enough.

</comment></comment></comment><comment><USER12> If I'm seeing correctly this basically creates an element with some css properties for every letter in the text right?

Couldn't this become incredibly slow to load very quickly?

<comment><USER13> Doubtful. How many pages of text do you want to warp?

</comment></comment><comment><USER14> This looks like it could slowly edge towards a browser based .SVG editor in combination with a bunch of other stuff, I like it.

</comment><comment><USER15> It doesn't seem to be working for chrome... (latest version, who knows which, probably a new one when you read this)

<comment><USER16> yes it does</comment></comment>


The Secrets of the Wood Wide Web (2016) - <AUTHOR> https://www.newyorker.com/tech/elements/the-secrets-of-the-wood-wide-web <comment><USER2> Mycorrhizal Fungi (the wood wide web) will be the cornerstone of the coming wave of new microbiological inoculants that have the potential for a realistic new green revolution.

Already farmers I know in Canada are getting 15% increase in their soybean yields by inoculating with mycorrhizal Fungi, which incidentally also aid in rhizobium nitrogen fixation, which is the other most popular biological innoculant. Fascinating stuff and oh so ripe with potential.</comment>