skysight-inc/HackerNews huggingface dataset:
+1

Also, keep in mind anything that could conceivably be called a "file" is fundamentally an arrangement of atoms in a measurable state which can be resolved into an ordered sequence bits. Whether that's a capacitor holding or not holding a charge, of a bit of spinning iron oxide with a measurable magnetic orientation - any actual "bit" is made up of many atoms, and any ordered collection of bits requires many more atoms to hold them in their ordered arrangement (and many more atoms to provide the capability of reading this bits).

A terabyte is 2^40 or ~10^12 bits. A hard drive weighs, what, a few hundred grams? Guessing an average molecular weight of ~50, that represents something like 10^24 atoms - suggesting a "bit density" of around 10^12 atoms are required to store each bit.

Even if you turned every single atom in the universe into hard drives to store your files, and stored every possible arrangement of bits you had space for in all that storage, your chances of a 256 bit hash collision is still way smaller than your chance of winning the lottery.

Big numbers are often confusing. 2^256 is a very bit number. Although abstract mathematics makes if easy to say "yeah, but 2^512 is bigger", it's only bigger in an abstract sense, and not useable in any arguement along the lines of "well, if I had 2^512 physical objects"...
True. That's a big risk and that's one major reason to hold off on buying a home. However, at some point, you have to either decide that you're going to live somewhere or you have to decide you're going to spend your entire life as a nomad. I've been with the same company my entire adult life and my feeling of uncertainty made me delay buying a home by almost fifteen years. I eventually decided I can't just keep living my life (relationships, purchases, etc) based on a fear that I may or may not be in one spot long term.
the way to write good solid code is to use more than 2 compiler, and optimisation etc. i mostly write code that runs on at least 3 different os, and 2 different hardware. ... and it just works. no prog-lang can be faulted for bad programming using one. learn the lang, and use it. :-)

gcc still gets the pointer dereference and assignment to what a pointer points to, due to deferring assignments. these edges, idioms of any lang needs to be looked at with academic eyes. :-)
In theory, yes, but in practice, they still want money.
Unless I moved out of my home, I'd actually be more likely to just rent out rooms. I think there's far less risk and legal complication if you're essentially renting out a room to a "roommate" versus giving over your entire home to another person or family.
If it's user@domain, it's probably just using SIP URI routing. (You define records in your domain to lookup the responsible SIP server, similar to how email works, but more complicated just for the fun of it.)

FreeSWITCH is a great starting point, but NAT traversal isn't reliable for point to point, for the general case. You have to consider symmetric NAT without UPnP and firewalls that allow outbound+response, but no incoming. In these cases, you are going to need a proxy with a public IP that can relay audio. That's the only reliable thing that's going to work in all cases. (Just look at the IETF's documents on NAT traversal where they come up with all these complex ways to try to exploit limitations in certain NAT devices...)

Actual NAT traversal in SIP/RTP is very straightforward. You just ignore the silly parts in spec that specify IPs, and just reply to the IP:port combo you received from. For RTP, same deal. You know where you'll receive RTP, so as soon as you get a packet there, you just reply to the IP:port it came from.

Skype's "breakthrough" that let them win so much early on was that they used P2P to do public IP relays, since connectivity between any two points is not guaranteed. (Had MS been smart enough to proxy audio/video in their clients early on, they might have dominated this market to begin with...)

