skysight-inc/HackerNews huggingface dataset:
I think the critical portions of their design have been Jobs-driven for quite some years now.

A friend of mine, now an Apple emeritus distinguished engineer, said that during the engineering redesign of the Apple UI elements for Leopard (10.5) (which ended up looking nearly the same as 10.4), the engineers would have a weekly meeting, where they'd present just a few buttons. Jobs would walk in and say "yes" or "no" and walk out. Took quite a few iterations. ;-)

(To be clear, this was the internal re-engineering effort to make the Aqua UI resolution-independent. Inside of 10.5 is a huge set of tools that accomplish that fact, but it still had to look the same at current resolutions, and also look good at higher, which we haven't seen yet. The good results is that they can deploy a whole new system-wide, resolution-independent look & feel by replacing some XML and PNG files in the Appearance internal framework, and with no code changes. I suspect we're going to see that used in 10.6 very late in the cycle so there are no leaks.)
We actually do a/b testing. I don't work with the ui folks much, but we're always running tests like this. It's why you sometimes see some design/functionality feature appear for like one search and then poof you don't see for a while if at all.
pp (parallel python) supports a pool of machines for handling parallel tasks. She's a bit rough around the edges, but can generally get the job done.
Some DC suburbs are still under 3% unemployment. Government consulting in one form or another is vary stable work when you can get it.

EX: I work for a multi-billion dollar company that grew over 10% last year while being vary profitable. Many people I work with have a combined family income over 250k/year, young children, and little free time.
Does this really cover more than the source O'Reilly article: http://news.ycombinator.com/item?id=525167 ?
Finding Fame at South by Southwest in the Internet Age
I think it's much more common to talk about idempotence in programming w.r.t. state and state transitions. With immutable data, this approaches the mathematical definition:

(= (remove-el set 1) (remove-el (remove-el set 1) 1))

With network protocols, state machines, and mutable data, idempotence helps ensure consistent state without the fixed-point-ness.
Do something you enjoy. Look forward to the next day. Sometimes I find myself going to sleep earlier just so the next day will arrive ( :
OMGPOP should back down from this one...
strange posting really ...saying very little and in a confusing way.

there's certainly little value in claiming one tool is better or worse. whatever works for you + each project is so different.

that said -- from a purely personal and subjective point of view -- rails feels to me like playing a beautifully crafted instrument. never had so much fun programming. there's a lot of accrued wisdom in that opinionation ... imho...and is evolving at a very rapid clip.
While I consider the parent a troll, English is a pretty grammatically odd language among western languages since has dropped a lot of the rigid formalities common in Germanic languages. Also subtlety in the English language tends to come from importing words from other language bases (French, notably) whereas in other languages that's conveyed by modifiers. So it's not really true to call English imprecise, just precision in English comes through subtlety rather than formal structures.

All of that is of course largely irrelevant for programming as the small subset of English words that are used are given precise formal meanings which could be readily exchanged for equivalents in other languages.
On the other hand, Chrome is the browser security researchers know the least about; it's not an apples-to-apples comparison, yet.
Dino Dai Zovi on Mac OS X Eploitation [pdf]
With due respect for a well written article, my first impression is that the suggested approach misses the point. If a single machine will be able to handle the load of the combined queries, then yes, you should replicate instead of shard. But in this case, why shard at all? And what about the cases that actually require sharding, where your rate of queries and rate of updates don't allow you to run it all on a single machine?

It's possible my view is skewed. I've been looking at this problem from the point of view of distributed full text search, where I don't see any possibility of centralization in the manner you suggest. Still, I find the solution of trying to handle this in the database API to be suspect. If you know that some information will never need to be joined, why not have two databases instead of splitting the tables?
Is this an allusion to the Ramen-profitable thread or just non-sense? I want to be in on the joke :)
Ask HN: So do these companies make actual money or they just have revenue?
A lot of web companies raise loads of money and you often read claims of profit or at least enormous revenue.

