skysight-inc/HackerNews huggingface dataset:
I feel your pain about the Windows issue!

I've been a PHP programmer through and through for the past three years and had no complaints about it. That is until of course I met RoR.

After the first year or so of occasionally playing with RoR, I found that my PHP started to have a decidedly Ruby accent to it. I was making heavy use of create_function() and array_map(), and was designing interfaces that hid more and more of the inner workings of my code in abstractions.

Now I still do PHP as a day job, but I absolutely hate it. Not because of the language itself but because I have to put up with other peoples complicated procedural code. I'm not implying that everything has to be OO all the time, I'm instead referring to code written by developers who have absolutely no interest in OO programming or MVC when building fairly complex content managed site.

For freelance work, its RoR all the way. Because Rails imposes quite a fixed structure (fixed compared to PHPs open-endedness), I don't need to spend days trawling through someone elses code before I can get started on a site.

Now, there are frameworks in PHP as well, but they focus on different things. Zend for example is a collection of libraries that you can pull together free-form into a system of your design (though there is of course a recommended directory structure). This flexibility comes at a price, i.e. that you have to initialize and configure all the working parts of the MVC stack essentially by hand.

The focus of rails is unapologetically to make a site work now, and make it easy for the developer building it to make required changes for that site. This comes through in pretty much every interaction you have with the framework (unless of course, you're on windows!)

The Ruby language itself is an absolute joy to program with if you cut your teeth on OO programming. You really don't know what you're missing until you learn the inner workings of the object model. If I hadn't given it a chance (i.e. spend a good few weeks hacking away on a ruby-based project) I wouldn't appreciate the benefits of it, sort of like what Paul Graham was saying in his Blub Programming article.
I really despise tutorials that extol the benefits of laziness by demonstrating interact and getContents, the most evil functions in the Haskell library.
I'll second that. I was clicking to recommend it in fact. This is the best document I've found on learning Objective-C as a C++ programmer.
Simple PHP Database Helper Class
Last week, I heard a talk from one of the engineers doing this. He claimed that the main thing holding back robotics is liability concerns. If someone builds a machine that causes widespread death and destruction, the usual cop-out is to blame the operator for losing control of it. But if a fully autonomous robot goes postal, the manufacturer can't pass the buck to anyone.

Perhaps this will be a real issue, or perhaps robot engineers are a bit too fond of Terminator and 2001. Fear of it is apparently causing real effects. It would be sad if the ultimate reason to employ humans is that it feels good to kick their arses when things go wrong.
It'd be nice to see an app like this take advantage of libcloud (http://libcloud.org/) to support multiple providers.
Early-stage theories
I am waiting for Twilio to go public. I even contacted them to see if I can get in, but no luck :-)
I was wondering about this about reading lots of material on fund raising.

Sure its easy to say "Id invest in this already proven company".

But when you invest as an angel say 50-100K. How would you know ? It seems that even entrepreneurs in the market are finding it hard to asses others.
"I don't tell you how to code, so please trust me to do my job."
Seems to be a bit of a fallacious argument. If you could code better than the developer, I would imagine any developer interested in making a product would put you right in there. However, same goes the other way, if the developer is a better marketer than you... get another job...
Change the picture for the second to

Ceiling -- A -- String -- Weight
Ceiling -- String -- B -- Weight

and you've got it exactly. Also the reason why it works.

Once you understand it the result isn't that surprising. So the physical model provides both more intense initial surprise and also a direct way to visualize the explanation. Which is why I prefer that version. :-)
I never heard about Apparat, sounds great!
I love Bygdin, esp the Setesdal track.
Could you elaborate, please? Or point me to a discussion of the issues with said functions? Thanks!
Prices for books move around more than I would have thought. I can understand the Amazon price drop on Stephen King as mention in the article because it was an analyzed move to compete with Wallmart. (price history graph: http://www.shopobot.com/under-the-dome-a-novel-hardcover)

But why do some book prices swing wildly up and down day to day? ex. http://www.shopobot.com/where-the-wild-things-are-hardcover Do they dynamically price based on sales that day? Anyone know how Amazon's pricing system works?
Sounds like an Apple fanboy to me, I love my Droid.
Says who?
Well Mr. Scoble, we already won the server farms, and it just a matter of several years until Desktops, Mobile Phone and Netbooks would all be running Open Source Operating Systems.

Signed
-- Open Source Fanboy
Car Insurance Discounts
Why does he have to scream so much?
Free Insurance Guide
Read the comment from thomas marban about developing software on Android, who explains why the Android SDK means apps have worse UI.
email me at suhail@mixpanel.com -- curious what we can't do =)
Youtube streams the file.

No they don't, they use progressive download. This is very different from streaming.
VxWorks isn't self hosting - the development may well be done on Linux.

I've definitely seen Linux (re?)booting on in-flight entertainment systems.
What's your experience regarding battery life?
Why is this voted up? It's just a wrapper of some of php's mysql_* functions.
amen. plus, these kinds of statements, and stereotypes in general, tend to be self-fulfilling: if you think all X's can't do Y, then anyone who can do Y doesn't look like an X to you.
I think the Internet makes two very different things common. I'm not sure what world any given business falls into:

1) The Internet is vast, and this tends to create everybody-wins. There is a virtually inexhaustible range of niches out there. Seriously -- one giant, flowing river of value creating. You are able to dip a bucket into it. You may not end up with your own private ocean (hello, Google) but you will also probably not die of thirst.

