skysight-inc/HackerNews huggingface dataset:
It's no more philosophical than saying the alternative is proper. Uniformity of expectations seems more practical to me. In contrast, I wouldn't see an advantage in map ranges ever staying the same even per process. There's no reason to promote that reliance.
Reverse scheduling. That's the worst one by far.
That's not a worst nightmare for someone who knows how to read assembly language and use a debugger. I would've narrowed that down to the compiler the first time and probably debugged into it too (providing whoever did this very clever hack didn't also do something to the debugger... but if the system is behaving this oddly, it's certainly better to bring one's own tools.)

Seeing the CPU do something it shouldn't, being traced by a hardware ICE, now that is a worst nightmare - and one I've actually experienced.
You picked a really bad time. That aside, if you end up in NL let me know and I'll help you in any way that I can, but make sure you end things on as good a note as you can, especially with your wife (and I really hope you don't have children). And remember one thing, you can leave everything behind, but you can't leave yourself behind and some of those things that you dislike will end up mysteriously packed in your luggage, it sounds very much like you want to get out of your life, not just your country.
Erik Meijer’s Hacker’s Way
Automatically Applying HLint Suggestions
From https://github.com/urbit/urbit/blob/master/include/vere/vere...

/* Urbit time: 128 bits, leap-free.
**
** High 64 bits: 0x8000.000c.cea3.5380 + Unix time at leap 25 (Jul 2012)
** Low 64 bits: 1/2^64 of a second.
**
** Seconds per Gregorian 400-block: 12.622.780.800
** 400-blocks from 0 to 0AD: 730.692.561
** Years from 0 to 0AD: 292.277.024.400
** Seconds from 0 to 0AD: 9.223.372.029.693.628.800
** Seconds between 0A and Unix epoch: 62.167.219.200
** Seconds before Unix epoch: 9.223.372.091.860.848.000
** The same, in C hex notation: 0x8000000cce9e0d80ULL
**
** New leap seconds after July 2012 (leap second 25) are ignored. The
** platform OS will not ignore them, of course, so they must be detected
** and counteracted. Perhaps this phenomenon will soon find an endpoint.
*/
The curious case of National Geographic’s layoffs and financials
Adding additional elements on tap?
The 3B2 computer mentioned in the story was around in the mid-1980s. Git's initial release was in 2005.
Do you have this code on GitHub? Would love to take a look!
I've seen HN'ers go way over and beyond the call of duty, also to help perfect strangers in 3rd world countries halfway around the globe.
Possibly, yeah. Do you have a suggestion?
That sounds like a story worth telling.
I kept wondering that as well. I'm wondering if this was a different time, or if it's just a fun story
That does seem more reasonable, actually, unless there's some crazy reason you might actually want to vary the order w/in a single process lifetime I'm overlooking...
It looks like a lot of work and thought went into this library. I'd love to give it a shot except that I have no idea what the output might look like.
Difference is in China the central bank is wholly under the thumb of the communist party.

Also: When you read the word 'Ponzi' in the context of macro-economics, as opposed to criminal prosecution, you should stop reading right then an there because the author is spouting drivel.
https://www.reddit.com/r/Fitness/comments/3sxhpl/here_is_an_...

Getting a better chair is just a band-aid
Personality, Gender, and Age in the Language of Social Media (2013)
The author says SHA1_HMAC would make IDs "very hard" to predict compared to SHA1, but this is not true at all. An attacker can bruteforce the seed either way. In practice the double hash construction used internally by HMAC will make bruteforcing ~twice slower, but that is a minor difference. If you want to double the difficulty of bruteforcing the seed, a better way is to just add 1 bit to it.

The easiest and most secure way to generate unique IDs is to just read 256 bits from getrandom() or /dev/urandom. It is so simple that most programmer won't botch up an attempt to implement that. 256-bit IDs give you a 128-bit security level, which is a good default to aim at.
I found it interesting how Expedia is behind this study. I can see how this would help their bottom line.