But do they actually make a profit? I have searched and tried to figure this out and there doesn't seem to be a clear answer.

Now if 1 in 20 people in the whole world use your product and you're backed by the heaviest VCs then perhaps you don't need to makemoney right away but still...

So I'm thinking about first and foremost:
The giants:
* Skype
* Facebook
* Youtube
Smaller ones:
* Digg
* Reddit
* Delicious

Secondly:
* All HN-startups and similar kind of startups.Why a lot of them perhaps are useful it just seems like stuff people would stop using as soon as it costs money.
Thank you.

I am wondering that it must have been such a magical moment

- suddenly knowing that the "stress" is gone forever...

I am sure it must change everybody.

Also, I really liked a lot your essay about stuff - this is probably one of my favorites. Also explains why you used to keep using your old powerbook :-)
As in, "No more Ramen, I can now afford a Hamburger." (Which totally makes it not funny... oh well.)
Are we headed into an era of dumb tech?
BlackBerry 9630 Niagara Phone Launch in May by Verizon Wireless
BlackBerry 9630 "Niagara" as the next-generation BlackBerry 8830 World Edition. It's hard to say which carrier will land this new device first, But Now we can say that Verizon Wireless launch this smart phone in May.
I have to say that after being an app developer on Facebook...
I really like the idea of measuring writing in laptop batteries. Start writing, unplug the laptop, when it's about to die, wrap things up.
Do it. I did last Friday and am not looking back.
Travel to a country that shifts your waking up time by the correct amount, and stay there for a couple of months. It's the most painless method, but it's a bit expensive.
Hmmm... Maybe they could add an automatic "send apology" button...
Doh, yes Selenium Grid uses Selenium. And the argument about no major JS using Selenium is not an argument to not use it.

Selenium is the flakiest test framework I've ever used.

Though, my solution would use the best of both worlds. jsunit tests fired off by Selenium on a grid.
This seems to be a common thread for engineers building webapps.

Its not to say that you're incorrect, but if you're building a webapp that doesn't have huge special needs with regards to performance or some special technology sauce then your technology isn't a competitive advantage.

If you have something that can easily be built in Rails then I have a hard time thinking of a way to get a real competitive advantage working in something else. (On the flip side, Twitter was easily built in Rails and it was very much the wrong tool for them).

In fact working with well known, ubiquitous tools that get the job done well and fast is in itself an advantage. Being able to rev faster and easier then the shop down the block with their super cool custom built web framework that takes people 6 months to learn is an advantage.

Unless your technology IS your product, compete somewhere else.
Yeah, just translating keywords doesn't make language very different.

But languages such as Nadeshiko (なでしこ) http://nadesi.com/, a Japanese programming language, may be a challenge for non-Japanese speakers. Its source, especially one- or two-liners, just look like natural Japanese sentences. That means there's no explicit word boundary, and the parsing is based on the particles instead of word positions. (Longer program shows indentations and structures, makes it resembles to other proramming languages).

It's not a joke or experimental language. It aims at scripting for end users, and has pretty decent GUI/database/network bindings. Even a book was published.
doesnt that apply to all applications with output besides the REPL?
I think you are confusing functionality with design - even though two are closely related. Google is a landmark in both functionality and design - but former was the one that hauled latter onto the scene. IMO google has had one of the worst designs/branding ever before gmail era, which is in stark contrast with it's peak in functionality. This makes it a unique blend that stands out.
> It's probably a big reason why Google hasn't had a truly innovative design in a long time.

I think I'm on the other side of this. In the past, I would have said that Google had the best designed interfaces on the Web. Lately, I find myself wishing there was a way to opt-out of their 'upgrades'.

Most of my complaints are about their recent attempts to improve search results by automatically 'fixing' the queries I enter, but I'm guessing the border in question is the bold blue box surrounding the Gmail message list. I hate it.

