skysight-inc/HackerNews huggingface dataset:
Just to throw it out there, here's a 6th myth to consider:

> Hash tables are fast

When you're dealing with lots of keys, they're usually the best option out there. But if you're dealing with a small number of keys, a simple array can often be faster. A hash table lookup involves a constant amount of overhead resulting from calculating the key, and possibly also added indirection depending on whether the implementation uses open addressing. If the amount of time that would be spent on a simple linear or binary search of the array is less than (or even not much more than) the time that would be spent on that overhead, then the array will be faster.

Of course, the point where the hash table overtakes the array depends on a lot of factors. As usual the only sure-fire way to know which option is better in a particular situation is to measure.
I was very concerned that this could occur when I picked up the domain and started allowed traffic to it to succeed, but I haven't seen the massive social network outcry about problems... So I've put that concern to rest :).

As said elsewhere, I think the theory that they likely intended 'bogus.apple.com' is the best guess. Either way it was just a consideration that some developer and/or their code reviewer(s) overlooked.

It happens.
Microsoft TypeScript: Can the father of C# save us from Javascript tyranny?
I bet something like this already existed but I couldn't find it. Plus, it was rather fun to write.

I'd love any feature suggestions or suggestions for clearer/better code.
Very cool. I think that stories like this one contradict the often quoted advice to hire only rock star hackers in a good way. People aren't born A,B, or, C players - they learn those skills over time.

Keep up the great work!
$36 for a twitter clone with < 1% of the users, where do I sign up!!
Isn't this a little like criticising an experienced photographer for not following the "Rule of Thirds"? This is even less of a case, because they are "Guidelines" not even "Rules" or "Requirements". Just because they don't follow them to the letter all of the time doesn't mean they aren't a good idea in general.

It seems to be another case of: Apple story is non-story.
There is also a downloadable film. Link is on the infographic.
anything else would have been... revealing.
All of this grief over what may amount to missing a single dot? (bogus.apple.com)

STEVE JOBS IS ROLLING IN HIS GRAVE OVER THIS GOD AWFUL FAILURE ON TIM COOK'S PART!
Still not paying to use something I can use for free and with millions of more users/activity.
Rethinking caching in web apps
Because this is the first year I've heard of App.net and so many things nowadays fail once its had a moment of popularity? Tent is an improvement on twitter, which we want. Jabber is an improvement on msn which noone is running away from.
Spammers and personal information clearinghouses already know about and do this.
Assuming that they don't just fix the problem (see my first-level comment), I do hope any response I see from them is tactful.
Not 5 minutes ago, I published the following story on my blog: http://www.floopsy.com/post/32692569763/all-we-are-saying-is...

On my blog post, I mentioned a quote by Microsoft originally posted on Wikipedia. Here is the quote:

“Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a ‘clean break’ from JavaScript in both syntax and runtime. We disagree with this point of view.” - Microsoft’s JavaScript team

Just minutes after I publish my blog post, I read that Microsoft has released "TypeScript".

So, which is it, Microsoft Javascript Team? Ok to criticize Dart, though, right? Nevermind that Microsoft was working on its own Javascript alternative all along?
I think you're being overly generous in ascribing the intentions of an entire company on this.

Most likely the real reason behind this is that some programmer in their employ who didn't know better hammered in "bogusapple.com" as the first thing he could come up with, committed it since it worked for him, and now a lot of people are trying to ascribe more complex intentions to Apple than that.
I'm currently using git, brew, zsh-syntax-highlighting[1] and z[2]

1: https://github.com/zsh-users/zsh-syntax-highlighting
2: https://github.com/sjl/z-zsh
^ 100% correct.
This is more-or-less my point.

Once you allow sqrt and ln (or sqrt, log, and e) the problem is silly. He explicitly allows, see the bottom of the article, sqrt, log, and irrational numbers.
Reading about how much resources these companies are pouring into espionage, it makes me wonder how much Cushing realy has to gain by keeping this information proprietary.

If someone is already getting that information out by flying a helicopter over my installation, I would be tempted to either a) arbitrage the situation by selling the information myself, or b) erect some tents over the tanks if it's really worth keeping it secret.
> I'm not sure function level scope over block level is a bad thing. It makes it more Lisp-y.

Lisp has block scope.
Mysql Uptime Check Script
Very similar to AS3, which is nice.

Also there is an (unintended?) usage to it: a JavaScript pretty-printer, with deep understanding of what is considered "dark corners" of the JS spec (like ASI).

