skysight-inc/HackerNews huggingface dataset:
Looks like he wants Sinatra.
Shigeru Miyamoto (Nintendo) banned from talking about his hobbies
This is not a well researched article. At best its a personal perspective and everyone is entitled to theirs...

Empirically a majority of the software work outsourced happens to be the resource intensive and the mundane work from large companies, primarily in the US. The software outsourcing companies from India have figured out or happen to know how to deliver and meet the expectations of these clients best. They are addressing the market need.

I hope the people on this forum realize and distinguish between outsourcing companies in India and the Indian programmers.

In other words, Don't hate the player, hate the game...
Absolutely not.

PR Goons like Scoble & Winer are the worst people on the internet.
#6 Wrong Platform -- this one gave me pause. It's correct, but only in a more specific case than stated by the author.

Unless you're building an exotic application [1] choose a platform in which you are very productive and that is used by many other people for similar applications.

If you choose such a platform, commit to it. You may find that the ORM layer you thought would solve all your problems doesn't, or that the auto-generated URL routing doesn't do what you want, or a variety of other problems. But you'll find the same average number of problems with the other platform that's tempting you with its promises of superiority. Don't switch. You're just trading problems, and losing all the work you've already put in and expertise you've already gained.

If you don't choose such a platform and start hitting roadblocks, reconsider your platform. Ideally make this mistake very early.

1a. You're not building an exotic application.
1b. If you are building an exotic application, you probably shouldn't be.
I think it would be worthwhile to hear the value of not agonizing over technology decisions for too long.
Voted up - 5 stars
Count me as one of those people more interested in cool graph theory stuff than Wikipedia. What else have you got up your sleeves?

Also, while we're talking about Wikipedia-- any plans to play around with "shortest path" algorithms? For example, how few pages to I have to navigate to get from, say, "Turing machines" to "Miles Davis"?
> made her feel irritable, cut her sex drive down to nothing, made her feel not attracted to me

I went through this for a year, and apparently a lot of our married friends have too. I think that this particular side-effect of the pill is more common than drug companies would like to admit. Worse, I think it's been attributed to female nature instead of recognized as a side effect of this far-too-common drug.
I don't know, so this is a genuine question: How much language/tool advocacy does DHH do?
True story: A friend of mine wrote software for NASA. There was an old control system for something that had as its interface a 9 key keypad a numeric readout and something like an enter key. The system was modernized, and its software was ported to Unix workstations. However, to keep it compatible with the operations manuals, the new GUI interface just simulated the keypad and numeric readout.

(This is not software that my friend wrote. He ported the "numerical integrator" program used to track the Space Shuttle in orbit and calculate abort trajectories during launch. And yes, he showed me the program with the keypad! Another thing: as I was walking around at JSC, I saw a "Unix for Dummies" book back there!)
After reading the discussion, is anybody else wondering why does this have to be so hard?

There has _got_ to be a better way to find out what the user really wants. Tools like balsamiq are a start, but it seems like this is a HUGE area that needs improvement.
Apple selling iPhones four times as fast as last year
Wow, we are all geeks. Love it. Pleasantly surprised to see this submission get so much love!
I don't agree with the solution, but he does start off with a good point -- sometimes you have to write a lot of awkward code just to define very simple REST-style resources, whether it's for a public/private api or just some ajax accessible actions for an application.

What's different about the action he describes (and RESTful actions in general) is that the controller essentially gets in the way of accessing the model directly. What he really wants is an rpc call from javascript (or some other internal service), but to do so in the rails paradigm, he has to create a "webpage" which prints out 3.

At the same time though, you might have a resource that requires authentication. If that's the case, the controller has a more obvious role.
Why Google should have developed its own Gphone
"I don't think anybody wants to broadcast exactly where they are, even to their friends"

This is wrong.

"Oh, you were at the mall this afternoon too? I wish I knew you were there. We could have hung out."

