skysight-inc/HackerNews huggingface dataset:
I'm implementing all of btilly's specific suggestions.

As for why not "be creative"? I don't see how that suggestion is helpful. Btilly wasn't creative, he implemented proven techniques. I want to do the same, I just don't know what those proven techniques are (beyond the ones he mentioned in his post).
That is, tornado is not more simple without twisted.

That's not exactly what I'd say. :) Tornado without twisted is simpler than tornado with twisted, because you can't ignore the huge system you'd otherwise be able to avoid.

Edit to remove mild flame.
Perhaps there are many alternatives because they all have problems.
Surprise Discovery In Earth's Upper Atmosphere
I've been writing software for 20 years, and aside from my employer paying for a course on UML a few years ago when it was all the rage, I have never, ever seen UML seriously used.

Not that I've ever worked at Microsoft or any massive "pure software" groups; I've basically worked in "get stuff done" smaller software groups. However, I suspect these small groups are far more common. When push comes to shove, code is the design documentation.

Beyond that, I've always had practical issues with UML's need to specify everything. How often is that valuable? Any given box-and-stick-diagram-with-labels is bound to be pretty clear, whether or not it does things the UML way. I would be annoyed if someone wasted extra time (and, likely, money) on a UML-aware tool, when it would have been faster and as useful to just sketch something.

I've also tended to rely on automatically-generated-and-therefore-always-correct diagrams (e.g. Doxygen, through GraphViz). This is especially true given that the majority of my documentation, even outside the code, leans toward plain text formats (e.g. man pages, simple text files, reStructuredText, or HTML). My reliance on those formats forces documents to be on the short side, which also helps avoid the risk of inconsistency with the code.
I can't wait for the end of dumb software users.
Swiss Precision Meets Messy Innovation
A bit off this topic, but related. I clicked on that link and then clicked on the BBC article, because I knew the NYTimes sometimes makes me log in and the BBC doesn't. I took extra clicks just to avoid the NYTimes and their register wall.

It seems restricting access to content is not the best bet. There is someone else out there who will provide the information more conveniently.

Just like there is some software vendor that will provide it cheaper or some startup that will provide it for free.
One of the problems people have is confusing happiness and pleasure. They are not the same. For instance, some of the things that give us great pleasure can cause us to be quite unhappy, and some of the things which are unpleasant help us be happy.
Advanced Floating Point Features (which most languages don't have) in Factor
A quick hack to measure iPhone OS distribution
"You've got about 15 of those as a young adult. "

I'm in my 30th year as a young adult. I plan on keeping it up for another 30.

I am my inner child. :)
Unspoken truth about managing geeks
This will probably elicit a lot of both positive and negative reactions but I thought it was a good read. The best quote has got to be "Good IT pros are not anti-bureaucracy, as many observers think. They are anti-stupidity." Preach on bother.
The commercial products used widely in similar situations are called "senior medical alarms" (or "alerts"). There are a number of providers. It is hardware (e.g., waterproof button worn around the neck, communicating wirelessly to a base station which includes a specialized loud speaker phone) plus a data-rich monitoring service. When the button is pushed, the base station connects 24/7 to a service rep who can use the loud speaker phone to converse with the wearer. In case of emergency, the rep has a list of nearby friends and possibly distant family to notify, and also has prepared data on hand to summon the correct local emergency services and tell them how to gain access. Monitoring services offer other functions, including calling the senior's base station regularly just to check in and chat briefly, or calling to prompt and check on specific medication. Additional hardware is available, such as motion detectors which activate the base station in case of unusual or missing activity, and multiple units to cover larger living spaces. A lot of development has gone into solving this specific problem, so possibly specialized service would work better than just an intercom.
A "No" could have prevented http://en.wikipedia.org/wiki/Space_Shuttle_Columbia_disaster
Ask HN: Flash game devs, why don't you cover other people's games?
So, I was wasting my time yesterday and stumbled upon this little Flash game: http://adamatomic.com/canabalt/ . The author says it was made in just five days, but it's extremely well-balanced and hits the right emotion perfectly. This got me thinking: why don't Flash game developers make cover versions of other people's games that they adore, like musicians do with songs? Faithfully reproducing a good piece of work, capturing all the little details and maybe fixing the little shortcomings, sounds like the perfect workout for technical skills involved in game development.

------

For example, here's a short list of minor details about Canabalt that I'd fix if I were making a cover:

- When the character hits the void below a crane, it shouldn't stop him like a wall.

- When the character hits a crumbling building and falls, the building should continue crumbling instead of freeze.

- The jump button should be a little less twitchy, because right now it's too hard to reliably make the smallest possible jump.