For those interested, source data for the study.

https://images.trvl-media.com/media/content/expus/graphics/o...
OS X El Capitan: Worst OS Release Yet
A genuine question: is making assumptions based on perceived cultural influence incorrect?

I mean, I know asian work cultures are "harder" than my european one, but is it incorrect to spell that in a public/social context?
It may not be the solution you expected, but you could try upwork. Pay can be decent and it allows you to live while traveling across exotic countries.
I know a programmer that lives this digital nomad lifestyle.
Reporter Degrees of Freedom
I have seen an md5 collision happen at work. Having low probability doesn't mean it won't happen, you just don't know when - people win the lottery around the world daily.
That's so messed up. I'm so glad I started my development career in an age where one could spin up a VM in minutes to isolate an issue like this.
Wasn't this method already popularized (basically) by twitter's simpleflake/snowflake?

https://news.ycombinator.com/item?id=7764254
Would you leave your wife just because you face problems dealing with your business partners? Change business partners, your wife has nothing to do about your work problems :-)
Why not joining some international corporation for two-three years, companies like Siemens or Bosh are constantly looking for people who know how to code and in the same time they can make it very easy for you to travel - even with your family.
We've had both those problems IRL I'd imagine they have them in a simulated environment too.
Or, perhaps, the grad student antagonist got the idea from the essay.
"Pursuing the truth through diophantine approximations"?
(some click-baiting is never that bad if the article is good !)
Surprisingly solid article about (apparently) solid but very surprising clinical research. Validates some of the more extreme views of multiple personality disorder and "hysterical" blindness.
To install the num command, use http://www.numcommand.com
Interface and Execution Models in the Fluke Kernel (1999) [pdf]
Story time? (Please!)
Yes. I'm writing the Num command specifically to become an OS vendor package. (For example I'm writing Num using Awk, which is available on every current POSIX system.)
It is really hard to handle, but once you get to some critical mass, it starts to become easy to read.
Can you contact me about this? I'll diagnose it. My direct email is joel@joelparkerhenderson.com. I really appreciate it.
I use http://www.put.io for this and highly recommend it. If someone has already downloaded the tracker you are trying to get you get it instantly, so for anything even vaguely popular you are able to get it (or after the first person downloads the file the rest are just pulling directly from S3). They also have great customer service, ios and chromecast apps etc.
Ads only work when you can convince people to try someplace or something new using words and images and symbolism. There's lots of experiences and businesses that can't do that - not just because of size or money or location, but because words are fairly limited. I don't want local businesses to just have better ads; I don't even know how that would help me.

Used well I think Groupon let's a business really put themselves on the line: we're willing to probably lose money on customers because we think those customers will learn the value of what we provide by experiencing that value. That's a risky proposition, but a fair one. Used that way, yes, I think it's good Groupon exists.
Other coders' nightmares:

* Security : customers acccounts leaked, identities stolen, bank account depleted

* Undetected data corruption : customers' data is corrupted and it has seeped into the backup stream, even the off-site one, and that is corrupted as well now.

* Rarely occurring simingly random concurrency related bugs that manifest themselves once a month or longer.

* Time : making assumptions about it, dealing with it distributed systems etc. Nobody thinks about it until it stops working or systems' time gets snapped back somehow.
The point was you don't need subreapers, so you'd presumably just remove the relevant code.
Anything involving interrupts and timing. Especially when the timing is so critical that it is time to break out the logic analyzer. Bugs like that can keep you busy for weeks.
Quite a nice file sharing implementation done here: https://file.pizza/
What happened to LivingSocial
A related video on the numbers behind piano music, on why it is mathematically impossible to perfectly tune a piano :

https://www.youtube.com/watch?v=1Hqm0dYKUx4
I made a dialect of C called HolyC.

I made a compiler.

There is nothing obfuscated.

