skysight-inc/HackerNews huggingface dataset:
Companies don't spend through all their money because a VC makes them. Companies raise VC when they see the need to spend lots of money.

The aspersion on all startups that have raised financing as likely to be unscrupulous and play fast and loose with ethics is pretty uncalled for. Because, of course venture backed startups do those things, but so do bootstrapped startups. You know what usually causes it? Desperation that you're going to fail. Bootstrapped startups can fail too, and often do. They usually just don't get big enough for anyone to notice first.

Finally there's this idea of an "acquisition graveyard". While it's true that acquisitions often go south, when they succeed the results can be great. Take Siri, for example, where the product reaches tens of millions more people than they ever would have on their own.

It seems like what DHH really objects to is taking chances, where you run the risk of failure for higher reward. And it's his right to go for the lower risk option. Raising money and doing acquisitions are just risky, not bad.
A simple LIFO stack backed by a linked list implemented with Golang
Another problem with objects-as-dictionaries is that the keys must be strings. If you use a different type as a key, it is implicitly converted to a string, which can lead to some surprising problems for programmers who don't expect it.

Maps/Set/WeakMap properly support arbitrary objects as keys.
I feel I'm the opposite. I'm a mathematician by study, but have a passion for programming. Algorithms come very naturally to me, but large architectural decisions are often difficult.
VEVO Execs Must Face Criminal Charges For Copyright Infringement
Anyone know where can I request a OrderedMap? That committee Wiki seems hardened against intruders.

Would be really unfortunate to have to wait for a native OrderedMap/SortedMap/TreeMap until ES7.
ACTA is a Bad Way to Develop Internet Policy
I think the key thing that prevents the DOS is that you have to have a 64 bit value that points to the beginning of the allocated block of memory in order for that memory to be kept around -- so, if you malloc 16 bytes are are returned address 100, then a value that contains 101 will not confuse the GC. This has implications if you do some wonky things with only keeping pointers to internal structs and use pointer math to access their containers, but you probably shouldn't do that anyway =D
I should have called it "not as risky as most people believe" perhaps. Or "Entrepreneurs are not gladiators."
Flash could be a problem. More than phone, I think iPad may have an issue.
I agree with the point, but disagree with how the word "trigger" is being used here.

An identifiable "trigger" is usually present, but it's not the root cause, it's the last condition to be satisfied, the final event that "triggered" the Rube Goldberg machine that brought the system down.

Identifying that trigger can be valuable, because it sometimes points to a clear design problem, like an error in assumptions about how the system is used.
var map = Object.create(null);

