skysight-inc/HackerNews huggingface dataset:
I'm not talking about a b-tree that won't fit in L2, I'm talking about a B-tree that won't even fit in main memory. In those cases, even with SSDs, the cost of pulling a page off disk dominates the in-memory cost of the binary search so the number of I/Os needed to find something becomes the dominant factor in performance. That leads to a focus on data density and cache replacement algorithms.

"Binary searches suck"

That is a valid point. Cache misses when doing the search inside of the b-tree can be painful. I know that there is some research into structuring the b-tree nodes to be more cache-friendly (David Lomet mentions this in his "Evolution of Effective B-Tree" paper: http://research.microsoft.com/pubs/77583/p64-lomet.pdf) but haven't actually seen any in production.

Part of the problem here is that page density is so critical that people are often wary of having a less-efficient, but more cache-friendly data representaton. It is normally better to have 10% more records in main memory than being able to search the nodes a touch faster. Various forms of key prefix compression are an example of this tradeoff.

Another consideration is the actual cost of doing the key comparison. I'm most familiar with relational database systems and they all support multi-column keys (e.g string+integer+boolean+date), which normally lead to an expensive, branch-laden comparison function because the comparison has to be type-aware and support various collation options. The cost of doing that branching means the CPU cache misses are a smaller overall part of the overall search cost. One exception to that is ESENT, which uses memcmp-able normalized keys, but doing that creates its own set of problems (Unicode is a pain, lack of denormalization means storing data twice, etc.).

"Rewriting them when you insert a single key is just ridiculous."

I don't think anyone does this. Most implementations have settled on a system that stores the keys in the node in an ad-hoc fashion and have an array of 'pointers' to the keys which starts at the end of the page and grows towards the front (except for Postgres, which appears to do it the other way around). Inserting a new key means moving the pointers, but not the actual keys. Some systems try to avoid doing even that -- for example the InnoDB engine in MySQL links together the keys and the page directory only points to every 4th-8th key. I believe that this is an attempt to balance the speed of the binary search against the cost of update/delete.

In addition, with write-ahead-logging the node isn't flushed when updated, instead the log records describing the update are flushed and the page is lazily flushed in the background by a checkpointing process, hopefully after several other updates have been made to the same node.

Microsoft SQL Server, Microsoft ESENT, MySQL's InnoDB and Postgres' b-tree index all use minor variations on the basic textbook b-tree for their data storage.

Source: Many years working on the ESENT database engine, a brief stint in Microsoft SQL Server, some hacking done on the MySQL InnoDB engine.
Oh, give it a week or so, and Im sure they will surpass that.
Has anyone figured out what caused this yet? I'm interested in knowing what took out all of Google.
There is a difference between callbacks and lambdas. Nothing forces you to provide a lambda as a callback. If that lambda will only ever be used once, then it's ok as long as it's short and easy to understand what it does.

If that function is required multiple places, you make a proper function out of it, and pass that function instead of a lambda.

Callbacks allow for abstractions like map, filter, reduce... Used properly, they can actually increase reusability instead of prohibiting it.
I miss having r@ai although it did also cause problems at MIT (due to people using stuff like rstallman@ai[.mit.edu.]

The best address ever was n@ai which was Ian Goldberg (nai, ian).
So did .ai., at least for certain people (or maybe it was just the A record, but A records are enough for mail deliverability in the absence of an MX). I had one, back when I lived next to the .ai. registrar on Anguilla and shared his (very expensive) T1 via 10base2 ethernet.
CIA declassifies Area 51, no mention of UFOs, extraterrestrials
How a company with no revenue or product can have a "low" valuation that results in a $1M+ investment is beyond me. Any value beyond $0 is hyperbolic. No revenue, no product, no proof, no value.

Yes, you can have potential value, which is of course what seed round investors invest in, but I find it astounding that there are seeds for technical products that reach even this size. You can produce a prototype for $100k. When it's time to market it, Series A.

I'd love to be happy for you but as someone who's spent a decade building a profitable business and SaaS that's still apparently worth nothing because we make money I can't accept that a $1m+ investment at seed round is a "low valuation". It's not. It's a very generous valuation. Until you have paying customers, your value is $0.

Please don't get me wrong - not trying to denigrate what you guys are doing, or to piss on your parade, but I just find the entire idea that people would say this is a low valuation mind-boggling.
If you choose a title that actually lets me know what is behind the link
- that would be great.
Thanks, I can't access Facebook from here. Might as well post the direct torrent URLs:

3,6GiB (20130815-A):

http://wlstorage.net/torrent/wlinsurance-20130815-A.aes256.torrent
magnet:?xt=urn:btih:e0a092ac0f9b56c886c41335ca36f34aaed6b80c&dn=wlinsurance-20130815-A.aes256&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce

49GiB (20130815-B):

http://wlstorage.net/torrent/wlinsurance-20130815-B.aes256.torrent
magnet:?xt=urn:btih:95381785c3fb446df35c5b4a8e5ef167dcb72011&dn=wlinsurance-20130815-B.aes256&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce

349GiB (20130815-C):

http://wlstorage.net/torrent/wlinsurance-20130815-C.aes256.torrent
magnet:?xt=urn:btih:091eed7793fdb48c5bd8488431e888dde41a889f&dn=wlinsurance-20130815-C.aes256&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce
google/google analyitics does

before sombody mentions that its not reading your email if an automatic script does it, that sounds suspiciously like the argument that the NSA is not intercepting communications until they are viewed.
Did I say it was the only tracking method they use? Of course the US government also uses non-blocking techniques like wire tapping, snooping, hacking etc.

However, today Google has all the information about users that the US government can use as a good complement to an already vast spying organization.

Google has information about your emails, friends, search queries, page you visit, documents and files you store, clips you watch, medical records etc.

Are you telling me that the US government is not interested in this information and the reports of NSA plugging its system into private businesses was just a hoax?

Is the secret FISA hearings just tin foil bait?
Please stop polluting the front page with Snowden and NSA related stuff unless it adds something new. This is just a fluff article which helps you read along an automated government response. At least link directly to the scribd document next time.
I call sampling bias, if only because very few of the 'influential' developers I know use a Macintosh. I guess that the sample only includes 'hip' independents. Most people in a corporate setting do not choose their workstation. Then, anyone who hosts anything has a heavy dose of his Linux distribution of choice in the mix. Not defining 'influential' doesn't help with the site's credibility.
Or another common scenario.

User takes laptop home and forgets to enable the company VPN.
Dunno what anyone else thinks...... Its just that describing google-docs as software jarred with me. I guess I see google-docs as a "website" or a "service", not "software", as such.

Why?

Not actually sure. I think I see software as something I buy and install on a local machine. But my, possibly incorrect, gut reaction is that services on websites are not "software".
RubyLTS - long term support for Ruby 1.8
> That's equivalent to "scanning all 65,535 ports of a /16 subnet in 45 min" which does sound less impressive...

Actually, the above is a much harder problem. Scanning a limited subnet requires congestion control in a way that scanning the whole Internet does not.
Given the higher price, what are the advantages of mailgun over Mandrill worth paying extra for?
I'm working on this along with others. Essentially, it's the infrastructure needed to build secure, distributed applications and deals with the problems of identity, connectivity and sync. It needs to be open-source with a permissive licence, otherwise it becomes just another silo.

My view is that once the infrastructure is working, we need to start with the core applications of mail, contacts and calendars. Ultimately we can create a platform with something like a distributed app store that makes it easy to use the infrastructure and get it out to end-users.

I'm putting together a website that describes the pieces but if you want to know more before then, please send me an email (see profile).
Of course it is. That is why the US government goes to the private company to get your information instead of going to you directly, because that would be a violation of privacy.

The economic model for this is called corporatism, which incidentally is the same as for fascism.
EFF's HTTPS Everywhere removed from Chrome app store
Isn't it be nice that the webpage contains a virus:
"http://cdn0.dailydot.com/resources/20130808180232/js/dd-lazy...
wurde ein Virus oder unerwünschtes Programm 'HTML/Infected.WebPage.Gen2' [virus] gefunden.
for free??
What I Learned by Going It Alone
You forget what most people forget. It was the NSA (USA) that was attacked first. This is in response to that.
I wonder what are the risks associated with downloading and sharing such torrents.

Evidently, anyone getting them becomes a highly visible target and once the content of these torrents is known, you could become involved in the distribution of classified data.

Even if the content is not known, it could be viewed as an 'unfriendly' act and could make you become a "target of interest" to some zealous 3-letter agency...

Maybe I'm too paranoid. On the other hand, maybe not enough. Hard to know these days.
Programmer’s dilemma
Terminal SSH Bookmark manager
Sorry to nitpick, but the Guardian US, a subsidiary american company broke the story, and the reporter is an American citizen. Nothing really foreign there.
Perl can do that in Underwood compatibility mode (obscure Perl Journal cover reference...).
That's great that Google reads Cory Doctorow. I wonder if "Scroogled" inspired them to do anything.
Such nonsense.
That terrifying moment when you think that your project is on the front page [http://notezil.la ] when it's really a completly unrelated website with the same name >.<
Secret spy agency keeps secrets secret.

What's the story here?
A big function of the NSA is also corporate surveillance: http://williamblum.org/aer/read/118
/rant

Contrary to what Scott's saying here, I think the ASP.Net team have gone far too far down the rabbit hole.

I was doing an interview a few weeks back and part of the interview was a technical test to code up a little website. I'd never actually created a new project using VS 2012, just an accident of history. Part of it was an admin interface to show the files in the project.

So a few minutes later, fire up the new admin page and boom, a colossal amount of random js files, css files, etc. that had been 'helpfully' added to the project. Both of us were perplexed at what the sheer quantity of crap that had been added.

It's just got a little silly now. When MVC came out it was great because it didn't include much baggage, the only slight annoyance was the MS-WEMUSTDOEVREYTHINGSUPERFORMALLY-SPEAK written AccountController.

Now it's just, delete, delete, delete, delete, delete, delete, delete, delete, remove reference, remove reference, remove reference. No I don't want to use 'unobtrusive' javascript, a term invented to fix a problem only you caused because you really can't write javascript. In fact I don't want you to create anything at all javascript related thanks. And I pretty much ignore most of your HTML binders because you're not very good at HTML either.

And if I want to use jQuery UI, which will usually only be for the datepicker, I really don't need all those other jQuery UI files do I? They even know they've included too much as they try and hide it all in folders.

And who's bright idea was it to include Modernizr? It's not going to be needed unless you're in the tiny amount of MS web developers who actually code for public websites using HTML5, compared to the massive amount of developers coding internal websites on a full MS stack where some people are stuck on IE8 as they're still on XP.

The people who need it are going to know about it, so why add it in the first place?

Or start with an empty project and then have to cut and paste a bunch of stuff you actually need.

And every version they seem to change their mind where the damn error catchers are going to be. And still not work properly, rely on redirections, etc. Gah.

There's a happy medium which they seem to be having an extremely hard time getting to. Or I have OCD about pointless code files that I'm not using. Probably the latter and I'm a small minority of getting frustrated with it.

/rant

I guess at least it's not as bad as before NuGet where they'd include a version of jQuery which was immediately out of date.
I suspect ICANN are thinking about the long game - if, as a matter of policy, there are no valid dotless domains, then developers of user agent software are unlikely to attempt to resolve them (other than using a search list or hosts file) in the first place.
So its essentially paying for the safe haven of knowing that your mail won't get blocked due to stupid policies?
Well, compared to the size of all of Utah, that place for storing your documents and communications is "miniscule."

The striking thing is that they say things like this while, simultaneously, Wyden and Udall are warning everyone it's the tip of the iceberg, and there are vast quantities of documents yet to be released by Greenwald. What do they expect to happen?
It's simple math. A money manager controlling 100% of the market by definition can't beat the average ;) So the potential for good performance must increase along that spectrum.
My 2010 MacBook Pro is on its third battery, and even this one has had 97 loadcycles in six months, 90% capacity left...
agreed. the fact is life pretty enjoyable including the occasional financial strain. its the journey not the destination.
What antivirus software are you running? May I guess its Avira Antivirus based on the German you posted?

Windows Defender in Windows 8 says nothing about it.
If we keep electing the same members of congress they'll eventually understand the problem & clean this mess up - right? - right?
This seems misled response to misled article.
I had the same issue. Here's my config to solve it (ijkl become like arrow keys, h is insert instead):

map k g<Down>
map i g<Up>
map j <Left>
noremap h i

Note that with this config, we maintain the normal mode "inner" text objects with "h" instead of "i". So where you would previous type di' to delete inside quotes, now you'll dh'. And dh( instead of di(, etc. It all works, and I've been using this config for a couple years now.
the jiggling logo is annoying...
Will this become the new Raspberry Pi of smartphones ?
Paul Wellstone, Mel Carnahan, and Jerry Litton come to mind, as possibilities. For the equal-opportunity crowd, there's Richard Obenshain and Ted Stevens on the right, as well as Barbara Olson (married to White House counsel, Ted Olson) who died in 9/11 on Flight 77 as it crashed into the Pentagon.
You can, please see my reply to your parent.
By the number of times you quote adjectives in your comment it's clear you have some sort of reflexive disdain for the whole concept. However I challenge you to define "influential" in any more objective way than what The Setup does. They interview a pretty diverse set of individuals, but of course they are all somewhat Internet famous for some public work they've done. I think it's pretty safe definition to say that people in the corporate world who don't choose their own workstation and are not publicly known are not as influential as interviewees on The Setup regardless of how smart, talented or accomplished they are.

If you don't like the content of The Setup then don't read it, but this is a simple statistical analysis of something which exists and many people value in its own right. You can take it or leave it, but please don't set up a strawman about how it's not statistically valid when in fact there is no way any such endeavour could be.
A worker is usually something that does background processing. For example a user uploads an image and you need to convert it to multiple sizes. You can either do this on your application server within the scope of the request, or set up a task queue.

Here's an oversimplification of the latter: You have an application server, a queue (something like 0MQ, or redis) and one or multiple workers. When the image is posted, you add a job to the queue, asking for the image to be processed. The worker polls the queue asking if there are any jobs, an if there are, it executes those.

> I never package my web app. It just runs and runs and runs. And my customers use it.

So how do you deploy a new version of your app?
> a freaking text editor (something that was solved LONG ago)

It wasn't solved, it was replaced by a different, and worse, set of problems. Other people having minds organized differently from yours isn't evidence of a usability problem.

The problem with programming isn't the syntax. The problem is teaching a Martian to smoke a cigarette: Giving instructions to something which shares no cultural background with you and has no common sense.

(Of course, the classic 'teach a Martian to smoke a cigarette' problem is rigged, because the students are never told what instructions the Martian can follow; therefore, anything they say will be misinterpreted in various creative ways depending on how funny the teacher is. On the other hand, playing the game fairly by giving the students a list of things the Martian knows how to do would reduce the thought experiment to a tedious engineering problem.)

> Go and build a programming language your Mom can use.

This sexism is worse than anything else in your barely-thought-through rant of a post. The blatant, unexamined sexism in this statement keeps fully half of the potential programmers from picking up a damn keyboard and trying.
Cisco cutting 4,000 jobs, CEO sees 'slow' progress
> Popular hardware:
> Keyboard, less than 50%
> iPhone 4, 60%
> Apple's incredibly overpriced cinema display, 75%

> Popular softeare:
> Chrome, only web browser listed, roughly in line with winxp
> winxp + win7 more than mac osx, yet most people using a mac?
> google-reader more than mail ?

There is something incredibly wrong with the data used by this article.
Well thank god for college kids.
I guess so. Naturally I secretly suspect in my heart of hearts that I am smart enough to out-perform the market ...
Astonishing photos of ballet dancers in random situations
It would be the right place to break the story don't you think? Given the fact that all of the actors are American. That doesn't change one thing about the chain of command at the Guardian though, the Scott Trust (owners of the Guardian papers and online publications) is most definitely English.

This is like saying that if Google China does something Google US has nothing to do with it, which clearly isn't the case.

If the Guardian US were independent of the Scott Trust then you'd have a point but as it is the Guardian is solidly UK based no matter where the subsidiaries reside. I'd imagine a story this big would be passed by the editorial board.

For the Guardian US that is Janine Gibson and Stuart Millar, both have previously been part of the UK portion of the Guardian.
I haven't heard of any of these requests being accepted ... Does anyone have a reference to one?
I agree with the OP. Its all about how you structure and name your code to avoid deeply nested callbacks. With the use of Prototype constructs and decent directory structures you can keep code clean and concise and completely avoid callback hell.

Take a look at the following users repos to see exactly how clean javascript code can be.

https://github.com/learnboost
https://github.com/component
https://github.com/visionmedia
Yeah, I guess it's not fair for me to compare something I'm familiar with to something I'm not. I'm sure promises are easy to understand, but that API there does not look great.
What about fax machines... I can't believe some companies (ahem, AT&T) still only accept documents / requests via fax. It's ridiculous...
Isn't your company Less Annoying CRM?

I see a monthly plan on your pricing page, did I misunderstand what you meant by "My company doesn't have plans"?

https://www.lessannoyingcrm.com/pricing.php
Next Generation ASICs and Global Digital Currency Supercomputer Centre
Sure, even naming the "NSA" is considered a "hostile behavior which might lead to a terrorist kamikazee-way attack in the remote future" so it's better to to kill everyone "pro-actively" to secure the "world-wide peace and prosperity". After all the NSA got famous for killing the most dangerous terrorist (or communist) of the 20's century Che-Guevarra. Weird thing, there are more trousers and posters around the world with Che's face than any USA figure. (GO figure...)
So true:
`Node.js wasn't an innovation. It was shit that was solved 60 years ago.`

We're just reinventing the same thing because some sh*ty stuff got momentum. Take websockets, how is now a webserver better then IRCD hacked with an implmentation of fcgi?

PS: vim is awesome :)
I cannot speak for the OP, but it seems entirely clear to me that one of the government's secret tracking weapons is by acquiring access to data collected by facebook, google and every other US company out there.

Are you suggesting that this is not the case? that seems to me to be a remarkable conclusion to draw?
"Area 51 therefore chemtrails" isn't a sound logical chain. That's the kind of thing I'm talking about.
Heck, they are user-servicable (if you don't mind voiding your warranty), you just need a slightly unusual screwdriver.
Awesome work.

One minor "bug" / missing feature; I have two monitors at different resolution; when moving the browser (maximised) from my laptop monitor (1440 x 900) to second display (1280 x 1024) the staves are put on a different line to the instrument names. If I refresh the browser on my second monitor then move to my laptop screen all works fine though.
The same issue exists if I resize my browser; i.e. currently window.onresize events aren't handled.

Great work though - and nice choice of pieces too.
Stop nesting anonymous functions. Un-nest them, name them, and encapsulate the process in a monad.
There is no such thing as an actual hoisting mechanism. Yes, declared functions are available anywhere in the surrounding scope, just like in any other language. It would be ridiculous if for example you couldn't call a method in Java inside another method unless it was syntactically placed before the target.

Global scope pollution is completely irrelevant here - declarations are available in the surrounding scope, not global. If the surrounding scope is global (which it never is in node.js), then that's your problem.