See e.g. https://gist.github.com/3814708 for before/after.
Seems like it already is, to a degree.
Yes, Jon's metric for measuring the value of an approximation is wrong and so is his conclusion.
Ironically, improving the DOM is actually something we're trying to do with Dart: http://www.dartlang.org/articles/improving-the-dom/.
Agreed. Some developer didn't go back to fix it. Heads are gonna roll.
I recently read a story by one of Wirth's students, reminiscing about working on the Oberon compiler. They had several important principles for developing the Oberon compiler that drove development, one was something to the effect that anything you add must pay for itself or improve the speed of compilation--the benchmark being the whole Oberon system. The students had implemented a very fancy data structure, I think a balanced tree, to use with register allocation. Wirth found out and ordered them to remove it and replace it with a linked list. They groaned, but complied--and the compiler was both smaller and faster as a result, despite worsening the worst case.
Ideally you add 14%. Why do you say 5% (or nothing) is better than 10%?
What about under the same conditions, I wonder? People handle vinyl pretty delicately, but toss around CDs with reckless abandon.
Actually, you can be @-messaged or direct messaged even by people you don't follow, so spammers still have an in.
Trust me when I say that if you use .NET, you're always going to be stuck with Microsoft. Mono, the only other somewhat viable implementation of the CLR, just doesn't really cut it in practice -- at least for ASP.NET.
All you had to do was copy/paste the headline. And you failed.
Proof that Madonna is to blame for the current Venn diagram controversy
I still won't be paying for it. May as well have raised the price as far as I'm concerned.

Edit: Obviously being downvoted by people who have wasted $50.
I guess I don't really understand the problem here. If the ad is just as relevant (and if you're going to click it, thinking its part of the results, then I assume it is), what's the problem? If you don't like ads, use an ad blocker.
A simple way to look at it is kind of like the pigeon hole principle. If you imagine a binary string of length N. Then there are 2^N possible strings. To be losslessly compressed a string must be mapped uniquely to a string of length of at most 2^N - 1. So trivially, there are not enough strings to losslessly compress a binary string of length N to.

But it is acceptable to talk about compression in terms of Kolmogorov Complexity - roughly, if the shortest program which outputs a particular string is shorter than the length of the string then we have compression. Of course one can also show that KC does not compress most strings by much.

But KC is more interesting than say an entropy coding algorithm for infinite (or big finite) strings which possess a lot of structure, PI say (which by the way is by definition not a random string). The expressed program will be far smaller by far, yielding an impressive compression of the sequence.
> Would you have been happier with that?

Yes. Google (and others) need to stop releasing half-baked products.

You release something half-baked, even if it gets up to speed down the road, people will still have perceptions of it being half-baked. The above exchange is typical.
Kristi from Braintree again.

All of our merchants get their own merchant account during our onboarding process.

Admittedly, it's a complex process behind the scenes. We know that a lot of people are interested in how we do this, and we want to be completely transparent about our business practices. We plan on putting out a blog post explaining it all in detail in the coming weeks.

You can subscribe to our RSS feed at http://feeds.feedburner.com/braintree for updates.
Not a question but just a word of advice to be careful.

What you did could to a layperson be construed as intentionally exploiting a bug in their software with the result that you're now intercepting requests from unsuspecting customers of theirs, and getting data via your logs that in some countries falls under privacy laws.

Depending on how big of an embarrassment this turns out to be for them and how well funded their legal department is this might not turn out to be hassle-free for you.
Right now that can't happen. Market share is dictating a productive environment for HTML5 that forces standard compliant behaviour. Until a browser comes out on top it's unlikely we'll see anything similar to what IE6 did to the web for sometime.
In addition to user agents it would be useful to collect path strings and operations so if you're getting GET / or GET /something?option&option&option would be useful.

I did a quick scan (not very definitive) through the Xcode SDK and didn't see anything hard coded with this name but you never know.
One step away from a braintree wallet!
You kids and your fancy pirate bays, in my day you went to IRC or went over to your friends house with a stack of floppy disks.
1) We are aware of BitBucket; it's a great service, but it limits us on the number of collaborators we can have, thereby stifling productive group work. As college students, we're always collaborating, be it for assignments or our own side-projects, and BitBucket doesn't make sense for this.

2) Yes, we are college students, and I'm sorry you feel that college students can't be trusted, but I urge you to reconsider this opinion. Its not fair to apply such a generalization to all students.

3) We chose to address the primary service that we ourselves used for private repositories before Legit Teams. We understand that there are a myriad of services available for git hosting, but we are unable to address them all in one post; we limited the scope of the article so we could get our point across succinctly.

4) I think there is a slight misunderstanding here. When we described setting up git hosting, we meant on our own servers and not using a third party hosting platform. These paragraphs were simply laying the groundwork for why we created Legit Teams—they were the context.

5) We are aware of this; they offer a free micro-plan to students and educational institutions. This, however, still limits us to five private repositories. The whole point of Legit Teams is to get rid of limits on repositories and collaboration, which we feel are large pain points when developing with others.
if they want to test for domain non-existence, that's what the .invalid TLD is good for.