I honestly think that this is big, like Industrial Revolution big. Big like "bigger than all the hype about the dot com bubble" big. That was a bunch of PR-funded hype which collapsed in on itself. This is about creation of value -- huge, staggering amounts of aggregate value -- and cutting out a lot of the waste that previously prevented that from reaching people. Industries are being reinvented, and some are being created out of whole cloth.

2) The Internet is deep, and this tends to create winner-takes-most. At the top levels of any intellectual labor there is a step function difference in outcomes between #1 and #2, #2 and #3, etc. We talk about the Long Tail because it is new and exciting, but the fat head is still there. That fat head of SEO means, for example, that executing 1% better than the guy in the #2 spot more than doubles your revenues. By itself. The difference between being Google-successful and being Facebook-successful is several orders of magnitude, even though both of those examples made their founders rich beyond the dreams of avarice. The productivity difference between the best programmers and the worst programmers is widely rumored to be an order of magnitude: I think in the future, we'll see the pay catch up, outside the fairly narrow range of quants on Wall Street. (And the difference between the average programmer and the best day laborer is probably going to keep climbing, too. Returns on one of them keep increasing, you do the math.)

It is a great time to be alive for those of us who can leverage these trends. If I were committed to equality of outcomes, though, I would be terrified.
If I recall correctly, `getContent` (and therefore `interact`) uses `unsafeInterleaveIO`, the most unsafe function of the whole Haskell library, while not satisfying all the condition it should satisfy.

More practically, `getContent` is evil because it locks the file it is reading for an unbounded amount of time: as long as it's content (the giant string representing the file), isn't either out of scope (and eventually garbage collected) or fully evaluated.

That can be a problem if you intent to open loads of files (you could hit the OS limit) or if you want to modify the file after reading part of it.

Lazy IO is therefore quite embarrassing. Several people are working at hopefully safer alternatives right now.
Not to mention it recommends sticking to escaping strings as opposed to the proper way of using prepared statements/parameterized queries.

This is trivial stuff and poorly implemented.

Only positive aspect I can see in using this class is that it abstracts away which DB is being used from the rest of the code, so that when MySQL eventually collapses on it self, you can quickly replace it with something else.
this is exactly why stereotypes and generalizations are a disservice to everyone. there are times when statistics are applicable, eg making business decisions based on market research. maybe it is even relevant when deciding what to write about. however, it is complete baloney when it comes to making a judgment about individuals. For that matter, it makes for a stupid, black-and-white, controversial blog post title...which i suppose is the point.
Ask HN: Worlds Best Checkout experiences / pages?
Hello everyone,

I am trying to gather some inspiration for a checkout page - in doing so, I'd love to get some suggestions as to what sites have the best checkout / payment experience.