- The randomly generated map shouldn't include jumps into windows below the current roof level, because judging from Internet comments, this rare situation reliably kills most players regardless of experience.

- The music shouldn't contain those long lulls every now and then.

- Remove the falling rocks from the bomb death animation, they look lousy.

Note that none of those are new features per se. New features are things that require creativity, and they sound more like this:

- Add a speed indicator.

- Replace bombs with hostile robots digging from below or falling from above, with identical mechanics.

- Add the option of jumping into a friendly gunship and escaping at the 5km, 10km, 15km marks etc.
his point, for the second issue, is that the option should be on by default. and that makes sense.

however, the sad thing about article is that it shows Seth does not understand software development. There is no people who make "desktop" vs "web" software. Mostly this is the same group of people: software developers, and we all are alike - only difference is the delivery platform.

And the specifics of the selected delivery platform does not provide any qualitative difference for code that runs on it. Basically: you can make crappy desktop apps, and crappy web apps. The address book does not become good magically, because it is rendered as HTML page.

To finalize my point, the default state of software is "crap". Anything else must be engineered on top of the underlying "crap". The "why my software does not do (blindingly obvious) thing X" articles are amusing (function as bug reports, or invent insightful features), but are orthogonal to actual development of software, unfortunately.

Software will continue to slowly evolve, there is no qualitative leap coming.
Hopefully in the future we can simply allow users to tweak hardware they own. It's clear that technical measures to prevent this will just be defeated, so why force the users to pay for the development of anti-hacking features? (Nothing is free, after all. Making the TI-whatever unhackable would just make it cost more. WTF.)
I'm not impressed by any of these ideas. It's hard to believe out of 200+ business plans submitted, these were the best 5. It's also hard to believe that they are just ideas. Any of these ideas, except maybe Famingo (I'm not sure how complicated that thing will be), could have a prototype or even a fully functional version up and running in no time.

Where is the innovation? Where are the hard problems being solved? These are me too ideas. Maybe I'm being overly critical, but I just don't see the value and I don't see any competitive advantage to an idea that could be a side project for anyone more capable. Imagine a pet store throwing money at the pet health idea or ebay or craigslist going after shared storage or an iPhone app on the networked games.

I personally would never invest in any of these ideas.
Exactly. And that in a nutshell is the problem with this article. It's an exposition of the kind of regex engine we all learned about in school, not the kind of tool that is useful for practical software development.

A regex matcher, alone, isn't really useful for much beyond a lexer generator. It's captured subexpressions and backreferences (well, really just captures) that turn it into the gadget we all love. And as you point out, that is not achievable with the simple state machine engine we all remember from class.
I think you've never learned UML.

UML is a tool, a language. It's not a process, nor does it require that you specify anything. It's just a way of talking at a technical level.

I've been in the software field for 25 years delivering production code in a lot of venues. I always use UML as a way of doodling and talking about the way we're going to attack a problem.

Remember the four Cs of modeling: communication, coordination, collaboration, and consensus. There is a 5th C, Control, but it's bad medicine. Once you think that UML controls stuff, you run off in to architect astronaut land drawing lots of complicated diagrams with lots of little details.

That's what people think of when they think of UML, and it's about the furthest thing from the truth as you can imagine.

Just to rant a little bit more, a couple of years ago I wrote an agile project management tracking tool. As part of that, my customers and I had a 30-minutes requirements meeting. From that I created an analysis model. From that I created a database and a DAL. The whole process took about 2 hours. When people wanted changes, I could change the model and have the database and code change in 5 minutes. It left me to work on the UI and Business Logic and not be wiring stuff up everywhere.

UML can be nothing more than a bunch of boxes with arrows between them. In fact, 95% of UML is never or very rarely used by effective projects.

Tools can be very useful or they can cut your arms off. Doesn't make the tool bad or good. It's just a tool.
Sprint officially announces the HTC Hero with Google
Nokia Twist Comes to Verizon
So your argument is that you like broken software so that you can go fix it? That sounds exactly like what Godin's asking for.
Used to. They sold it if I remember right. It was like 5 to 10%
How to Really Measure Software Teams 3
See also: http://www.bbc.co.uk/programmes
" ... was, well, off-putting."

Perhaps. But that doesn't make them wrong. :)
This is what I've always done.

Are there really people out there who feel the need to explain themselves to carwash attendants and waiters???
something similar here.

I'm going to write about this to my girlfriend (who is a wanna-be-hacker). Now I have another reason to speak to her.

This day also has another significance. It's on this day that IBM introduced the first storage disk unit the RAMAC 305 in 1956 and it stored 5 million 8-bit characters.

source: http://en.wikipedia.org/wiki/RAMAC
Firefox 4 Mockup Teması Yükle | iYiblogcu
"My hunch is that most companies could increase revenue by simply adding a very high-end offering, even if they never sell a single one of those expensive units."