Presuming he was the one arguing for making it the way it is (visually bold but distracting and unnecessary), I would side strongly with those who wanted to actually test it on users instead of trusting his judgment.
OK, good point.

But isn't writing a text editor one of those garden path problems - a near never ending amount of work to get to just what exists already? I guess I also wonder what inspires developers to start new text editor projects too! Perhaps its just dis-satisfaction with what is there already.
Using Cucumber for Acceptance Testing
John Resig's presentation starts at slide 115.
Three big reasons:

One, we're the oldest company (5yrs) practicing Lean Startup ideals, an off-shoot of Steve Blank's Customer Development strategy.

Two, the company chose to be extremely public about their practices and explicit about the financial results, up through 2007. As a Board of Advisors member and Venture Advisor, Eric sees a lot of privileged information. I don't have any specifics, but there are definitely other companies getting it and moving with it.

Three, and I apologize for how vague this will sound: things just look different when you're at IMVU. The culture is so hard to describe to an outsider, and so fundamental to the way we do business. I hope Eric writes more about it, because it was an explicit decision on day 0 to have a strong culture. It worked.
It won't and it shouldn't matter much what we say.

We can't load you with courage and send you off, although if you're still hesitating a bit we might be able to scare you enough to make you postpone your plans for a while.

Only you know what you can take now. Maybe you're ready after six months, maybe you're ready now.

Just make sure it's your own calling, and not a choice of ours or of anyone who (you think) will expect something from you. Don't live someone else's life. Live yours instead and find out that it's you who's granted to get to decide everything.
Agree. I let the programmer write code and the designer create the looks. Hiring one to do both is a cost-cutting measure I am not ready to take
Machines that Almost Fall Over
Aquamacs (emacs port to Mac) pretty much does just that (allows you to type and get your syntax highlighting right out of the box).
I think you just lost your right to complain about comments that are shallow, flippant and/or do not bring any useful knowledge or argument to the table. Sleep is a serious subject with many intricacies and hacking one's sleep can have far-reaching consequences. By reducing it to a short soundbite you set out a bad example, and it will be followed with zeal - already it's been modded to 55. Sad.
How'd it Go?
Nice one...300 programming languages at a single place.
One issue with data-driven design is that it can be incredibly inefficient for developing new behaviors. If you're changing hues, sure, it works. When it comes to building a novel interaction that might really push the needle, users typically won't learn it overnight. You can't test even two or three significant UI changes without incredible patience and inefficiency, because the data effects might not materialize for weeks, and the user re-education costs at each step are very high.

This effect is multiplied when you're trying to test design changes in products where users need to interact with one another (makes testing new design on only a subset of users incredibly difficult). Data-driven design in these contexts will likely just tell you to stick with what already seems to work.

At the moment, it's unclear if Google's really in the business of developing new user behaviors. They're operating a cash machine with reasonably well-understood dynamics, and will probably do pretty well just tuning it. I think this may turn out to be a strategic issue for them in the long run, but for now it seems like the answer is simple: if you're a talented visual or interaction designer, don't expect to have much fun working at Google.
Famous Programming Languages - Authors and History
PHP will eventually peak. Rails is almost certainly not the replacement. The replacement will have to be at least as easy to start with and as convenient as PHP, not less so.
>"Yes, it’s true that a team at Google couldn’t decide between two blues, so they’re testing 41 shades between each blue to see which one performs better."

compare that quote with the one from here: http://gawker.com/5162532/marissa-mayer-googles-biggest-fail...

>"In dictating the appearance of Google's Web pages, Mayer freely admits she makes subjective decisions. In more than a decade on the job, she has not yet codified her design instinct into a written style guide. Instead, Mayer's whims, which managers under her must make a study of, are what rule."
The starvation study I remember said _don't_ eat 16 hours before you wake up, and then eat well. Then the body will remember the time you got food, and make sure you're awake for it.