..will not have any of those properties. Works only in v8 though, AFAIK.
There are services you can use to push data (I've used Pusher a bit and like them, no affiliation), and it sounds like it will solve most of your problems, since it will get your request rate way, way down. The main benefit, though, is that your problem is trying to emulate pushing data via polling, hence all the cache problems, etc.

Imagine the reformulated problem: You have bidders sending you their bids, and you send N notifications 0.5 times a second. That sounds like a much easier problem, rather than get N requests a second and having to give them correct data.

You can integrate Pusher in five minutes or so. Give it a shot, and if you like it/it solves your problem, you owe me a beer. However, I only know three paragraphs' worth of your problem, so it's just a suggestion.
Memorizing some basic properties of a data structure or algorithm and using them as black boxes to design large scale systems is different from actually implementing said algorithms/data structures, let alone devising them in the first place. That's what the OP's blog is about.
Chat must seem down market to them.

Not to be confused with the AIM users, Google prefers folks to "talk".
It is easier to type Gchat via text message then Google Talk or Google Chat
Why CEOs Fail - 7 Bad Habits
One word... Kadmelia!

It's worth saying (and has been said elsewhere already) that fully distributed search has existed for years. Kadmelia is just one notable example in wide use. I do think it's great that it's coming to the torrent world though!

The characterization of it by many seems to suggest that this is novel and groundbreaking.

The statements made about how you'd have to shut down the internet to take it down are also a bit hyperbolic. After all, algorithms to sniff, detect and either block or throttle this kind of traffic are widely deployed. Of course it's an arms race and encryption and obfuscation are used to counter. I'm not sure what the current state of that battle is, but clearly the main tool in protecting these kinds of capabilities is our voices, not fundamental technical properties.
Check http://mute-net.sourceforge.net/howAnts.shtml for an overview of how MUTE filesharing does that.
"with a large enough lookup table you could simulate every action an individual could take"

Oh dear. That's Artificial Intelligence Day 1. It also doesn't work. That isn't an AI. There's also the slight dual problems of Nyquist and Shannon limits which dictate why this can't physically work in a digital system. But never mind. You seem to know that it is possible and it that's how to do it. No amount of prior research since 1948 onwards will be of any use to you.

You already have the answer. Its all just a matter of brute-force computing power and nothing else. Its that unsubtle, is it? Geee -- what a waste of time! All these years and it was just a matter of a big enough look up table. What a fool everyone has been not to just realise that!

So c'mon then, where is your fully functional robotic AI? Keeping it a secret isn't fair to the rest of us.

Did you consider any of these:

http://scholar.google.co.uk/scholar?q=artificial+intelligenc...

And this one's a doozy: http://works.bepress.com/cgi/viewcontent.cgi?filename=0&...

And they're just scratching the surface of a very deep field of research.
If we wanted to buy posters like these (minus the whole Ben Barry fiasco), what would be the best place to buy them?
Boots-n-Cats: Every Techno Song Ever In Clojure
You are a very special and unique snowflake. Just like every other snowflake.
How the Court's Electronic Systems Create Injustice For All
Why Apple should be worried about Windows on ARM
So do something about it. If you don't know what to do, figure out what to do.
Many people see this as yet-another-DHH rant about startup, VC, silicon valley.

I see this piece as a marketing material with implicit message: "use Basecamp.Next, not Asana, Trello, Sprintly, or other products".

I've got to give the man a prop: well done marketing-wise, well done.
Don't forget Khan Academy.
I have to agree that were google not doing this we would be constantly exposed to a lot of spammy, low-quality ads. Anybody who has run any kind of similar service knows that you spend 95% of your energy keeping spammers out of your system and unfortunately it is the legit users who wind up jumping through hoops.
I must not be cool because I'm not really hearing "gchat" thrown around in normal conversation. Certainly not enough to write an article about it.
I've never seen the Tea Party associated with the Guy Fawkes mask. That seems... silly. Do you have a reference?

And as far as I know, OWS was never associated with the Guy Fawkes mask; that was Anonymous showing up in the flesh.
No hindsight was required to observe the following:

O-rings are supposed to seal on compression, not expansion.

As it is now, the O-rings are getting blown out of their tracks but still managing to seal the whole assembly quickly enough.

The above unplanned behavior, which is the only thing preventing a hull loss (and a crew loss since there's no provision for escape) is sufficiently iffy that sooner or later we're likely to run out of luck.

(I'd also add about the Columbia loss that NASA had a "can't do" attitude towards the problem they observed of the foam hitting the wing. Hardly a "crew first" attitude.)
I am also an undergrad CS major from UTD (whoosh!). It is VERY interesting that you would bring this up because now I am pursuing a masters in CS at a different university and grad algorithms is the class I struggled with the most! I ended up having to spend a lot more time on it in grad school and learned a lot more. I think UTD might have a slight deficiency in teaching algorithms IMO.
Direct link to the discussed Cafe au Life, for those that haven't already seen it: http://raganwald.github.com/cafeaulife/docs/cafeaulife.html

And in terms of the gist of Reg's essay, I think the single line that best cuts to the heart of it is: "[...] while David presents the concepts of literate programming and elegant programming as a dichotomy, I think they're orthogonal." Bingo.

@raganwald: I'd be curious to hear more about what sort of "literate programming tool that transforms the source directly" you were hankering for. Not CWEB style?
Wow, criticsquid you are overly critical (and confused) from someone's natural reaction. I think you should re-read the blog post again.

For me, I am glad that he vented because I would not have heard of Propelly otherwise. :)
What's wrong with skeuomorphs?

That needs to be answered first before assuming crippling of innovation.
The excellent I/O library, Netty, deals with this by allocating a slab of direct memory, slicing it up and pooling the use of the memory.

It's the Java equivalent of writing your own alloc().
IOS passes Mac OS in Share of Web Traffic
The point is if you DO turn out to be a Ted Kaczynski, having these kinds of purchase records on file make it easier to find you.
For anyone searching, it's "kademlia".
GitHub: About This Week's Availability
I tend to agree, and always did explicit parens for that sort of thing. Then again I use parens in ruby code, too, so maybe I just like them a little too much.

You could argue from consistency that the standard convention is more aesthetically appealing, though. I tried writing this in a HN post but it boiled my brain so I sketched it on the back of an envelope instead.

http://images2.bingocardcreator.com/blog-images/hn/arithmeti...

Basically, assume high school algebra works the way you think it works. If we treat unary negation like it magically grabs the nearest integer prior to the exponent happening, things we assume are equal in high school algebra start to break catastrophically. You'd have to invent a new and perhaps uglier way to do algebra which would lose properties like "moving terms around the same side of an equation on paper for clarity is allowed because it doesn't change what they sum to."

Anyhow, if this ever comes up in my household, I'm going with "Yeah, that one's weird. Your dad didn't like it either, but convention is that -2^2 is -4. That's totally separate from math, it's just how we choose to represent math in squiggles, and this collection of squiggles is supposed to be read as -1 * (2^2) instead of (-1 * 2)^2 . Why did we pick that math-to-squiggles mapping? Long story and kind of boring, but it's sort of important that everyone read the squiggles the same way, for the same reason that we don't get into an argument over which side of a road should be called 'left' and then smash our cars into each other. Either way would have been a perfectly good 'left' because left is ultimately just squiggles, but now we're stuck with one of the squiggles."
Buffer acquires sharing plugin Digg Digg
>>You don't seem to object to your getting a doubtless hefty paycheck resting on huge tuition rates

I disagree with this assertion that his paycheck is particularly hefty. Professor Bainbridge earned $263k in 2008 (I can't seem to get sites with newer data to work)[1]. Could a highly trained lawyer focusing on the public corporation law be earning more or less than that on the job market? I don't disagree that he's quite well off, but if money was his primary focus, he could be in a much, much better financial position.

[1] http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2009/06/05/...
Speaking of a good calendar UI widget, I really like how ITA Software OnTheFly iOS app does it... Instead of showing you one month at a time it shows you the current week - 2 weeks, current week + 2 weeks. Makes it really utilitarian. I wish more apps would adopt that format making scheduling much easier.
The post links to an outdated Proxy spec. Here's the right link: http://wiki.ecmascript.org/doku.php?id=harmony:direct_proxie...
An overview is here:
https://torrentfreak.com/tribler-makes-bittorrent-impossible...
It's based on bittorrent with search, metadata, and spam control all distributed among peers.
Siri rival Iris prolife and racist
This really needs forward and reverse play buttons to allow you just sit and try and comprehend what is zooming before your eyes.
I wrote about it in my app to startupworkaway but I was chastised for programming a solution to a 'math challenge' in the 9th grade. The challenge was to take the numbers 1 4 7 9 and the operators ( ) * / + - and using each number exactly once formulate expressions that equal 1 to 100. So 1+4+7+9=21, etc.

I wrote a bash script to do it for me and came to class with every possible answer printed out. I was disqualified for 'cheating'.
I think an encyclopedia, or at least a list, of algorithms and their real-world effects or analogies.
I love how the fastest one is Python with ShedSkin...
Sorites paradox; in complex systems - especially ones with feedback - knowing the tipping point trigger isn't very useful.

Traffic jams can be caused by density of traffic. A slight variation in speeds cascades through human delay in reaction, causing a longitudinal wave to ripple backwards through the traffic. If the amplitude of the wave gets high enough, sections of traffic will periodically reach a standstill while the wave works its way through.

There's no meaningful trigger here. Decomposing the whole into parts won't solve the problem. If you didn't know that traffic density causes jams, looking into the root cause would seem mysterious, because the chaotic behaviour that gives rise to the initial perturbation is essentially unimportant. It's the interaction between the parts that matters, not the "trigger".

And even when you've "solved" this by building more and wider roads to spread the density, you find a different level of homeostasis; better transport infrastructure like roads encourages people to take more journeys, live further apart with more space, further away from work and play, leading to more traffic again.

Sometimes, when solving a problem, looking inwards, to parts, to triggers, to root causes, isn't the right approach; looking outwards, to the holistic whole, running experiments and simulations, creating new theories, is better. But this is a synthetic approach, not an analytic one driven by 5 Whys.
I'm definitely not a knowledgeable Java dude but it seems to be just an mmap()'d file wrapped in a class. I don't understand how this fits the description the author provided. I also don't understand how he can call it an "in memory database" in the first paragraph and then say "can be much larger than your physical memory size (only limited by the size of your disk)". Any Java kids who have digested those couple code files want to help me understand?
Thank you very much for pointing me to this.

The demoscene is/was amazing. One downside of everything going through browsers is that people have lost the ability to talk directly to the metal - it's what separated the men from the boys. Some of the Commodore 64 demos are absolutely incredible when you consider how few resources they have available. I think I'll be spending a few hours watching these Amiga demos...
@saraid216 - I was in no way trying to paint myself as in individualistic personality phenomenon. Not really sure what you're trying to contribute.

@Karunamon - Sure, but dropping into groupthink in any setting is a dangerous thing to do. The earth is flat, etc.
I disagree. If something is core to your business you cannot outsource it.

Google couldn't use someone else's search engine

Microsoft couldn't use an outside kernel or filesystem for windows

Gridspy has to make its own dashboards. However, We can use handy libraries for html templating and graph rendering.
I use the excellent fastutil for primitive collections - it has great integration with java.util collections, and has a more standard design than Trove in my opinion. Works great.
Koken met de stoomoven voor maximum vitaminebehoud - Xead.nl
> then he cannot build large scale systems

If that's true, it's new. I don't know the difference between a B+ tree and any other type of tree, and I built the world's then-largest email system in the '90s, eventually pushing 4,000 TPS through servers less powerful than an iPhone. Some problems just don't involve algorithms at a visible level.

We had one filesystem with one type of key-value indexing, and whatever that was, that's what we used. Both disk I/O and RAM were too constrained to worry about O(n); n was < 500, data structures couldn't even exceed 32k, and even linked lists were too slow - we used arrays. The only algorithm we (consciously) used was a hashing function for our cache keys and sharding, and we were far more concerned about its uniform distribution than its performance.

That class of problem is less prevalent today, but it's at least plausible that there's somebody architecting large-scale systems where the only algorithm is "do very few things very quickly".
At first I thought it was a well cited article. Reading that made me incredibly frustrated.
I fully agree with you, do whatever it takes to help your startup. And yes that's just how journalism works.

I'm mostly referring to the young founders' perspectives. Many of them get a false sense of accomplishment and specialness by building a half decent prototype just because of their age, and don't understand how beneficial it is to have killer execution. They often see getting TechCrunched as an end goal, instead of gaining true traction and building a real business.
I'm currently trying to run Chef in solo-mode with a git repository. Nodes would update with regular pull & apply. Has anyone tried something like this?
"Are all trite articles given idiotic, link-bait-y headlines?"
Also, this is a great paper posted on ES-discuss about Proxies: https://mail.mozilla.org/pipermail/es-discuss/attachments/20...
I will use cacert as soon as they're part of the standard cert group on all the major browsers :P
I don't think that's a very good argument. Okay, so let's say we used to think it took intelligence to recognize voice/face. Then we figured out a way to do it! Oh man, intelligence, right? Well, no. We realized that you can stick the voice through a spectrograph and measure the peaks, that's certainly not intelligence. And that you can detect the edges of bits of faces pretty easily and then compare various ratios for similarity. That's clever on the part of the algorithm designers but nothing intellect-related.

I've never heard anyone say that music requires intelligence. Creativity maybe. But I can make a very simple program that has a bunch of hard-coded music patterns that it picks from and nests randomly. It can 'creatively' output trillions of different songs and clearly has nothing even approaching intelligence.

Intelligence is not about what an algorithm can mechanically do. It's about comprehensive world-modeling that can predict and communicate with other agents. If something can be coded in a month by a grad student to run on an 8086 then I feel comfortable saying it's not AI.

Edit: added the word mechanically to be clearer
Is there any website available, like spoj.pl/projecteuler.net, that has some test input X for some specified algorithm/data structure Y that you need to implement?

Like:
Implement a stack in your preferred language!
<Explanation of format for test file/input>
<Read the following into stdin>

This could be really useful to train on your algorithms before you go to spoj/PE.
It does indeed apply to humans. If you could be bothered to read the rest of this thread you'd see that this is precisely the point I am trying to make.

Humans are machines. But we (and other living things) appear to exhibit defined properties that are not present in complex digital machines. It also seems that what we refer to as self-awareness is an emergent property that living things have, although in theory, not specifically limited to living things.

That set of properties is what is formally defined as having a mind. Whatever that means, and I agree its far from clear what that is.

But -- and its a big but -- digital processes don't seem to be able to mimic or model it (that could be our shortcoming -- the models are not any good) and it isn't just a matter of more memory/processing power/a big enough look-up table. These are not the problem nor the answer. It isn't just a CompSci issue. If it were just that, we would have it licked by now and we would all have interchangeable minds that we could simply reprogram and upload with new sets of skills and belief systems (yes, Robots would definitely need them too, by the way).

We have a long way to go and for a while now we've been heading down the wrong road. But don't take my word for it.
I don't think it's quite that mischievous. I mean, he doesn't mention Basecamp Next anywhere in the post.

He's basically making the reasonable point to build quality shit people actually want to use without accounting gimmicks and all else will follow. Funny that it takes a Danish guy to understand the American Way™.

He's tired of all the Kool Kids making a product with no hope of ever making money somehow landing millions in VC. It's offending to those of us that actually build things people want to use, but don't happen to live in the right place or have the right institution on their résumé.
Like "great filmmaker" or "great wine", what does "great programmer" even mean? It's so context dependent, and there are countless aspects to programming that you could use to compare. It's not strictly hierarchical either. "Effective" seems like a far more useful term, because for most of us, most programming becomes simply work product, not a work of art.

If your position demands a fluency in graph algorithms that you don't have, you're ineffective. If your position demands creating Microsoft Access forms but you spend all day screwing off because you're bored, you're ineffective. If your position demands working on designs in large teams but you're arrogant to the point of disruptive, you're ineffective.

Nobody cares if you or someone else considers you "great" if you're not effective in your current environment. Conversely, if you're effective, good for you and quit worrying.
Apple shares near historic $500
One has to wonder though, if you priced out your Kickstarter project because you wanted to make one for yourself and well if you could get 100 other people to kick in you would be able to get the better price on parts, and then 10,000 people kick in and now you're looking at something which was 'spend the weekend building up a hundred or so foo-widgets' becomes 'spend the next six months building 10 thousand foo-widgets' that has to suck.
Google is evil for targeting more than one business? Google is evil for doing basically what it's competitors are doing?

Reality is not black and white, sometimes you need to do some evil to achieve a greater good, if Google didn't back off from the net neutrality front, the carriers would have probably refused to include Android, and we wouldn't have open mobile OS.

To my knowledge Google still does code releases.

This post is basically unreasonable rambling.
Why is Ron Gilbert nowhere to find in the celebration photo? Is he really that grumpy & shy?