This strikes a parallel to something 37Signals once said, many moons ago, though I believe I had misinterpreted their point. When they said it (or when I read it,) I assumed it meant that you should definitely throw a premium option out there because there are some people who always buy the premium option... even those who wouldn't consider buying a less-than-premium option.

It honestly never occurred to me that its primary purpose is to make the other prices look smaller by comparison.
> I stayed up for 3 days without sleep to implement this thing

You probably could have done it in 2 days if you had slept.
Reminds me of my neighbor's truck nuts: http://trailer-parts-store.com/parts/images/balls.jpg
Information FTL
The more play around about Erlang, the more it makes absolute sense. This is a concurrency done right. And I say this having done concurrent programming in Java and C (both pthreads and LAM/MPI).

The share-nothing, message passing paradigm beats the pants off Java concurrency. Threadpools and monitor based locking is fine if only 10% of your codebase is going to be concurrent, but it gets old fast.

MPI is pretty cool. LAM is a decent implementation. But as with any C API, there is a lot of low-level cruft to doing it right. pthreads is both cumbersome and fragile. Also kernel level threads, while they have scheduling benefits, tend to be more expensive to spawn/kill.

Erlang really abstracts away all this messiness and provides non-blocking send and selective receive with message buffers. If only it had better string literals. (Implementing infinite loops with infinite recursion also gives me chills. But then I guess you couldn't implement a while loop with single value variables.)
Do you mean that when you get an update, you both write to the database and perform an update in the cache? If so, you would want it to be a transaction so that the cache and database is not out of sync.

Maybe a write cache, like on hard drives with write back caching. If you first wrote the update to a cache (queue of updates). Then it would be written to both the cache (cached html for instance) and database in one transaction.

But I think it sounds like more trouble than it's worth.
Stop the Madness Called Email
Animator vs. Animation
Indian Discussion Forum
Carbon nanotubes could make efficient solar cells
I've noticed this many times, or something like it, so I also have a higher tolerance for duplication in tests than in production code. The reason is that ideally unit tests are orthogonal, self-contained little stories about the system: "when you do this, then that, X happens". There is usually a lot of overlap between the "this" and "that" addressed by different tests; indeed there had better be, or simple combinatorics suggest you're missing cases. When you try to generalize all of this to eliminate the duplication, you end up with complex, abstract code that may be shorter overall but has lost the all-important property of being able to read a given test easily and understand what it is saying about the system.

I just remembered I wrote about this before: http://news.ycombinator.com/item?id=239167 (searchyc ftw).
> they had to except his "no."

They didn't. They could have asked for explanations, justifications, clarifications. He might have given them or not, might have continued the conversation or not (as he notes he did with a student), but that doesn't mean they had to accept his "no" for an answer.
At the risk of sounding crude, I experimented with all sorts of drugs and sex in college, but the best high I've found yet is scoring business.

Maybe I am a money loving robot, but that's my position on the matter.
Another thing ppl dont do is think about their historical peer group. In their immediate peer group what they are doing might be considered daring and pushing the boundaries. But, they don't stop to consider that such things have been done innumerable times before, and they are in good company.

Plus, I'd rather use my life on some fringe theory with potential high payoff (intelligent design) than stick with the crowd. I'm only one life out of billions, and most don't take the risk to expand humanity's horizons, and most spend their lives pursuing pleasures. So, I'm not hurting anything by being risky, and the potential loss of pleasure is only one iota out of a vast sea of pleasure experienced throughout the ages.
I honestly don't see what developing for the web does to encourage smarter applications? Is it things like "If I do this, I have to round-trip to the server over the WAN?" or "If I do this, I have to ask the asshole middle-tier developer for something?"

In fact, more and more desktop applications ARE web applications, they just don't use a web browser as a client. I suspect that Godin is a little bit off the curve here, and the moment is going to shift back toward the desktop (AIR and other sorts of things) where developers can build rich applications without having to hassle through the browser compatibility issues that can cripple teams.
Interesting for two reasons: gives an incentive to buy the album not pirate, and gives an incentive to buy from iTunes - not from Amazon or another service.
The Design of Concurrency Control Mechanisms
I wonder when we are going to hear more about the green car that Google is working on (seriously). These panels may be adaptable for that use as well.
Ruby on Rails isn't an effective solution? Twitter uses it as the front-end language for tons of stuff.
GUI wc is context menu option in file manager.
It is good to hear that UML has some uses, even if I had always assumed this was most applicable to larger teams or companies. Can you comment more on the specific parts of UML that your models used?

I do tend to think of your 4 Cs as all the same, though. In my experience, a team is either working together effectively or it isn't, and either achieves all of those "Cs" or none of them. I would even add that, often, a team lead must forego the "consensus" and simply make a decision. (This can even be true when dealing with customer requirements; occasionally, a software architect's design decision ultimately delivers a better thing than what the customer technically specified.)
How to Motivate Others and Yourself
I usually tell people "Use Python and Django" when they ask me what language they should use for web programming.