In planet of the apes, original, a white man told a monkey he made a flying machine. The monkey did not believe him.
Either that, or said student had read Reflections on Trusting Trust. It was published in 1984. The 3B2's and Tymnet were current around then, and the authors bio indicates he's been programming long enough for the timeline to fit too. It's not that unlikely that someone, somewhere read the paper and decided to have some fun at some point.

The thing that makes me tend to agree with you is that he hasn't mentioned any "finally, years later, I found out where that guy got his idea" moment in it.
Nothing new. Just use the right variant for your use case: https://en.wikipedia.org/wiki/Universally_unique_identifier
what about mexicans ? we work 12 hours and 6 days a week... make the calculations
There's a standard for what this is trying to do: TAI, or TAI with an offset of 19 seconds, like GPS.

Rolling your own is never a good idea.
Not having a job is my worst nightmare. Realizing your skills are being undercut by a fresh college grad who can get enough pats on the back while skidding along with code that works. Realizing the language you cradled has now become outdated and the other engineers that have found out the new next 9 years of hotness are too good for you to compete with. Having to interview for a new job and realizing that you can't pass the white board questions because you have fallen behind with the expectations of young blood. That's my nightmare, becoming irrelevant.
The Man in the High Castle, Leibniz, and the Best of All Possible Realities
Was this study done by No Shit University?
Chip on your shoulder, much?
Seconding the recommendation. One of the finest non-fiction books ever written.
The guy hacking together cookie-cutter single server websites calls himself a software developer/engineer just the same as the Ph.D. hacking on compilers or ML algorithms.

From what I can tell, none of the lead creators of PHP, Python, Perl, Ruby or JavaScript actually have PhDs. The original author of Turbo Pascal and chief architect of Delphi and now of C#, Anders Hejlsberg, didn't even finish his undergraduate degree.

It's not just a matter of similar titles, the paths are really less formalized.
Oh man, I used to work on a large service that had to aggregate data from a bunch of downstream services and submit it upstream. At the end of the month, billing would run off the data and send out invoices -- tracking down subtle data corruption was nightmarish and cost me my youth.
I remember having one of those moments with a function I hadn't implemented yet and being incredibly confused as to how it could possibly work in spite of there being no code yet.
"Elon Musk almost crying"
That was a specific easily verified claim of astro-turfing.

I have not yet read the good book Atlas Shrugged but I'll be sure to check it out based on your recommendation. Gotta go.
How does a version control system address a malicious compiler?

Unless you're suggesting the entire system be under VCS?
Me neather, short term. But in the long run Capitalism will not want humans, we're too expensive.
It also really makes no sense to work, I think this will become increasingly more evident.

Note: Marx wouldn't agree with me. He would say that the rich will still have the means of production (automation), so the poor will still do stupid jobs to get paid that little to afford the products made by automation. It's basically like it now, but I hope this will change.

There is no startup that can fix this. We need to collectively own the automation to not work.
> Having to interview for a new job and realizing that you can't pass the white board questions because you have fallen behind with the expectations of young blood. That's my nightmare, becoming irrelevant.

I'd like to think that interviewing for positions that aren't entirely focused on new-hotness still leans on heavily trod areas of CS. Data structures, sorting and searching.
>Just having a 'compiler' will not change much about that understanding

The compiler is called "genetic engineering" and it's a 30 years old field. In particular genetic engineering allows you to knockout specific genes and observe the phenotype. This technique is commonly used on bacteria, plants and animals. There is an ongoing mouse knockout project, an attempt to study every mouse gene by turning it off. It is 50% complete so far. By the way, the experiments are performed mostly by hand.

>We're very far away from understanding how a particular DNA string relates to phenotypes.

This problem can be solved much faster with a large scale effort. Thousands of automated experiments can run in parallel while recording the phenotype of the animals (including results of behavioral tests) and storing it for later analysis.
On this genotype->phenotype dataset one can train an ML model. Actually there is a company that is trying this approach (just ML part, without automated experiments) http://www.deepgenomics.com/

