skysight-inc/HackerNews huggingface dataset:
see also: "worse is better" and "fire your customers"

http://en.wikipedia.org/wiki/Worse_is_better

http://sethgodin.typepad.com/seths_blog/2006/04/the_customer...

aka "focus on high ROI stuff and cut everything else"

are we seeing a trend here yet folks or do we need to see this principle dressed up in anecdotes a few more times?
When you have families every hour counts. It does matter if I get in late on Monday, even though I am perfectly find hacking away in the lounge
That's a great observation. It looks like it's true across all sorts of languages:

http://www.indeed.com/jobtrends?q=php%2C+java%2C+ruby%2C+per...
So am I.

But my second thought was "Oh my GOD, how many pages of text for a single loop to run?". I'm sure they'll improve the api (with a wrapper layer), but right now OpenCL will only be used by the more demanding of applications.

EDIT: Maybe that sounded wrong. For huge classes of problems this isn't an issue, but to really pull that power down to the everyday developer, an easier wrapper api will be needed.

I can see spreadsheets using this stuff, but not as it stands now. On the other hand a gpgpu raytracer could use opencl as it stands now.
I could see this being useful for identifying and studying groups of people with similar habits and then targeting those groups differently.

But labeling people as more or less productive based on their habits with certain types of applications sounds a little nonsensical to me. Where's the focus on meaningful results?
One of the first things you should do is find out if your ISP blocks the incoming ports you need for whatever servers you want to run. Most do. Almost all prohibit usage of servers in their ToS unless you have a "business class" package. The other issue is simply how much upstream bandwidth you have and how reliable your internet connection is.

Running a server at home is great if you actually want to learn the ins and outs of administrating. I've always felt like there are three ways to administrate a server:

1) Just make it work. All sorts of problems lurking under the surface but it does basically what you need it to do until you find out one day something is broken and you have absolutely no clue how to fix it so you have an emergency Google session trying to figure out what a cryptic error message means.

2) Make it work well and follow some basic 'best practices' This is only as good as the HOWTO you're following. Definitely better than #1 but a much bigger hassle. Not as much of a hassle as..

3) Do it right. Learn the platform inside out. Fine tune everything. Develop rigid backup & maintenance policies. Keep current with security issues. Check your logs religiously. Maximize your uptime.

These are all perfectly valid approaches to it depending how important the server is but they all do include an element of hassle and upkeep versus paying someone a few bucks a month to do it for you.
The Font War: Ikea Fans Fume over Switch to Verdana
My project: CSVGet -- Get structured data from sites as CSV
Maybe he'll try to tell us "malloc() ain't a part of no public API I ever herd of!"
Single-page version: http://www.slate.com/id/2226503/pagenum/all/
1) "if it's been around that long, why hasn't it caught on with more people? is there a problem with it?"

2) "if I face a problem with it, will the author help me debug it for fix it?"

3) "if the last changes to this software were made X years ago, how does it apply the number of industry practices and techniques that have been developed since then?"
This can backfire in a big way...I will post this in the hopes the person I'm talking about doesn't read this website (I find it unlikely that she does).