Also, any tips would be greatly appreciated.
http://www.techsmith.com/camtasia.asp
See also: http://news.ycombinator.com/item?id=925598
I agree with mahmud - Twilio has a great offering (& from I know, it's only going to get better!)

Other than that, I am really liking Yext, a lot!

After that, the company I used to work for seems like they're positioned to make some money (leadlogsys.com)
Overnight success is a myth.
the wright brother quote and perspective was awesome to read. the analogy to posterous made me do a double take. what is the equivalent paragraph about the "hard problem" that others have ignored that only posterous is or was experimenting with?

ps - the list of questions is cool.

edit: wait is "email" the answer? the comparison to flying machines still blows my mind. eit.
Amazon's isn't that bad for such a big organization, and it's definitely something they have studied in minute detail.
We had initially considered using MTurk as the backend for our transcription service. But found it difficult to tailor to the transcription process we had in mind.

The system we use now has multiple stages. We split up the files into smaller chunks which are then picked up by our transcribers. Each transcript is then reviewed, speaker initials and timestamps are added and then they are finally collated.

We've gotten pretty decent results with our system so far with some very satisfied customers.

More about our process at http://callgraph.biz/transcriptionservice#process
Yep, just flag these inane newbie posts.
That's surely an interesting idea, but I doubt it's doable.

First, you assume to know why visitors bounce (the "website wasn't what they were looking for"). That's quite a jump since bounce rates are about behaviour, not the causes leading to that behaviour.

For example, let's say I'm a bad writer and designer. My page may be absolutely the one a visitor was looking for, but due to my bad writing and design, the visitor thinks it's the wrong one. People scan web pages, they don't read them.

As another example, let's say I'm shopping for a new mobile and your page sells mobiles. I may bounce not because I'm one the wrong page, but because your price is easy to find and it's completely over-the-top in my opinion.

Second, there's also the problem of defining and measuring bounces.

Third, the conversion rate is, to some degree, a relative measure. Any number, say 10%, is meaningless unless you have an idea what's usual (for webpages similar to yours). Therefore, it doesn't matter what base it uses as long as everybody uses the same base.

Overall, I believe bounce rates are rather useless compared to other measures.
Intent - and how to "Like" it
InterPals Penpals: My Home
Stack Overflow for scientists
I was specifically responding to what I construed as "this will allow a critical mass of smart people to emerge/collaborate": due to people's finite attention span and inability to keep track of too many different people, there is a natural limit to the size of a community anyway, and it is possible that "elite" communities run into this bound before they achieve critical mass (which is rather nebulous anyway, but I interpret this as "genius happens".)

I'm really not trying to misconstrue your point, BTW; if it didn't interest me, I'd have stopped responding long ago, and I have better things to do than trolling.
A large number of astrophysicists (especially the ones with a Astronomy bent) tend to be of the hippy/surfer crowd. Or at least used to be!
They work by having input/output happen outside the IO monad. That breaks the abstraction -- which is impossible. You can't implement interact or getContents out of simpler functions, unless you use unsafeSomethingOrOtherIO.
I think he does just like to whine, but I remember Gruber linking to this piece a while ago that mentions twidroid:
http://notes.torrez.org/2009/08/android-software-day-3.html

Summary: a bit clunky, options that should be disabled/omitted are enabled, slightly buggy. Lots of little cuts, rather than missing features. Things may well have improved since then; I don't use twidroid.
I disagree, I know people who is a "natural" with other people, without studying and have technical skills too. People like them, and buy from them.

Working in the industry I met a guy who was a very good mechanic, but really good with people. He started selling products while he worked as a mechanic. He become rich, and he didn't wanted to sell!!! People trusted him because they knew he was not going to trick them.
Regarding #1, I think you are right that there are a lot of niches which can be tapped and which will make one a moderate amount of money. But problem arises when tons of creative people choose a single niche (e.g. todo lists). Choosing a niche and executing well is important but what stops from other fishes having their lunch at your part of pond?

Regarding #2, do you think luck is involved there in getting to jump the step function?
Maybe this was aimed as compiler writers (Google Closure), not the poor programmers?
I wish someone would write "Web Designers Can't Sell", for that's probably a more useful reminder for many people who offer goods via a web page.
How Safeway Is Cutting Health-Care Costs
Display customised RSS feeds with Yahoo Pipes and PHP in 3 easy steps.
Pilots solved this a long time ago. We call it a checklist. Anything that might kill you if you miss it is on there. It works ridiculously well.
Lawyers are expensive. Then point of the article is that Apple could, quite cheaply, have done their homework and he wouldn't have that large expense. iPhone development - it's not cheap, once you factor in the lawyer.
lawyers are part of the expense of doing business.
The Usual Errors From The Big Brands
I hope the cite all the prior art in their patent application.
Pretty much every reason that he gives against the droid makes me want it more. Hairdressers have iPhones. I'm a geek, I want a geeky phone. "a phone an engineer could love" sounds good to me.

So the best (3rd party) twitter app on Android isn't as good as the best (3rd party) twitter app on iPhone? Well wait a bit, there will be more apps.
Short History of Bvckup
I don't want to come out as a language troll -- I have written enough and much liked Haskell -- but one thing that Clojure, my favorite language, got right is multiparadigm programming.

Because I/O is serial and imperative by nature it just so much makes sense to handle I/O in a serial and imperative way and write the rest of the program in functional style. The same can be said of state and assignments: you need persistent state at _some_ point in runtime, and I think it's best to accept the crap and be explicit about it.

I greatly appreciate the idea of monads and all the insight that went into them, but it seems to me that they were conceived merely to solve a problem that doesn't need to exist. Monads are a great academic hallelujah and I hope they lead to the discovery of some new, unfamiliar programming paradigm that benefits all programmers.

However, I think monads are currently like the various design patterns akin to the Visitor (and its relatives) in Java. People had to invent these patterns basically to emulate a plain old function pointer bundled with userdata pointer. That's an old "trick" from C in the 70's and assembly before that, but only such that is otherwise unavailable in Java.

Consequently, if you're all pure and lazy-evaluating and you decide to make that a principal issue then yes, you do need monads to do the simplest thing, such as I/O, simply to fit into the purely lazy environment. IIRC the I/O monad was where it all began -- I would be surprised to note otherwise.

Then again, what I like in Clojure is that while the program control isn't automatically lazy-evaluating I still get most of the benefits of laziness from the fact that almost all data flow in Clojure is lazy by default. I can still write these nice infinite Fibonacci series or infinite sequences of random numbers and (take) as much as I need. And I still have (delay) explicitly for any body of code that I need evaluated lazily. And I can still enjoy writing most of my code in beautiful pure functional Lisp.

Yet I _can_ still shuffle my data procedurally. And loop around I/O like a grumpy Pascal hacker in a hamster wheel as much as I want _when_ I need to. And still confine that mess into a function or two with big warning labels around, so to not contaminate the rest of my program.

I know there are people who build incredible things out of monads, or inventing monadic metatypes I'm unable to grasp, and generally doing stuff never done before.

But that is merely a sign of great cleverness of these people; the same can be said about C++ templates that you can whack into such a spaghetti that they actually run parts of your computation in compile time.

One could, I suppose, say that it's like a treadmill with wheels that are connected to the running belt but slightly downgeared: you can use it to move on a street by exercising walking with your legs but most people choose to just.. you know, walk directly.
> If you have a high bounce rate, you will inevitably have a low conversion rate.

This is a worrying statement from someone who is supposedly a web marketing expert!

There are some inconsistencies too; now your claiming bounce rate is important for customer sanity - something I certainly would agree with! But I'm not sure you can logically extend that to linking with conversions.

As a programmer foremost I think I am a pretty good marketer too; so perhaps that's why I find what your saying disagreeable. Indeed I work with someone [as a consultancy] who describes himself as a "people person" and marketeer (and is supposedly a good one). He can't, alone, sell my software for jack shit...

I think there is room in these analogies for a middle ground where we can pool our skills; programmers to explain it, marketers to give it that needed gloss.

Also I feel none of your points (in the blog) are rocket science; it does something of a disservice to programmers, who tend to be very bright, to suggest that is where they fail. I think the key points we fail are as follows:

- difficulty in writing good, non-technical, copy

- looking objectively at the subject matter

- spotting where a "newbie" to a site/software might get confused on it's purpose how it works (and then explaining or working round that)

On the other hand we tend to be good at things like solid SEO, keyword marketing, spreading the word in a grass roots way - etc.

The only thing I would agree with is design; a lot of people try to sell bare metal work with the promise of a "custom design". That never works - your better off with a sexy design and a few missing, soon to appear, features :)