I agree though, Python apps should be much easier to deploy on the web. Just because it's currently the best solution doesn't mean it can't be better.
Word has had full proper support for styles for a couple of decades - its implementation isn't very difficult to use, it's just that most users tend not to know about them because they haven't been taught as they aren't worthwhile unless you're writing a long document.
This is an argument for the license fee in itself.
Won't work in IE but works on m iPhone. How sad.
>You've got about 15 of those as a young adult. How much are they worth?

This is not my main concern, it's just something I'm aware of. Really, I meant that the way Americans live is plain awesome compared to most anybody most anytime, and that the latter is the norm.
Earth may be constantly producing oil
Fossils From Animals And Plants Are Not Necessary For Oil and Gas
>You've got about 15 of those as a young adult. How much are they worth?

This is not my main concern, it's just something I'm aware of. Really, I meant that the way Americans live is plain awesome compared to most anybody most anytime, and that the latter is the default. Which is why I'm not doing anything about changing the default; rather, I'm going to try to enjoy the good times.
People, please stop benchmarking with ab, it does not produce accurate results. All benchmarking of this sort should be done with Siege. It's easier to use too.
I can't imagine they'd be worried, in the past they've simply routed all Chinese traffic intended for Google, Yahoo, et all to Baidu.
It's difficult to get a statistically meaningful sample from anyone but Apple, and Apple isn't talking. You must also decide what your audience is - OS numbers for "web surfers" are different than "game players" are different than "Facebook users."

Here's another chart showing a huge undercurrent of 2.x users: http://www.sunflat.net/en/iphoneoscount/index.html

My own numbers show about 27% of my users running 2.x, and I suspect it would have been higher if I didn't restrict my app to 2.2 and above.
If I were you I might offer to work for free for a while: "I want a chance to prove myself. Give me a hard task that nobody on your team has time to do right now. I'll come in, sign an NDA, and show you what I can do. If you like my work we can take it from there."

That's how I got my first commercial programming work.
So - what other languages do qualify - all or in part?
Ask HN: What's your favorite web application UI?
My favorite is http://www.goplanapp.com/. I'm not a 37 signals evangelist, personally.
The twenty
I think it depends on how helpful the person is being. Saying no to carwash guy is easy, but "can I take that bag for you" suggests a sincere effort to make my expereince more pleasurable as well as an effort to go out of the way to do the best job, not just any passable job. This usually gets "no, thanks" or "thanks, I'll mananage".

Now after reading this article I'm not sure if my reaction is adequate in the latter case.
I feel this is problem systemic to any company funded by a seed incubator. Solving really hard problems or developing truly breakthrough technology typically requires significant funding, which seed incubators don't have. Companies solving these problems are better served by going to traditional VCs - not only for money, but also for more direct expertise.

Edit: Not that seed incubators are a bad thing.. they just serve a funding need for a different type of company. It's no surprise that most seed incubated companies are web companies.
Selective receive seemed unimportant, but I read the PDF presentation at the bottom to find out why he thought it was important. And I think he's right.

Basically it allows your process to simulate synchronous calls (by sending, then entering a state where you won't receive any other messages besides the one you're waiting for). And in certain cases, you _really_ want those synchronous calls (sometimes, it just doesn't make sense to handle any other events until the synchronous call returns).

He uses a hardware example to make it clear -- say you have to issue commands to hardware in a certain order, but with delays between them. In a non-blocking system, you have to write a complicated state machine to handle all the events and buffer the ones which are not "hardware is ready for next command". With selective receive, you can use selective receive between hardware calls: send to the hardware, receive only the "hardware ready", send again.
The test is not just limited, it's completely meaningless because the portion of the stack he tested is not going to be your bottleneck in any real application. When will people learn that 'ab' is not a suitable benchmark for application servers...
You've given a nice description of how pathetically little value HR adds.
Some of the other seed stage groups, esp YC, assume their program is just the first step on the way to more funding.

Capital Factory doesn't seem to have this mindset, so they're aiming lower.

I agree with the GP, I wasn't impressed by their choices either. (disclosure: they didn't pick me)
> A new paradigm where you design your software according to the end users mental model. Understand DCI and you should be able to craft software that makes more sense per usability.

If you understand the end-user's mental model, your biggest gains will be from sales and marketing.