I met a girl who seemed very cool. She was really smart, into computers (she's a programmer), funny, etc. etc. Basically everything that I look for in a good friend.

SO I invited her out to grab some beer one night.

Now, the thing is...I'm a bit of a beer snob. I invited her to go to my favorite beer drinking place...a place which features nearly 500 varieties of imported and microbrewed beer...all really great stuff.

Well, when we got there, I ordered a beer that is ~$20 a bottle (it is a very very limited run that new belgium did, and is quite good).

Her, not being a beer nerd at all, found a beer she liked, and ordered 3-4 of them...(it was a lambic from Belgium).

Now, because I'm a nice guy, near the end of the evening, I got up and talked to one of the bartenders and paid the check... The reason I did this was mostly because this girl was not a beer snob in any way, and probably had no clue how expensive what she was drinking was.

This girl decided that this gesture was me in some way trying to hit on her, and now refuses to talk to me. :(.

Some people get really weirded out when you try and do nice things for them, so be careful. Some people even go so far as thinking that you're offering to buy them lunch because you think they can't afford it.

Tread lightly, that's all I'm saying...
Thoughts on Getting the Most Out of Startup Weekend
UFC 102 Live Stream
Ultimate Fighting Championship Live Streaming instructions and links. Couture Vs Noguiera Fight Video.
AFIK the President has always had these powers in wartime. The War Powers act allows the gov't to mandate complete control over any of the countries resources, oil, trains, airwaves, etc...
What are you doing in ruby that you weren't in python?
I can see your point, and maybe I was misunderstanding the entire purpose of the discussion, I definitely think the law is playing on peoples fears and catering to them. Also that it's setup to typecast people as a group when as you did say, it's not that black and white and more refining is needing instead of more blacklisting.

Maybe I subscribe to some of that fear honestly, I kept going back to in my head: "What if the list went away completely?" instead of realizing it's not an all or nothing thing, and really needs work to be able to function as it should instead of just adding more to it, thus increasing confusion and destroying innocent peoples lives.

I would delete or retract my posts, but I feel the discussion was educational so I might as well leave them alone, thanks for the insight, definitely gave me food for thought on my own behavior.
> on the iPhone, you must avoid extreme memory pressure and ramp up your usage gradually enough to allow the OS to exit background applications.

Definitely, but when you're playing a game which is all in all pretty nice apart from the memory issues (on a 2G or a 3G, he 3GS tends not to have problems there of course), if a simple RAM wipe allows you to spend a nice commute, you're not going to go whine to the dev and then spend an awful commute. I won't anyway.

> I wouldn't be surprised if "Free Memory" functionality was a placebo in the vast number of cases

It's not. The effect is noticeable in many cases.

> Never you mind all those cached pages the OS just dropped.

Since you're usually freeing memory to open a game, you don't really care for those dropped cached pages. You care for the game you're trying to play.
Sure. I can't give you much more information than I told TechCrunch or that is in our pr about the acquisition (cash+equity deal, I stay CEO, etc. -- b/c of nda) Christian and I are relatively new friends, and we both had and currently have advertising companies. Avecora OnDemand was a property that I was looking to move to a bit of new management, since Avecora is moving into consumer electronics, and Christian inquired and made an offer, which after negotiations I accepted.

Shortly thereafter, I moved it to Atomplan and made a bunch of fixes, and got the ball rolling. Paperwork and whatnot later, we finally released. Fun experience, if not stressful.
The quality of the individual programs plays a large role. E.g. GHC (Haskell) has made huge strides in the past thanks to better libraries and implementations for the benchmark, despite nearly the same compiler.

On a side note, a lot of the benchmarks had to be reformulated after lazy languages got fast. As far as I know, a benchmark at this side prescribes which algorithm you should use. Haskell (and e.g. Clean) just ignored a lot of the baggage because it was not used any further.
I have played music with Processing, Python (a cool thing called Midi Musical Accompaniment or MMA), Chuck, Lily for Firefox, and Max with some of the Monome stuff... A lot of it is done with Open Sound Control (OSC) behind the scenes sending UDP around and connecting the disparate parts. I would say just dive in!!!!
"The original idea would be bankrupt if it wasn't for the website."

Citation needed.

The point of my comment was to point out that all the stuff about being "fast, lean, quick, lo-fi, bloggy" or whatever news buzzwords you hear bandied about as being the solution are not in fact the solution in and of themselves since they have nothing to do with actually making money.

At the end of the day, Politico's a lot like College Humor. It has a content web site it uses to promote a physical product where it actually makes money (T-shirts in CH's case). I don't know that there's much to learn from that example.
pretty much,

(when x (can-learn-from-startups x))
I live in Utah, and drive a scooter-style ebike to work. See (http://www.utahebikes.com) for an example. It's even one step further from a bike because you don't actually have to pedal to make it run.

Some would argue this is one step further down the chain of laziness. I contend that it opens up alternative transportation to a whole group of people who wouldn't otherwise consider it. It's not as "granola" as an old used bicycle that's already made up its carbon footprint, but it's a far cry better than driving.

Plus, the extra cargo space of the scooter style makes it a lot nicer for errands than a bicycle. I've ended up replacing 80% of my car trips with the ebike.
Equity Grant Math (an addendum to CDixon)
How about D? A friend of mine uses it as a better C++ for mathematical programming (optimization, graphs and so on).

Perhaps nobody would have invented C++ if D would have come earlier.
One.

Use Passenger.
The half-million fundraising behind Vidly
They are. And it's pretty unlikely that anyone would code in Objective Managed C++.

Worst thing that could happen would be a slight conflict in the brain of people coding simultaneously in Objective-C and in Managed C++.
I agree. I like Haskell's syntax better. But their syntaxen are nearly isomorphic for the most common stuff.
I think there's a bug in Hacker News where it will convert new lines to an html p and place it back in the text box if there is an error submitting the form (like your title is too long). Instead of waiting for a successful submission to convert the new lines. That said, this is purely speculation based on my experiences.
Rumors of Apple Tablet Continue... more 'insider information'
Could you give me a concrete example? Say, a pattern that can't be abstracted away in assembly language, but can be abstracted away in C++?

Serious question, not a troll -- I've always felt like I'm missing some key point here.
I used Hostgator several years ago. I vaguely recall them being agreeable to install additional software upon request, though I do not remember what I asked them to install.
Who Causes Cyclists’ Deaths?
3) You can declare functions to be pure. A lot of optimizations become possible.
Or high achieving students are getting shortchanged and the metric is being adjusted 'down'.

(Which would constitute a worst of both worlds view I suppose).
The Strangely Powerful Placebo
I agree, the wording could be misinterpreted, but it's clearly not the intention.
I'd go with the second lesson. Kindle makes it really easy to buy a new book: you don't need computer or even wifi network, just hit the button.

I wonder if it is a good idea for rivals to create a market with one point-of-entry but different sellers. Think of, well, Amazon for anything but e-books.
The first thing I wanted to see as a Smalltalker was how much they've baked Blocks into the libraries. I know Cocoa has always had very long method names, but some of these names are wild:

- #enumerateObjectsUsingBlock: is #do:

- #objectsPassingTest: or #indexesOfObjectsPassingTest: are #select:

And so on. Here's what I'm looking at:

http://developer.apple.com/mac/library/documentation/Cocoa/R...
No, I'm using GCC.

How's it outdated? Linux kernel is written in it.

As for limited subset, people would push and push the boundaries until your code grows fangs and horns
If you can anticipate a user's search needs, why not take the next step and provide the answers before the user gets around to searching?
Is there an easy way to shuffle bytes and bits in Scheme? I was quite delighted when I found Data.Binary (http://code.haskell.org/binary/) for Haskell.
On a second thought, such an open market will make price-unification impossible. And that is Kindle's another strong point.
I've resisted the Kindle due to its DRM and whatnot, and up till now, the Sony device didn't have much appeal either. But I'm quite interested the ability to "check out" books from the New York public library and to read Google Books in epub format. Those may be the killer features I've been waiting for.
I agree. (Might I add that reference counting is evil (and slower than true garbage collection).)
I can't wait for support in other languages.
Because HN is turning into Digg.
Nokia has always omitted Vorbis (and now Theora) from their Maemo devices for reasons they've never fully explained. You can add them fairly easily, but they don't ship them.
Do you know Synthesis OS (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4...). The author made the OS specialize (and thus optimize) system calls during runtime (or something like that, it's been a while since I read the paper). The techniques might me applicable in higher-level languages than the assembler used there.
For example the "there aren't enough registers so I put some data on the stack"-pattern. You just don't have that in C++.

Or getting the result of an expression into another expression, like

(a+b)*c

You have to write that as

x = a+b
y = x*c

In C# people regularly play the human compiler when defining getters&setters (or maybe their IDE does it, but you still have the noise code on your screen). Or when mentioning types everywhere when the compiler could infer it (although it's better now with the var keyword).
Even from this angle it sounds like you were trying to hit on this person. For some reason paying for food with the opposite sex is seen as courtship behavior. Try it with a (straight) man and see if he thinks that you are hitting on him. With amusing exceptions, its unlikely that he'll take offense.
The only thing rackspace does well is sales and marketing. Everything else is industry norm or less. They've fucked up maintenance windows and installed wrong hardware more times than I can remember.
If you want I can call a contact on monday and ask them if they can recommend a party in Germany that matches your requirements better, drop me an email if you want me to do that (mail on my profile page).
> I wonder if we really know yet if this is good or bad for innovation.

The top performers produce pretty much all the progress that is made in a field. From a global progress perspective, it's much more important for the top performers to advance than for the lower ones.

On the other hand for the "everyone needs a job" perspective, and "not all progress is revolutionary, you still need people to do ordinary work" you need the bottom performers to advance.

But this is not a zero sum game (as you imply). You can advance both, it's just not as many politicians care about the top performers. That's because politicians don't care about global progress, they care about bulk numbers: the majority of people need to be happy, and have incomes. And that implies helping the bottom and middle levels.
At work, we are following this rule for a feature. We have to maintain compatibly for this feature in the next release while working on the functionality that interacts with it.

We don't know how many if any customers actually use it, but if we broke it, someone would complain.

We think we have all the cases covered and that it won't break, but it isn't polished the way it should be. The error messages aren't as great as they could be. But it works. If we have time later, we may come back to it. If a customer files a bug, we will address it then. In a year, it might even be pulled from the product.

For now, we make it usable, but not perfect.
Many of the Google Books titles are already available for free for Kindle usage from sites like FeedBooks.com; it's quite easy to download those titles over the air.
I think that the courts have their ways of dealing with frivolous lawsuits. People that lie to the court are found out - most of the time, not all of the time - and that's one situation you really don't want to find yourself in.

Lying under oath is generally not a good idea.
Bootstrapping is a great idea. Check out sites such as http://www.elance.com, http://www.guru.com, and http://www.odesk.com to find a reliable programmer. Word of advice. You will find your biggest savings with programmers located in Asia and India, as opposed to the U.S. and Europe based companies. I saved 90% on my programming this way. Just make sure you explain exactly what you want done, what you expect, and check credentials and previous work.

When searching for Angels, you can checkout http://www.crunchbase.com to view what Angels and VCs are investing in your competitors, as well as to do research on the competition and companies and founders that you like and admire.

You can find some local Angels, VC and helpful entrepreneurs though http://www.meetup.com, and http://www.partnerup.com.

Lastly, share your ideas and get valuable feedback from people that can help you improve it, at sites such as http://www.ideaoffer.com, http://www.ideablob.com, and http://www.blubstorm.com. Just make sure to keep your ideas guarded and protect your intellectual investment in yourself and your startup. You can even get paid for lending your creative opinions to others on IdeaOffer. That extra cash can help you bootstrap your idea.

Hope I could be of some help to you. Good luck.
Snow Leopard: It's Built for the Future.
Assembly to C: procedures, loops, switch-case, expanded numeric constants (e.g. seconds in a week as 606024*7 rather than 6048000).

C to C++: virtual methods, scope-delimited allocation, dynamic typing.
iPhone Apps that can help improve your business
Unfortunately, I was too distracted to comprehend most of the article after reading the author's terrible, terrible mistake: the clones are from Jango Fett, not Boba Fett (or 'Bobo Fett' for that matter).

(It is kind of eerie how the clones are basically treated like robots. And they act like robots.)
Or unless those "other things" have unlikely but potentially really bad consequences.

Most of the time, maybe 80% of the time avionics software does not need to contend with the plane flying through a thunderstorm. But I hope that the programmers didn't just toss that possibility into the "not important" category.

The "80/20" rule is something MBA types like to toss out so that they sound wise, but in some cases it's needs to be more like the 99.80/00.20 rule.
The highest achievers will always have to fight politics instead of depend on it, since while a top achiever may produce 1000x the societal contribution of an average achiever, he/she will still only have 1 vote.
And spin it as a strengthen of sex laws against the worst offenders. The softening on the not-so-bad guys can be played down.
Hulu Has More Viewers Than Time Warner Cable
When working with code that's effort has lives on the line, the rules obviously change entirely. How many people ACTUALLY work on such systems though? For the majority the 80/20 rule is going to be fairly legit a large portion of the time.
Aren't all modern programming languages Turing complete?
Yes, but in most languages there's a point at which you cannot "make it a function". So you have to write it again and again and again.

Take for instance context management (Common Lisp's `unwind-protect`/python's `with`/C#'s `using`, it's also possible to express it using first-class functions which is the approach used by Smalltalk or Scheme or using your objects's lifecycles which is what C++'s RAII does). It's essential to ensure that resources you're using for a limited time (a lock, a file, a transaction, …) is cleanly released when you don't need it anymore, even if an error occurs during usage.

In java, most of the time this is done with stacks of try/except/finally blocks which you're going to write again and again and again.

How do you abstract it? You can't. Well you could use anonymous classes to emulate first-class functions in theory, but it has limitations of its own and it's not really supported by the wider Java community. And note that before Python introduced `with` or C# introduced `using`, they were pretty much in the same situation (theoretically, C# 3.0 could deprecate `using` since it has anonymous functions, Python on the other hand can't given its still crippled lambdas)
If you go near Seattle, write me and I'll buy you a lunch :)
Khronos is working on C++ bindings. But having the core API in pure C should make adding bindings to other languages a (relatively) easy thing to do.
Wow, incredibly cool. I did the same thing with collection of curl / grep / sed / awk, and it was awful. I later redid it with some python library, and then with hpricot, and most recently with scrubyt. Each step was a little bit better, but I really should have been looking towards making a more generalized solution like this.

Well done!
Global Startup Challenge
What's ironic is that the post is meant to appeal to those who always have another "one of the things I don't like about Rails." So your pithy-dig response is just perfect.
Very simple.

Mobile search today is an absolute fright.

(Google is about as good at mobile search as Alta Vista was at web search 10 years ago. Why not be this decade's Google and show them how it could be done?)
Teaching the smartest 5% of kids in a classroom is like surfing Hacker News. It might be fun and rewarding, but it isn't "real" work. It isn't part of the job description, it isn't what teachers are paid for, and it doesn't affect their performance metrics. Smart kids just have to be satisfied with the lectures and assignments that are designed for the marginal kids.

Even in an AP class, the top few kids in the class are guaranteed 5s. The teacher will focus effort on the kids who are hovering around the 2/3 boundary.
Indeed, half the time I was editing was because I for a while I didn't get why the reply function wasn't offered to some posts, figured that out later on ;)

But yes, definitely ill-thought out by myself, and largely misunderstood the topic at hand, it's good though, I learned from it, and pyre made some very good points.
Return of the corporate giants