There are programmers who ARE struggling with the basics, I agree. But Im sure there are good and bad people in marketing.
I just made one using Screenium for the video, audacity for audio and iMovie for editing on the mac. Went pretty well, would recommend.
An interesting read. A bit of bragging going on, but it's a good illustration of a path from seeing a specific need to making a niche product.
Photoshop: What's wrong with the sliders.
There are app stores people complain about and there are app stores nobody uses.
Nothing new here.
There are multiple models of iPhone too. It's fair to compare the latest, top-of-the-range flagship model to its counterpart. Right now, Droid is that for Android.

Sure, the Android ecosystem is probably going to get richer than Apple can allow for iPhone, but right now, that's the comparison.
That might be useful if you had something complicated to remember, but wouldn't you tend to ignore a checklist that had as a single point "Wash your hands"?
Get By with a Little Help from Your Friends
How do you feel about Rudin's Principles of Mathematical Analysis? I've been slogging my way though that for a while.
Anyone has any experience using professional screencast production services ? More specifically, with professional narrators or voice artists.
I'm a PHP fugitive, so take this with a pinch of salt. 3 years ago I thought Rails was worth the pain of working with Ruby on Windows compared to the problems I was facing keeping myself enthusiastic in PHP. Now you've got the option of developing Rails sites in JRuby, that pain is much, much reduced. Honestly, it's worth a shot if you haven't tried it yet.
what's your take on the "battery cover" thing the author mentioned? how much BS did he put in his article there, or could it be true?
I agree that he's completely missing the point. Of course the iPhone is a far more polished product.

However, it is a far more locked down platform than Android.

This is the reason I bought my Samsung Galaxy, though it is sluggish, and crashy. That's the current tradeoff you have to make if you operate a more open platform. In future, I hope the pain will subside.
YES. This is a daft mistake if you don't - Ad buyers want to see impressions and placements before they buy. You need to determine their value. So if you want to sell ads, you need to have ads.

If you don't like adsense, make house ads. Even if they don't earn anything you need to see which ad products perform best.

Designers hate ads. Developers hate ads. They're ugly, they get in the way, they don't match, you need to install cumbersome systems to manage them, they create performance problems. But if they're a part of the business model then you better get used to them whether you like it or not.

And no, users really don't care as much as you think they do. They only care if you put them awkwardly in places they weren't designed to go...