I doubt that one company will be enough, though. With serious funding there could be much more progress in this area. We could have a full knockout map of mouse genome in less than a decade if we really wanted.
Apple is taking 94% of profits in the entire smartphone industry
After you invent time travel.

At the time of this story, based on the details (3B2 computers and Tymnet) RCS was likely still current and CVS likely didn't exist. There were other alternatives like SCCS, but speaking as someone who wrote code back then: It wasn't until the late 90's it started being weird to not see source control systems used even in a corporate setting. The last time I worked in settings were source control was not universally applied was as late as '99.
But there is one, which the original post in the thread described: you could for example convert a map of arrays to a flat array by iterating over it repeatedly and printing the ith element of each array. This doesn't work if every loop over the elements gets a different ordering.
However many bits you're using to store the timestamp would better guarantee uniqueness if they were random. Whether it's intuitively safer or not, it's empirically less safe.

This is exactly why the UUID spec evolved into a pure random value.
Thailand and South Korea used to be on roughly the same economic level in the 1970s. South Korea embraced protectionism. Thailand did not. One is a developed first world country and the other is a sex tourism destination.

It is indeed an incremental process. An incremental process some countries never begin.

>that's their prerogative

Why is it the prerogative of American elites to set trade policy that benefits them and fucks the rest of us over?
Mexico VS China, Who has the edge on exports to the U.S.?
Interesting video, I just have a few nitpicks.

The problem is not that the piano has too many strings, it's that the notes are fixed. The same is true for any string instrument with frets, like a guitar, or wind instruments with fixed holes, like a flute.

The video also refers to the fact that equal temperament allows playing in any key, but doesn't really explain why that's important or what the tuning has to do with it. (Short answer, before equal temperament, different compromises were made in which notes were out of tune with respect to which others, and the schemes commonly chosen only allowed some of the keys (as in "c major" not the physical key) to be sufficiently in tune to be usable.)
They don't use React
I don't, unfortunately. The webtorrent docs are very straightforward though. And if you check their npm, they provide a link to cdn hosted source!

Note: sorry for any grammar issues, on mobile now
* Works on my machine: You can't repro a customer bug in-house. Something about your internal setup is making a difference. Even worse: You work for a big-corp that is a platform for said customers, and so god knows what another team has running in your environment in the name of "dogfood all the things"
The last thing I want is someone being able to "like" my emails. Email is supposed to be a conversation between the sender and recipient. "likes" would be far from appropriate.
Well I gave 5 reasons up at the top :)

But from a philosophical perspective, referential transparency is a big one. We should prefer to make functions referentially transparent, because it makes them easier to reason about. Sometimes we do not, because it would be too slow or too awkward. But in this case, the loss is gratuitous.

Or to put it concretely: in Python (and every other language), we have the fact that `dict.keys() == dict.keys()`. In Go, this is true sometimes. Doesn't that seem weird to you?
Amazon to build massive wind farm to power AWS
Not to mention the malicious code was in the compiler, not the source code.
The study is geographic, and about work culture not race.

To your point, a better title might refer to "Asian Countries" and "European Countries" instead of individuals. Europeans living in Japanese companies work similar days/hours as their coworkers, of course.
Yes because you don't have evidence to support your theory. You're generalizing with insufficient data.
> If you dissolve the ink from a dollar bill such that it's just a piece of paper, would you still say it's a dollar bill? I would say no. Its state has changed and, thus, has its identity (i.e. how we identify it).