http://en.wikipedia.org/wiki/.invalid
The stars and Galaxies died and snuffed out, and space grew black after ten trillion years of running down.

One by one Man fused with AC, each physical body losing its mental identity in a manner that was somehow not a loss but a gain.

Man's last mind paused before fusion, looking over a space that included nothing but the dregs of one last dark star and nothing besides but incredibly thin matter, agitated randomly by the tag ends of heat wearing out, asymptotically, to the absolute zero.

Man said, "AC, is this the end? Can this chaos not be reversed into the Universe once more? Can that not be done?"

AC said, "Hang on, I have the answer inscribed on a Hitachi glass tablet somewhere."

-- Isaac Asimov, "The Last Tablet"
sneakernet is still the fastest method of transferring data. :-)
It's not meant to be viewed by a person. What does it matter how pretty the minimal text file or URL is?
To pile on, I thought 'persona' was an addon by which I could make firefox look different.
Agreed! And taken to the logical extreme often times they are used as an excuse for lazy thinking. One example is stream processing where you're processing lots of messages per second and typically have some sort of originating request ID. Keeping a map of request ID's -> handlers gets very expensive if your goal is low latency (because you perform the map lookup on every operation).
nope, example.com resolves just fine. apple's trying to test for non-existence.

see .invalid - http://en.wikipedia.org/wiki/.invalid
IPad Mini Now in my Hands (Gallery, Video)
It looks nice until you look at the source of the Success page. All-caps HTML tags. Not good style!
The fsck for btrfs is still not quite there. If you are using multiple disks with btrfs's mirroring/checksums, hopefully you won't get hit by HDD hiccups leading to metadata corruptions which btrfs's fsck can't yet handle. I certainly wouldn't recommend running btrfs on a single HDD/SSD unless you are doing frequent backups and don't mind losing state between backups if you get unlucky.

Also, please note that btrfs snapshots != backups. They will not save you in case of device failure. Checksums also won't help you if there are kernel bugs.
I will admit MS have impressed me here. The fact they've released TypeScript under an Apache 2.0 licence and put the code up on CodePlex goes to show Microsoft are making strides in the open source community. A big change considering the mentality of MS used to be open source was unsafe and a threat to their dominance in the software industry. The world must be ending: Apple is starting to falter and Microsoft is climbing back to the top.
But that's how the NYC system is too. You get some low rate for the day and as many 30 minute rides as you want. dbreunig was quoting some ridiculously high number for a 4 hour NYC ride that only applies if you keep the same bike out the whole time.
(Wikipedia)
“Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a ‘clean break’ from JavaScript in both syntax and runtime. We disagree with this point of view.” - Microsoft’s JavaScript team

If Google comes out with Dart, well, then there's no need for that. But it's ok for Microsoft to be secretly working on their own Javascript 2.0. Just sayin' - Why criticize Dart when you've just come with almost the same thing? :)

But snark aside, good job Microsoft. Well done.
Intel Software Snag Said to Hamper Windows Apple Response
How is it spam if you're responsible for choosing who you listen to vs who you ignore?
TypeScript doesn't contradict your quote. It isn't a "clean break" from JavaScript in syntax or runtime: it's a typed superset of JavaScript, unlike Dart which is a similar looking but fundamentally different language. Look at how cumbersome it is to interop with JavaScript from Dart.

In fact, it's closer to JavaScript than _CoffeeScript_, whose slogan is "it's just JavaScript".

TypeScript is what you'd expect from an organization who believes JavaScript is mostly good: a very conservative extension addressing some of the larger pain points (tooling and modularity).
I think the audience of devs uploading a single PHP file have moved over to CMS's. Wordpress, Joomla & Drupal have very much taken over that, which in a way can be a good thing. They can be lightweight, easy enough to use and can grow as big as you want. The other big reason is plugins/component/libraries too.
Inside the Redis distribution you can find "dict.c" that is a very easy to understand hash table implementation that uses incremental rehashing, that is, when it needs to switch to a bigger or smaller table this happens incrementally in three ways:

1) At every operation you perform there is a rehashing step.

2) You have a function that you can call to perform a rehashing step.

3) There is an higher level function where you can say "rehash for N milliseconds" in case you have some idle time to spend for a good cause inside your program.

Another uncommon thing of dict.c is that it supports the "pick a random element" operation with guaranteed O(1) behaviour.

EDIT: Now that I look at the source, clearly while the code is easy to follow a design section should be present in the dict.c top-comment. I'll make sure to add this, but long story short:

* We use both chaining and incremental rehashing. This means that there is no need to rehash ASAP when the hash table reached the max % of elements allowed. At the same time using the incremental rehashing there is no need to block.