Knowing where your friends are and telling your friends where you are is clearly very useful. The problem is doing it in a way that people feel comfortable with.
This is kind of rambling and idiosyncratic, but it turned into a decent discussion of temperment and tuning systems, and the associated design compromises.
From the openbsd man page malloc(3):

When using malloc() be careful to avoid the following idiom:

if ((p = malloc(num * size)) == NULL)
err(1, "malloc");

The multiplication may lead to an integer overflow. To avoid this, calloc() is recommended.
made her feel irritable is an understatement for many women.
I knew a young aspiring (and penniless) artist in Cincinnati. She took gorgeous photos. Her method? She got to know lots of gorgeous young women, made friends with them and put them at ease, waited for just the right time of the day on a suitably sunny day, called up her friends and snapped them with a disposable camera.

She had photos hanging in galleries and cafes taken with a disposable camera.
Not necessarily a great analogy. I think you are trying to liken cheap, possibly underpaid, labor to machines and factories. While I think that it is entirely possible that cheap Indian (or other) labor could replace more expensive American labor, I don't think low paid labor is exactly the next generation of technology. Something about likening cheap human labor to convenient innovations in technology just doesn't strike me as right.
3 clicks:
Turing machine -> Assembly language -> 1950s -> Miles Davis

you can find shortest paths here: http://www.netsoc.tcd.ie/~mu/wiki/
Thanks Eru. Exactly. They also make really really ugly SUVs.

To other repliers to my original comment,
I picked Porsche and iPod because both brands make one (1) type of thing in many (*) different styles and flavours. The Eee is a portable computer (laptop), albeit in many different flavours, just like how all Porsches are automobiles and all iPods are MP3 players.

Some are bigger in capacity, some are faster, some are more heavy duty, some are more compact and beautiful in form. All of the brands aim to be an indicator for stylish lifestyle. I am arguing that having a wide range of options under one brand umbrella has worked fabulously in the past for other brands. Also that it does not necessarily dilute the definition of the product, but rather by giving the brand a range of options, completes it and let it become a category all on its own.
I think it'd be interesting to compare early-YC (when it was a pool of 5 companies per session) versus current-YC (20+ companies).

Stats are also pretty popular-- how many are alive, how many got bought, how many got angel funded, how many got Series A, etc.

And, to turn around the question question PG asked every dinner guest in our YC experience , "What most surprised you about the experience?"
Harmony (ECMAScript 4 is dead?)
What does Eee stand for across its entire product line?

The Eee stands for the same thing across its product range -- a laptop like any other company might make, but more stylish, more trendy, and easier to use, [and more portable than non-Eee laptops]. Is that an acceptable answer? I don't work for Asus Marketing, obviously.
Any experiences from people who have started companies both with and without help from YC? That could provide the most clear picture of YC's benefits, although it might sound a bit too much like a sales pitch.
Wikipedia's just a big data set to practice on. I've been musing on information graphs (and doing talks about such) since 2004 or so.

It also happens that I've done a bit of work in writing fast, embedded databases, so when I realized that none of the off-the-shelf graph databases that I found were fast enough for our needs, and that mapping graphs to an SQL database was abysmally slow, I wrote a small one. Honestly, I was surprised when I discovered some graph databases that advertise being an order of magnitude slower.

I'd love for our product to be a graph database, but I'm convinced that product takes too long to get to the market. I'd need probably a year of just concentrating on that, without, say, also having to do business stuff just to get that ready for general purpose use. It'd also be cooler for geeking out to, but I don't know if people would actually pay for it.

So right now we've got a database that's really fast at: traversing lots of edges and filtering on tags. That's what we need for finding related stuff.

As for shortest path stuff ... well, it's never had much more than novelty value for me. I don't see much of a business case for implementing it, and well, we're a business.
wow I guess a lot of people never here never made a mistake before