That's not what he means by identity; it's still the same piece of paper and thus it's identity has not changed, even though it's state has. That it's a dollar bill has nothing to do with its identity because he's not using the term in that way; he's literally using a programmers definitions of those words. The Mississippi river is still the Mississippi regardless of the fact that the water it's completely different water each day. Identity is independent from state. Two dollar bills have equal state but independent identity. You are still you even though the cells in your body are not the same cells you were born with. Your identity is the pattern of electricity that make up your personality and consciousness, not the cells you are built from. The cells are state, not identity.
[video] HackerNews iPhone App in Swift Using Alamofire and Realm Pt 5
On Linux it's easy to benchmark this via e.g. `dd if=/dev/urandom of=/dev/null bs=1M`. On my somewhat old server (with Intel Core i5s from 2012), I'm getting 17 MB/s.

Supposing we blame slowness on syscall overhead: at a block size of 16 bytes instead of one megabyte, it slows down to all of 11.6 MB/s, that is, some 700,000 128-bit IDs per second. (And since we're not using SHA-1, all 128 bits are meaningful for collision resistance.) For comparison, Twitter gets about 1% that many tweets per second, globally.

If anyone has plans of scaling to 100 times the size of Twitter on a single 2012-era Core i5, and has figured everything else out already, I'll be happy to audit your userspace PRNG then.
If you need the IDs to be unique per machine just use a unique-per-machine identifier - like the MAC address of the network card. Then use a counter that increments by 1 for each generated ID. If you need to be resilient to failures - just checkpoint every 10K (or 100K) numbers and add 10K to the starting number when you reboot after failure.

No collisions ever. Seriously - I don't understand why people would overthink it that much.

Not to mention OP talks about MD5 and SHA1's security issues - well guess what? MD5 was never meant to be used for crypto - just validation. Saying it's bad at being used for cryptography like that is like saying cats are a bad war time weapon - true but meaningless.
Stalls at 20%
openat is posix.
You're describing a depression, though. High unemployment -> less demand -> fewer jobs -> repeat.
That's not a bad rule of thumb. People who invoke it usually miss the detail that it's the members who need to be able to tell jokes, not outsiders. People will say feminism is a cult under this rule when a feminist suggests that people without firsthand experience shouldn't joke about certain topics.

The same issue comes up with racism. Activists will complain about race jokes being made by white people, with exactly the same characterization: "[black lives matter/brainwashed university liberals are] actively avoiding an uncomfortable truth by stamping out the slightest whiff of satire!"

But of course they are making satirical remarks constantly within their ranks. It's satire from the outside that loses it's protection because from the outside it is just a pattern of abuse. Only from within is it the necessary ingredient for healthy discourse you describe.

And of course I don't mean outside/inside to be white/black or man/woman. It's just the distinction of whether you're coming from within the movement or without. It's not hard to make jokes about feminists if you're coming from within that intellectual tradition, even if you're a man.
3B2, so probably like early-mid-80's. Likely didn't have many options.
Yes.

Not everything that's "obvious" is actually correct. There is value in verifying such things.

There is also value in quantifying such things beyond the level of detail available from "but everybody knows...".
Does anyone know of actual data (blog-articles, surveys) regarding the behaviour of Groupon customers: e.g. % of repeat customers, difference in CLV, difference in cost of customer-acquistion compared to other channels, etc.

The discussion of Groupon usually ends up in „they don't add value“ vs „they add value“ but without actual data it seems easy to find explanations for both sides.
Ads use inaudible sounds to link each of our gadgets togather
I'm Swedish, and there are definitely people that are away for long periods of time (usually paternity leave), but was it really that many people that you never met? :-) How long did you work there?

Not trying to be snarky, I just want to point out that it's not like you can take vacation year round (even if you're in Sweden..), even though we certainly have quite a bit of vacation (25 days is the norm) and no problem taking half a year of per parent per child.
It's not a nightmare, but it's incomparably frustrating. I'm more motivated to figure out things that work when they shouldn't then the other way around.
so no more privacy?
Looks like I hit a nerve here, haven't I?

Note that my advice is rational and completely unironic. It is rational to follow the clique if you want to succeed in tech.

I act like that too.