* We support safe and unsafe iterators: safe iterators block the rehashing when they are active, so you have the feeling you are accessing the hash table in a read-only way. Unsafe iterators are ok for looping even while an incremental rehashing is in progress, but is not ok to touch the hash table while iterating with an unsafe iterator (otherwise the iterator no longer guarantees to return all the elements, or to avoid duplicated elements).

* The hash table is rehashed both ways: if it's too full, or if it's too empty. This way there is the guarantee that a table has always a percentage between a min and max. This guarantees that our random element function is in the average case O(1).

* When we rehash, a second table is created, and stuff are moved incrementally from one to the other. When we have two tables, all the lookup / delete operations are run against both the table as the element can be in the old or in the new table. Instead insertions only happen in the new table.

Well these are the main ideas I think.
Well there is still an option for so called high definition digital downloads. Although MP3 audio quality is good enough, I wouldn't rule out the possibility of companies marketing "high frequency" "lossless" recordings at a premium price.
I'm not really sure this article explains any myths about hashtables at all.

Aren't all of these statements obvious is you actually understand what a hashtable is?
I don't agree with your accusation of paranoia.

Keeping detailed notes on everywhere you go isn't something that would be done as lightly as putting on a pair of glasses. You would consider the implications of the existence of that data before keeping it. With something like Glass, that part of the process gets skipped.

The argument for trusting Google with your data is that their privacy policy keeps your data safe. I don't doubt that Google has the best of intentions, but that doesn't mean my data is safe. A snooping employee, a change in policy that isn't necessarily over the line but isn't comforting either, security breaches, subpoenas (in the spirit of http://www.washingtontimes.com/news/2012/may/8/twitter-fight...). There are a lot of ways that having that data in someone else's pocket can backfire.

Yes, it would be fine if there were some guarantee that no one could ever see my data. There isn't. It was not my intention to oversimplify anything. The last thing I want is to cause damage to the cause.

Edit: grammar
I think the "typo" scenario makes the most sense. bogus.apple.com vs bogusapple.com. It would be an easy mistake to make and everything would look like it's working fine until someone happened to register the domain.
This is incredibly cool. Great work so far!
Root-level domains now supported on AppFog – AppFog Blog
It seems the analyser to infer the types of your vars is fairly easily fooled. The following code compiles, but prints out "Hello undefined":

interface person{
firstname;
lastname;
}

interface apple{
colour;
}

function hello(p : person){
alert("hello " + p.firstname);
}

var aPerson = {firstname: "joe", lastname : "blogs"};
var anApple = {color: "red"};

var foo;
if(true){
foo = anApple;
}

hello(foo);
This may be stretching the applicable domain a bit, but I think the concept of YAGNI applies to the time/effort spent on configuring primitive tools to suit use cases that -may- present themselves in the future.
I'll give lynx a try with this, I can't use a full browser as it would be on a remote computer setup. Thanks for the tip!
# sane

> but one just works

Except when it doesn't: http://news.ycombinator.com/item?id=4546039
Note that StatCounter counts page views, while most other reports count unique visitors. Both are useful, but they can't be compared directly. The StatCounter numbers reflect which browsers have users that do more (or less) browsing than others.
MBA Graduates Turn Away From Finance
Ask HN: Advice for sole dev on massive project
Hey HN, I'm reaching out to you because I know you have the experience to help more than about any other community online. I'm a fairly experienced developer, but this current project is pushing me beyond my limits.

Its already launched and for a multinational client. The client is in 40+ countries and they want to consolidate their brand image by unifying their subsidiary websites into one cohesive website. The standard "big company" deal where you are geolocated and automatically sent to a subsite for your culture like ea.com, except /en_UK/, or /en_US/ instead of just /en/.
Each subsite will be partially manageable by all the countries (for country specific news, etc), but the majority (90%) of the content will be managed by parent company.
Each country will have an optional shop system, which is integrated into the website, but some shop data such as product names, images, will be managed by the parent company.

Also, because of the design they have clicking on a link and going to an external shop solution or changing to a different url is not an option, and sites/sites-with-shops have to reside within these sub directories integrated into an amazing design(the Graphic Designer is great) but is not something that is easily implemented in any CMS I know of. (I'm talking lots of js/AJAX calls).
Another problem, is that all this must be integrated with legacy databases, and different countries current shop systems etc. I've already built the site and launched in a couple countries, and everything works fine, its secure, and fills the requirements. But I'm having difficulty managing this as one person already and more sites are just going to come (a lot more). Since everything is already built and all the problems (implementation not content management) have been solved, I rebuilding would be fairely quick, and I do have a break now. I apologize for the length and look forward to any helpful advice you can give
That is good to know, but /. seems sufficiently dead for conversation that I see no point in going back.

If there was a point, I'd not have left in the first place, or else I'd have created another account.
I just watched the welcome video, but I still have no idea what app.net is.

I did just listen to some guy tell me why he should get paid for 3 minutes. So that's something.