So, to overcome this with free software, they'd need a public IP relay system that protects things end-to-end. If they do that, it could be worth watching. But from that linked presentation, they expect Sipwitch to update the firewall rules in such access. Good luck with that.
This reminds me of the good old time when trackers like Scream Tracker 3 and Impulse Tracker were the hot thing! They too were programmed by writing sequential "code". This felt more natural and easier to use than most GUIs of that time.
The probability of a hash collision between n files if there are N possible hashes, assuming that each hash is equally likely, is roughly 1-e^(-n^2/(2N))[1]. Let's suppose that there are roughly a trillion, that is, 2^20, files; this is way more than the actual number of files, by the way. And let's suppose that we have a 256-bit hash such that every 256-bit string is equally likely(a reasonable assumption as long as the hash hasn't been defeated)--the number of possible hashes is 2^256. So the chance of a collision is roughly 1-e^(-2^80/(2^257)); since the number inside the exponential is so small, we can approximate it as 2^-177, or less than 10^-53. That number is so small that it's more likely your office will get hit by multiple independent meteors.

[1]This formula is taken from http://en.wikipedia.org/wiki/Birthday_paradox
The attack on Sony was not against the company, it was against its customers. I'm sure this will damage Sony in a huge way, but I have 0 respect for the people who did this.
His argument is that C++ is so complex that it's extremely hard to write a fast, reliable compiler that generates good error messages.

The fact that it took gcc programmers 10 years to get to a point where gcc doesn't use ridiculous amounts of memory when compiling few lines of tricky code is a fact in favor of the argument, not against it. Gcc programmers are smarter than an average programmer. If it was easy, they would have gotten it right on the first try. Accordingly, C or Java or C# or Go compilers didn't have such problems so C++ is more complex for compiler writers than pretty much every other known language.

The same goes for error messages. In the past decades we've had tens of C++ compilers. If clang is the first one that is able to generate decent error messages for templates, then it means it was a hard problem to solve.

None of that got any easier: if you want to write another C++ compiler, it'll still be hard for you to generate decent error messages or compile tricky C++ code reasonably.
This is incredibly refreshing and inspiring, congrats!

I don't see a lot of audio-related Ruby projects around. How did you implement the audio engine? A quick look in the source files seems to show it's all pure Ruby.

A nice extra feature would be to edit/save and update live, while the loop is running, but I don't know if pure Ruby can fit the bill. And this reminds me of a language I've heard a lot of good things about: Chuck [1], which allows you to modify the code live (apparently it's used in Smule's iOS apps). Has anyone here played with it?

http://chuck.cs.princeton.edu
My guess is you will get some emails directly from this post, but I would also recommend you check you HN office hours ( http://hnofficehours.com/ ) it's basically what you're asking for but for the exchange part.
That's true, but what sort of level of "luck" are we talking about?

Flipping a coin "head or tails" odds?

Buying a winning lottery ticket odds?

Or winning the lottery without buying a ticket and having the atoms forming the winning ticket spontaneously appear in your pocket odds?

Yeah it's _possible_, but 1:2^256 odds are not really something you need to worry about...
And sad that still there are people falling for this.
Less than a year ago HDMI cables were listed on Amazon for a penny. I ordered 4 for 4cents and then 2.98 shipping for the whole order. I think after California changed laws about lead in cables for energy efficiency, places were shipping those cables all over for real cheap. Now the $1.50 seems standard.
Long Live the Web: A Call for Continued Open Standards and Neutrality
Editorializing in the title. "flip"?
I guess that's why the Google C++ style guide lists using static non-POD types as a no-no. :)
We know it's still used in certain niche markets, but that doesn't imply that as a language it isn't a dead end.
I'm in Canada and I pay for music. Now I want my tax back on all the blank CDs I ever bought.
I think you are missing the main point that the article is arguing.

You're right about Google. They do not need Skype, but the article does not say anything about Google needing Skype at all. The article only said Microsoft needed Skype. It was a defensive measurement on Microsoft's part.

I think this is the most important sentence of the article: "Were Google to buy Skype they’d convert those 663 million Skype subscriptions to Google Voice and Gmail and in a swoop make parts of Yahoo and MSN irrelevant." This is important for a number of reasons.

1. If Google were to buy Skype, the 663 million users would probably convert to Google's search engine - if they have not already - and not use Bing, which Microsoft has invested heavily in.

2. By buying Skype, Google could force the 663 million users to only register with a Gmail account. Meaning, those with an MSN email account would be forced to convert.

3. Google would also integrate Google Voice with Skype. With the two utilities working together, they would make an incredibly powerful tool, and the users might start to rely on the two combined utilities. This would mean the users would want the utility on their phones which entices them to buy an Android phone and not a Windows phone.

4. With the buy, Google was looking ahead in the future. They could integrate Skype with Google TV. (Which I know was first a failure, but they are still banking on the idea. They'll come out with it again soon enough.) They would also integrate with Chrome OS, and, if the users come to rely on it heavily with the integration of Google Voice and Android, then it would entice them to us Chrome OS and not Windows.

I think Google had much more use for Skype compared to Microsoft. So, Microsoft did not buying it to go after the consumers of Google and Apple; instead, they mainly bought it to keep their users.
It would be kind of a cool experiment to try to get everything past the first $5000 in client work (or whatever covers living expenses, taxes, savings, and beers in your area) per month paid in Bitcoin.

There needs to be a really easy way to do it though for clients who don't understand the concept, maybe some kind of service where a client can pay with credit card and it converts to Bitcoin and sends it to the recipient's account.

Maybe an alternative would be to just make a policy to buy Bitcoin with whatever you get over your quota each month.
I found a site that lets you do a psychomotor vigilance task (P.V.T) and gives you a report: http://www.wellcomecollection.org/tiredness/index.html

I think I'll use it to test myself, I'll clock my sleeping hours and plot it against the test results. After a few weeks I should be able to see some pattern emerging.
Yeah, this isn't my speculation, it's how Ballmer and others have been publicly justifying their decision to continue targeting both consumer and enterprise instead of splitting up into two companies or dumping the consumer side.
Clearly any semi-decent programmer can mentally translate 5 * 60 * 1000 into 5 minutes. So what? This is nonetheless a more intuitive and less error prone way to write times. This is about making readers of your code spend less cognitive effort figuring out what your code does, decreasing the chances of bugs (oops, I missed a 0 or screwed up a conversion factor), and making your code easier to modify. You seem to think this is a plugin for programmers too dumb to use milliseconds; it's not. Stop making excuses for bad code.

That said, sure, this isn't exactly a huge issue that's plaguing the javascript community. I probably won't use this plugin.
That is _so_ missing the point of what Dropbox is for.

Mind you, expecting secure against law enforcement or government agency disclosure storage is _also_ missing the poit of Dropbox.
"We specifically thought that Niklas and Janus, two of the preeminent technology entrepreneurs of our time, wanted Skype to be a huge success and would do everything in their power to make that happen. As a result, we did not think the doomsday scenario that greatly concerned other investors--that the founders would attempt to shut down the company through the courts--was an actual possibility"

Wow. This and the comments about how much Skype's user base has grown since Google and Apple began competing in the same space are very interesting. Plainly, someone is wrong about the value of Skype (see the other stories submitted to HN about this transaction, for the clash in points of view) but just maybe the investors who just sold Skype to Microsoft are right.
Another grateful melatonin user here. That stuff got me through college, and I've successfully recommended it to friends (mostly the stereotypical geeks like myself who, left to their own devices, will keep pushing back bedtime a couple of hours every day ad infinitum). Just prepare yourself for some strange dreams for the first couple of months.
Welcome to the Chaos, Excitement, and Danger of Nollywood
Yes, I saw the link to the blog, but that's not what I mean. In terms of SEO you want to think of your site as a house, or library. You don't want to have people be presented with distractions or have to enter through some back door to get to the main goods. You want to offer your best right up front and be clear about it. That means the Wordpress structure should be the main site. Now, if you know what you're doing for SEO, and your main site focus is not the blog content, then that's when you can have a different site upfront and the blog attached with a link.

I have absolutely no idea about producing comics. If it were me I'd just start with blank white paper, draw out my comics then scan them in as JPEGs to post online. If the comic content is good, like Garfield, for instance, people are going to like it, and I'd say that's fine starting out.
This is not an online drum machine... But if we're going there, allow me to suggest these:
http://burn-studios.audiotool.com/app
http://seaquence.org/4v
The 2 * 60 * 1000 idiom for two minutes doesn't bother me.

underscore.js has a nice alternative for setTimeout() and several functions that probably should be used instead of setInterval() in most cases where setInterval() is used:

http://documentcloud.github.com/underscore/#delay
I often get told that I don't sleep enough (more like 6 than 8, if that), but for me, my dreams get stranger the longer I sleep, and my day is happier if I can wake up without strange dreams lingering in my head. For example, last night I slept about 8 hours (probably due to wine the night before), and my final dream involved me trying to evade certain death in a circus. I'd prefer to start off my day on cheerier notes. :)

I don't use an alarm as I believe in waking up when your body wants you to, after its natural cycles end. Or at least, thats what usually works for me.
Heh ... I tried to do almost exactly what you tried to do, with similar results:

http://coding.pressbin.com/50/10-web-start-ups-all-mine--and...

Check out the blurbs on Truyoo, Utopic, and ioFeed.
I agree; this really hasn't been news for 5 years, if not more.
& and | have the wrong precedence because in primordial C they were both either short-circuiting boolean or bitwise depending on context.

:(
Would work better as a poll
Russian math genius answers $1 million question
In 2006, Perelman refused to attend a congress in Madrid where he was to receive a Fields Medal, often called the Nobel Prize of mathematics.
Azerbaijan Eurovision Voting Fraud
I don't think you understand my point.

Housing should cost whatever supply and demand value it at. That means that when everything goes belly up because of stupid lending and stupid borrowing, those people should have to sell their homes at a loss and people should be able to come in and buy those now cheap (because of a new ratio of supply and demand) homes on the cheap.

In other words, I want the natural value (free market) of things -- not some artificially inflated value, because government and committees felt obligated to bow to home-owners in saving their asses and maintaining the value of their assets. If I buy a car and then my financial situation changes, I may need to get rid of that car on the quick and someone can get a good deal out of it. Why should the government come in and rescue me by ensuring that I get a solid high value for my car, at the expense of another person who could have benefited from circumstances that otherwise would have made the car affordable to them?

I know we don't tend to have a truly free market much of anywhere, but it seems particularly shitty to artificially maintain a high value in housing at the expense of a huge chunk of society that can't afford ridiculous (artificially so) housing prices.
Sony to begin restoration of PlayStation network on Sunday
When should you start marketing your product?
> In an unsafe language like C or C++, you would just assert that the two containers are the same length and use parallel iterators. The type system here lets you optimize away some of the overhead of using a safe language, but it doesn't let you write code that is more optimized than the obvious unsafe code, at least in this example.

Well, you can choose any two of: 1. Fast (less run-time), 2. Safe (cannot crash), 3. Simple types (None of the advanced type hackery). Many choose 1+3 or 2+3, but advanced types let you choose 1+2 which in many cases is remarkable and somewhat surprising that it is even possible.

Also note that runtime checks, in many cases, do not give you safety. For example, normally, you have an array indexing operation like:

readArray :: Array a -> Int -> IO a

Ignore the "IO" if you are unfamiliar with Haskell's IO type. This is unsafe whether or not you have index bounds checking. A runtime check will only convert one kind of error (corruption/segfault) to another (runtime exception).

In these (common cases), your only option of getting safety is advanced type hackery. Something like:

index :: (size:N) -> Array size a -> Fin size -> a

where Fin N is the type of integer ranged between 0 and (N-1).

> Also, in this example you're using a singly linked list, which is usually a performance loss compared to a more appropriate data structure. CPUs are designed to favor contiguous arrays

Nothing about this type hackery is specific to singly linked lists, and advanced type hackary is applicable for pretty much any data structure. Also note that the singly linked lists used in zip may not actually be represented by pointer-chasing singly-linked lists. They may be "fused" together into efficient loops that process the input directly.
http://www.youtube.com/watch?v=tYLBA1Ldq6M

It's in one of the 10 parts.

There was a misunderstanding about what a desktop shortcut was.
Yeah, I kind of know that. I have been told by someone who knows way more than I do to just leave the main site in place to preserve the URLs for pages that have been around a while. I have debated making the domain point to the blog portion but then I don't know what to do with the main site. I have debated making it an archive. One technical issue I have is that the blog is a subfolder of the main site, so changing the name of that upper folder breaks the blog and I don't want to migrate it and lose the dates and ...yadda yadda. I am stumped as to how to change the spotlight to the blog, where more current content is, and leave the existing site intact as an archive, so people who do know of it can still find it and so it can serve as background info/introductory info.

Thanks for all your feedback.
$AUD Term Deposit?
5 years paid annually at 7.1%
http://www.infochoice.com.au/banking/savings-account/bankwes...
Announcing Leaflet: a Modern Open Source JavaScript Library for Interactive Maps
My thoughts exactly. I told my daughter last night we couldn't just give some of our music to a friend of hers. If we lived in Canada, I would have no compunction about burning it on a cd and giving it to her.

I find it hard to believe that doesn't exist in the United States of the RIAA.
I'm not sure why wrestlers, tour guides and handymen need to be licensed, but many of the professions the author highlights genuinely should be licensed.

The main profession the article picks on - interior designers - seems to be misunderstood by the author.
He incorrectly insinuates interior designers only choose fabrics and colors. In fact, interior designers are professionals who have completed training in space management, ergonomics and architecture. They are able to recommend structural changes that could, if designed incorrectly, cause structural damage. Interior Decorators, who in fact are NOT licensed, are limited to choosing fabrics and colors (so to speak). More info: http://www.schools-of-interior-design.com/Interior-Design-vs...

Some of his other examples:

Frozen desert sellers - I hate to bring out the '...but think of the children argument,' but seriously, do you know if the grungy dude in the van selling ice-cream to your kids knows how to handle food safely? Has a criminal record? Has 12 DUIs?

Firework Operators - their job is to set off large explosions close to large crowds, occasionally indoors. I, for one, don't have a problem making sure they know what they're doing.

So the author may have a valid point, but his poor choice of examples does not support his case well in my opinion.
> The relevant element of FP is statelessness. That said, statelessness could easily be considered a leaky abstraction because, at some point, the machine you are working on has state. Your machine has CPU registers and memory and such, so the entire "statelessness" of FP is subject to the underlying system-level implementation.

It is only leaky if you are exposed to the statefulness of the underlying machine.

Haskell's pure code does enjoy the abstraction of purity without exposing the non-pure primitives from which it is exposed. Haskell's non-pure code is marked as such, and not supposed to be abstracted away from the nature of the underlying machine. I'm not sure what abstraction leak you're referring to. Can you give an example?
I wonder if contestants use amphetamines or methylphenidate before competitions.
It's not hard at all to circumvent this, I doubt that it "eliminates huge swaths of pirates". Does Microsoft's Windows activation scheme stop people from pirating Windows? I don't think it had any significant effect, people just download images that have activation already patched out.
It's a messy sentence, but not necessarily a lie.
Iran to blind criminal with acid in 'eye for an eye' justice
I thought of saying that but I don't think they have polling privileges -- I think you need to hit a certain karma threshold for that.

FWIW (to the OP): I don't belong to any dating sites. (But I have good reason to believe I'm not really the norm here.)
I'm not disagreeing with your general point, but this does seem a little overkill when you could achieve a similar effect with a few constants:

5 * MINUTE
3.5 * HOUR

etc.
Using Win7+Firefox 4 on a core i7 930: 1% cpu usage without ads, 5% with ads. Think it's just you / your software.
Each use of a non standard library makes code less "portable" - both in the sense that you need to include another library to support it, and in that it will be a speed bump to other developers reading and using your code.

So I generally have a non trivial minimum bar for using a library in my code - it has to do more than just a little syntactic sugar.
Strangely enough, I've found that since I increased my caffeine intake (to around 900-1200mg/day via energy drinks) I've been sleeping great. I usually go to sleep around 10pm, wake up naturally around 3am, and take a 1 hour nap around 3 pm. I've been drinking a lot of water as well, and I've had no problems focusing on work. I think the nap is the key though.