most of you guys probably already have a very successful company by now too
Jakob Nielson's Dance Party USA
Ask HN: Anyone use Windows Server?
I'm getting a virtual dedicated box to launch a new product on(currently I maintain 6 linux servers). For fun, I was thinking of trying Windows Server. The box will primarily be used for hosting webapps(php & python, mysql db) and processing incoming email.

I have a few years of experience managing linux boxes and there's no particular problems that I have, but sometimes I wonder if I'm missing out on anything by not using Windows. For instance, I went through a stage where I was intent on using only Gnumeric and OpenOffice, then finally decided to give Office 2007 a shot and was angry at myself because it is so vastly superior.

Am I missing out by not giving Windows Server a shot?
The Secret of Psalm 46 by Brian Moriarty
There is also a link to an audio version available near the bottom of Jonathan Blow's website [http://number-none.com/blow/].
http://paste.lisp.org/display/65257

Brainfuck generated from:

,48i-:1i=["All the rage!"s[.]_10i.!]_:2i=["Worst product e-v-e-r"s[.]_10i.!]_:3i=[32i.10i.!]

Funny, I wrote the language yesterday to familiarize myself with Parsec, didn't know I'd find a use for it so fast. The day has to be entered manually.
I was talking about education system, it is not application based but theory based. More importance is given to marks than understanding... which leads to bad programmers. As i stay in Bangalore(it is a outsourcing hub), i can surely tell the situation here.

There are surely exceptions, you can find tons of great programmers in India who contribute a lot to FOSS, but the other question is "Are these people working in Outsourcing Consultancies"? I guess not.

And as far not giving your best (or getting the best) when you are working for $5 an hour (its great we have currency exchange rates!), is also not true as well. I know plenty of people who give/gave their best, just because they liked it. I love programming and believe i churned out good stuff, when i was earning that much. And there are plenty of others like me.

Understand, we are talking as a whole, there are always exceptions. There are many people like you, who like what they do but most of them are here only because of the money, that is the reason there is so high attrition rate in consulting firms. I can give you tons of reasons but i don't have time. Time spent giving you answers is inversely proportional to lines of codes written. ;)
I suspect, however, that there are hackers involved in (or doing) start-ups not for the sake of creating anything - but for the sake of playing with genuinely interesting technology (be it in infrastructure, multi-tiered architecture, cool programming languages that they may not get a chance to use otherwise).
Props to those guys. This reminds me of Wufoo who are also known for excellent customer service. Kevin came to talk to us yesterday about their company's focus on the customers.

I hope that our industry as a whole starts moving in this direction until we reach the point where this kind of service is the norm.
I would suggest looking in India for coders and paying them 40-50k/year in India. The idea is to skim the top talent out of the market and maintain quality not just add people at the lowest cost possible.
I know some people that run dns services so that they don't have to deal with bind....
Agreed, package managers are a godsend. That's why there's http://www.macports.org/ and http://www.finkproject.org/
Plenty - I mean, the guy wrote his own tools, and he's not shy about promoting them. I wouldn't call him a zealot, but he's manifestly picky about tools.

Not that there's any contradiction here. It is true that your skill transcends any particular tool, but it is also true that skilled people often become quite picky about tools. I doubt that Eddie Van Halen owns only one guitar.

The mistake is not caring about the tools, or taking trouble to find - or build - the tool that suits you. The mistake is attributing too much power to the tool and not enough to the user.
Aren't most startups "the underdog" too? There is something exciting about the underdog, whether in sports, business, or life. Most of us probably became fans of Google way back when it was the underdog.
HN: feedback on my image bookmarking website
I built this in about three days using the laconica microblogging platform.

Basic idea is that you grab the bookmarklet (in the "post" section) and then can add images to your account in two clicks from whatever website your on.

I'd been looking for a good image bookmarking site to use but they are either invite only (ffffound.com) or too cluttered / too many features (weheartit.com, vi.sualize.us).. so I thought I'd make one myself.