Also, this is the least useful comment by pg i've seen in a long while. It's not even funny if you happen to be a late sleeper.
Personally, I have noticed that watching tv and using the computer late at night keeps me up later. There have been studies that link tv watching and reduced melatonin levels. So don't use either before you want to go to bed.

Steve Pavlina has written a couple good articles.

Overview.

1. Go to bed when tired

2. Get up at the same time every morning. So if you don't get enough sleep one night, you'll go to bed earlier the next.

3. Don't do anything very stimulating late at night. Don't drink caffeine, or exercise late at night. Stimulating activities will keep you up to late.

4. Don't turn getting up into a problem with self-discipline, turn getting up into a habit. It's kind of corny, but practice getting out of bed during the day. Match the conditions where you get up, turn out lights, take off your work clothes, and get into bed. When your alarm goes off, jump out of bed, thrown on clothes, and do a little bit of exercise or do something else to wake you up. It doesn't matter really what you do, it just has to be consistent. After practicing a few times, it should be a habit, and you will be able to get up with your alarm when it goes off.

Part 1:http://www.stevepavlina.com/blog/2005/05/how-to-become-an-ea...

Part 2:http://www.stevepavlina.com/blog/2005/05/how-to-become-an-ea...

Getting up with an alarm clock: http://www.stevepavlina.com/blog/2006/04/how-to-get-up-right...
How HackerNews & Social News Sites Work
If you know you are leaving then perhaps try to renegotiate?

Perhaps doing the job part-time would allow you to have time to do meaningful work on your own while not giving 100% of your stable income.

Perhaps there is an option that will leave you and the company happy.
I wonder why most of the real "hacking material" links I came across here on HN tend to be ignored -- earlier today (or late night if you are in the US) there was a post about a severe vulnerability discovered in Intel CPU and got no more than 6 points or so.

Has anyone else noticed it?
That second link is pretty good as a rant, but I don't find it very good as an argument.

The whole argument about macros as a replacement for "static higher order programming," which is supposedly better than "dynamic higher order programming," which evidently nobody needs, was lost on me. He also seems to be saying, though, that "dynamic higher order programming" does not include closures, so I really don't know what it is. If a closure is anything, it is certainly a function created at runtime.

He also seems to say a function composition operator is obviously bad, without any justification. I guess if justification were required, it wouldn't be obvious. I don't see the clear advantage of carrying around a data structure with multiple functions and a third function that composes them, versus just using a compose operator. I suppose it's a little more opaque, but that is often a good thing (a kind of encapsulation).

"Of course, it may be slightly easier to optimize the result of dynamic code generation"

But maybe it's a lot easier? Can we get a huge speedup, or just a little one? I have no idea, because he doesn't say, and it's not even clear if he knows.

"Whatever problem we are solving by constructing h(x), it is probably better solved by a macro, which would perform the same composition statically."

I highly doubt any serious Lisp programmer agrees with this statement. Dynamically constructing functions at runtime is an extremely common lisp (pun unintended, but fortuitous) technique.

I have not programmed in Haskell, but reading this gives me no legitimate reasons to think it is a bad language, let alone an indictment on CS research.
Everyone has ideas.  It's really the execution that matters.
There are two problems here.

First, yes, everyone has ideas, but some ideas are more interesting than others. Common sense, peer review, social news sites, and/or prototyping can tell you which ones are particularly compelling.

Second, execution does matter but that's often beside the point because in many cases the execution is pretty simple anyway. This is particularly true with more original ideas where you don't need to compete on execution -- at least initially.
> What's to stop people just inserting bad test results? Seems like it could be really unreliable/dirty/bogus data.

Pretty easy, just run the tests more than once (on more than one client). If you get caught giving bad data then you get banned - seems simple enough.
set an alarm and be disciplined enough to get up and not hit snooze.
I thought this would happen. They changed some of the pieces and such but a great deal of the games on omgpop are obvious copies of the original games like bomberman. I bet they will be sued over other games also.
ok, I'm not sure why text is not showing up below link I've posted so here is copy paste:

Interesting story about IP in video games. I remember there was a discussion here and on gamedev I believe especially about tetris - how you could make a game and just call it something else than tris in the name and you'd be ok. Apparently not, even though OMGPOPs version from the screenshots looks like a blatant ripoff.
Using a Variable Pricing Model for eCommerce
Ruby Polyglot: Talking with Erlang
One day I would love to hear about these disasters. In my own experience I have literally faced utter failure in the face only to somehow manage to bounce back stronger than before.

I've told people that running your own business is a lot like playing one of those racing games where you get 30 seconds to get to the next checkpoint at which point you'll earn yourself more time. On several occasions it has felt like I have literally ran out of time only to coast through a checkpoint and be gifted more time.
I quite like this approach. That's how many advanced search features work, including Outlook 2007 and Google Web:

http://www.google.com/advanced_search?hl=en
I'm an engineer by heart, so I make the same mistakes mentioned in the article :) I respect a large system and all the work that it implies, and I believe in incremental and tested changes where the stakes are so high.

Yes, there can be better designs which are just as clean, but to get to the same level with a new concept would take the same amount of work and the same number of mistakes. This I also believe.

As for what I think about designers... truth is, not so much lately. In my freelance experience, working with freelance designers, they are the worst when it comes to deadlines (even very loose ones). But the thing I resent them most for is how often they just "add visual pizzazz". Rarely I see a site layout, or worse, application layout which accounts for future development or development ease or changes of any kind. What I really want is a concept which would allow me to do more, not less with my app. And unfortunately I often get one which looks great, but will break if I want to add a couple of controls or filters.
skype - got acquired. users buy service

facebook - advertising revenue

youtube - got acquired. primarily advertising revenue

digg - advertising revenue, sells stuff.

reddit - got acquired. displays some ads, but mostly for its parent company.

delicious - got acquired.

most startups have a plan that consists of one or more of the major 4 plans - sell something, ad revenue, license out your product, cross your fingers and hope to be bought out.

a good business relies on one or more of the first 3. the more of the first 3, the better.
Get to grips with HTML and CSS before you start worrying about anything else.
Whitespace, Shakespeare, LOLCode, Homespring (the Salmon-oriented programming language), and of course, Visual Basic.

Edit: the "Visual Basic" was my attempt at a joke, but then I googled in "Invisible Basic", thinking that some crafty hacker out for a laugh would have made such a thing. Unfortunately, I don't think this
http://invisiblebasic.sourceforge.net/ is a joke.

http://en.wikipedia.org/wiki/Whitespace_(programming_languag...

http://en.wikipedia.org/wiki/Shakespeare_(programming_langua...

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

http://xeny.net/files/Homespring-Proposed-Language-Standard.... [PDF link]
"> I was working at ThoughtWorks at the time and I noticed that the people who were all ga ga about Rails (and later JRuby) were people who didn't have much technical "street smarts" and spent their careers riding the latest bandwagon and overselling its benefits."

">I am not sure I am expressing this well, but the local rails community turned me off it."

You expressed it quite well.

I want to say, however, that was a pretty exciting time for many developers who were stuck in the painful jobs with PHP or Java. At that time two of the companies I worked for willfully jettisoned years of infrastructure in PHP based off the work some of the younger devs (including me) had snuck in with Rails (and Ruby). And it was quality, fast work.

If you had experience with Rails, you could stick out your thumb and get a fast train from the midwest to the Valley and get paid crazy money, too, because for some reason the business guys needed rails developers. The Rails conferences were a mix of pragmatic old school rubyists but also, many, many, young and talented devs, arrogant and quirky in the way young people are. Also there was a lot of free booze.

Of course, at the end of the day, we were all just software developers rallying around an slow language and imperfect framework, but it seemed like a lot of fun. I met some great people and worked hard and ended up the better for it.