Feature wise, the only thing new to image bookmarking here is the friend following feature.. but I'm hoping imgfave can succeed by staying really simple/easy to use and fast.

Any thoughts or suggestions?
Video Response: A Manifesto for the Next Industrial Revolution
I built this in about three days using the laconica microblogging platform.

Basic idea is that you grab the bookmarklet (in the "post" section) and then can add images to your account in two clicks from whatever website your on.

I'd been looking for a good image bookmarking site to use but they are either invite only (ffffound.com) or too cluttered / too many features (weheartit.com, vi.sualize.us).. so I thought I'd make one myself. Feature wise, the only thing new to image bookmarking this brings is the friend following feature.. but I'm hoping imgfave can succeed by staying really simple/easy to use and fast.

Any thoughts or suggestions?
I'm not sure I would apply for a job with nonsense requirements in it.
Come on people, COBOL is just another language. Any half decent programmer can pick it up in a few days and fix up that stuff. It's probably just some nice internal politics to try and discredit people and force a hugely expensive rewrite of the system.
......you didn't leave an email =)

there's also other non-oral options such as the Evra patch. Because it's through the skin the hormonal dosage is a bit lower than the pill. Other options include the Nueva ring and a three-month per shot injection thing, altho that improves her chances of getting osteoporosis.
Don't you think this Apple obsession is going a bit too far? How is a small inconsequential fire at an office news, let alone hacker news?
Porsche has made little except high-performance sports cars for more than fifty years (certainly that's where they've focused their branding). Apple gained huge market share before making an iPod that did anything other than play music.

Asus waited about four months before sticking the "Eee" brand on every product in sight. There's a difference.
After the five-day Russia-Georgia war, a chronicle of the cyber battle unfolds
In the context of his team (Live Search), they really are the underdogs. Google owns about 59% of the market share in the US as of March '08. Live only owns about 11%.
It's not about a rewrite. It's about state employees coming up with an excuse not to follow the governator's order to knock back wages. It's a just a lie to get out of doing something that politically they don't want to do.
Sir, may I suggest you better explain your comment a little bit better? It'd be a shame to come across like a sexist soundbite.
Writing a good memory manager isn't all that trivial. You have to address heap fragmentation, and there are tons and tons of edge cases. It's also not a place where you want any bugs in your code.

I wrote one [http://associatedtechs.com/rob/memory.cpp.html] about 6 years ago because the development environment I was using at the time had a pretty crummy built-in C++ memory manager. I was messing around with stress-testing some code and was having some pretty extreme fragmentation problems.

I'm not proud of it and it's incomplete, but what's there works OK and performed a lot better than the built-in memory manager, both in terms of speed and heap fragmentation. It uses a modified best-fit algorithm. It doesn't handle running out of memory very well, though.
Tip: always remember to use spellcheck when claiming that other people's ideas lack intelligence.
Nokia gives out N810's to KDE Hackers to work for them.
Agreed, the Google Answers fire was better:

http://answers.google.com/answers/threadview?id=408127
It would be interesting to hear summary stats about the aggregate so far - number of teams, number of founders, number of products released, number of angel rounds (average size?), acquisitions (average acquisition price?), and Series A's (average size?), distribution of ages, distributions of sexes, even number of college graduates and from where, from which states/countries - more data = more interesting! Even something like the distribution of percentage stakes YC has received would be really interesting. Great idea though - five stars from me too.
The video talks about the reason Etsy received $30 million investment.
Agree on all fronts. Right now it is an early adopter product with crappy registration requirements. And that's the founder writing this.
[insert standard Alexa disclaimer here]

http://www.alexa.com/data/details/traffic_details/cuil.com?s...
I'm just curious, but can you point me to an implementation of C that doesn't treat (void*)0 as NULL?
If you can afford 3 people to work on it full-time you can do beatuful things. For example you can have vast areas of code walled-off with auto-release pools (not objecive-c pools that are scoped to a stack frame, but a custom one that's got lifetime of your choice), allowing people in those areas to concentrate on complex algorithms, not memory micromanagement. Then you can have other areas of your code deal with memory directly for highest resource utilization.

Anohter thing you can do make sure to decommit all deallocated pages, and allocate all objects at the boundary of a page. Thus all buffer overruns and hanging referneces will result in a page fault, not a hard to debug corruption.
This seems to go back to the saying "a bad programmer can write COBOL in any language"; no matter how good your tools, it doesn't prevent you from shooting yourself in the foot.
Web Crawler - Guru Wanted
Hi.

Got a need for a guru in the web crawling space for a potential project. Any pointers on companies, or people I can talk to would be helpful. (and don't say google/yahoo/microsoft!!)

thanks
Let the Games Be Doped
If you want the benefit of the clearness of calloc without the time wasted on memset--just write a wrapper for malloc. Its not much effort, and it gets you the best of both worlds.
Exactly. A long, thorough hiring process is insurance that your future coworkers hired after you will be high quality.
Each point was probably refuted in practice by one or the other successful entrepreneur. When something fails, these are the causes that people intuitively come up with, but they don't necessarily always cause others to fail.

#1:
Most software that's interesting is "useful to practically anyone".

#2:
Mostly agree. But if you don't get the small distractions (like taxes) out of the way ASAP, they pile up and could still kill you: a mounting big honking stinking pile of annoyances that you know you'll have to face some day. It depends on the personality but for some it's easier to focus once the unimportant small fry is still sorted out.

#3:
With the right people skills (I don't claim I have any), is there such a thing as a "wrong hire"? Sure you couldn't "build up" just about anyone without outright malicious intentions?

#4:
Agree.

#5:
One of those non-fatal delusions. Whether you're great or not, "stealth mode" won't hurt or help you much. How could it?

#6:
This should be typically noticed early enough in the development cycle to be able to switch. How could you suffer through months before questioning your platform?

#7:
I have yet to meet a great entrepreneur who didn't "suffer" from this. The key is probably self-management and discipline, not magically getting rid of a "personality trait" that brought you to whatever you're doing in the first place.

#8:
Steve Jobs, anyone?

#9:
Yeah... harsh but probably true :)
There is basically nothing you can do in C but can't do in C++; the overloading is basically syntactical sugar. In fact, there are things you can explicitly do in C but can't do in C++ (at least if you insist on doing them the "C++ way"). Example: as far as I know, C++ doesn't let you use virtual constructors; C can implement this through function pointers.

Of course, if you treat C++ as a superset of C and just do things "the C way" in cases when "the C++ way" doesn't work, obviously C++ can do everything C can.
Yes, you're missing out on a world of pain. I came from a windows server background. Even though I consider myself a *nix novice, I would rather stab myself in the ear with a pencil then go back to windows.
As usual, people talking about evolution are unable to distinguish from macro-evolution and micro. One evolves one species to another, then other basically amplifies changes that are already there, but doesn't create them/say where they came from.

No one has any problem with talking about micro-evolution, so the article is basically a straw-man argument, and thus pointless.

Macro-evolution is much more controversial.
The Market For Venture Capital
I find that the quality that makes tools in general good is their ability to get out of your way and become an intuitive extension of yourself. Anything less than that, you end up fighting with and tricking it into doing what you want it to do.

A good camera, guitar, text editor, IDE, sports car, etc won't make someone with little skill better, but it will let someone who is excellent at what they do express themselves without fighting it.
Continuation Fest 2008
If you don't read the article, at least read the last paragraph:

Inertia is one reason that techniques like these aren't
done often, but the real reason is fear. We use technology
to insulate us from our customers instead of bringing us
closer.
If your app involves a database, you might want to give LINQ a go.
Sounds nice, although I do like controller inheritance, the ability to mix modules into your controller's scope, etc.
IPhone 3G isn't necessarily
Monte Carlo forecasting in football betting