skysight-inc/HackerNews huggingface dataset:
As for scripting: I just tested on Debian Jessie, and at least for trivial code (read: not nim itself) -- nim seems quite content to work with tcc. Tcc is a pretty awful choice for c compiler in general -- but while my current desktop is a little too fast to be able to tell -- nim w/tcc was typically as fast on first compile (read: compiler not cached in ram) as clang/gcc were on second run). Honestly, on this box:

time ./bin/nim --cc:tcc c -r examples/hallo.nim

vs

time ./bin/nim --cc:gcc c -r examples/hallo.nim
time ./bin/nim --cc:clang c -r examples/hallo.nim

is a toss-up -- and they all lose against:

time python3 -c 'print("Hello, world")'

(by an order of magnitude that ends up being almost insignificant, it's ~0.5 seconds for clang/gcc on first run, ~0.2 seconds for tcc and ~0.02 seconds for python). But the binary tcc makes runs in ~0.001 -- or basically too fast to time -- gcc/clang versions are presumably faster).

Normally I think the startup time for python is less than instant (especially without dropping some standard includes/search with -sS) -- but apparently when running on a quad-core i7 at ~4Ghz with the OS on an SSD -- it makes no practical difference. I'll try later on my slower laptop (which is slow enough that "python -c "print('hello')"" doesn't feel quite instant) -- but the main point I wanted to make was that nim -c -r with --cc:tcc makes for a quite usable "scripting" tool, thanks to tcc's compilation/startup/parsing speed (if nim w/gcc/clang wasn't fast enough already).
Yeah, this breaks down as soon as one of them gets into an accident and a million angry mothers introduce responsibility legislation.
Need a handbrake! [SPACE]
Just because he could have started the company 15 years ago doesn't mean he's a good candidate to hire now.
What exactly makes it a "3D" laser cutter?

Also I have to call out Mr. Wingfield for calling a milling machine a "reverse 3D printer". Really!?
I thought this is common in the startup world.
Isn't that an argument that the market priced LFC exactly correctly and that exactly what they expected to happen did happen?
An obvious enhancement for all JavaScript widgets
The difference is that self driving cars are pretty close to coming to fruition. It's a pretty natural step to assume a car that can realize it's broken and hire a mechanic to repair it.

Houses aren't nearly that far along yet.

And ownerless taxis don't need to be non-greedy. The algorithms that make the most money and are able to produce the most offspring (either by buying other cars or paying off a factory to build more) will probably help the economy the most. If the car is effective at making money, 1 car can eventually turn into 1000 with little human management. A non-greedy car might not be able to achieve that.
I'd go with a thinkpad but then again, I prefer using linux (fedora specifically) as my base OS and VMs for dev work. IMHO, you can run more vms off linux on a TP than you can on a MBP. If your dev box is also going to be used for other stuff and you don't mind OSX, you might as well buy the MBP.
Appending to #2 above, if you're creating an exchange (or crossing network, dark venue, etc), how do you deal with settlement and counterparty issues?
Tinywebdis – a lean webdis replacement using luadyad
> Basically it shows that you know how to problem solve, push the boundaries of what is known, work independently, and persevere until the job is done.

Okay, sure. I don't completely discount a PhD when looking at a resume, but this also doesn't add much.

For most development jobs, a PhD is about as useful as one undergraduate summer internship in terms of demonstrating skills and adding value.

Of course, there are some jobs around theoretical & mathemetical problems where a PhD is worth a lot more. And those are probably the jobs at big tech companies which your PhD friends have been offered.

I don't think a PhD is worthless. I just don't think it makes a big difference for a developer's resume, especially because it also carries some unfortunate signaling effects (I know many PhDs who only went that route because they weren't good enough developers to get good jobs straight out of undergrad).
Perhaps set your sights a little lower first? https://bitcointalk.org/index.php?topic=53855.msg642768#msg6...

There are tons of complications before you get to the point of worrying about machines that might kill people if something goes wrong. :)
Surely it depends on the type of person you're talking to.

Some people like long, detailed discussions with others, including references, etc, and find it frustrating when that doesn't happen. Others don't. I don't believe there's a 'right'. Different strokes for different folks.

Though when I don't need to send an email AND the receiver doesn't need to get it, I totally agree.
People post me more infographics that has amazed you
Protection of principal with steady cashflow. It's equivalent to buying a long-term CD from the bank with a slightly better rate.
Try to phrase your worth from the perspective of the cost to replace you. Jumping from $90k to $175k is a hard pill for any CEO to swallow. Are you replaceable by some new $120k developer or are you really VPE and they would have to hire a senior manager and a couple coders to fill your shoes? How many people are you managing?

Remember, you CEO is going to have to explain your raise, or termination, to the board. What story would be easiest to deliver?
Stability is a feature
Three internships at well-known companies(Wolfram and GE), CS degree from Stanford, knows Python - with that resume you can get 10 offers in two weeks if you schedule interviews right.
From your email as well? Otherwise you could send a blank email to gettor@torproject.org for a Tor download link from a non-torproject.org server and use Tor to read it :-)
Problems I see:

- Anyone with access to the secret token can now generate their own urls without fail or evidence. With a DB you need to at least insert a row and thus leave evidence (especially if you are auditing db activity)

- No way to individually invalidate anyone. Example: What if ONE account's db tokens were exposed. Should be able to invalidate those tokens, not ALL tokens.

- Not necessarily easier than one "expiring token" mechanism that is re-used throughout the system.
- I don't feel great about exposing all my private security checks in url parameters. Why give users clues on how I do security? I can provide that in a better, more meaningful way.

- No way to easily invalidate all tokens of specific nature. Example: If you want to invalidate all password reset tokens, all 2-factor authorization tokens, all confirm email tokens after any password reset, all systems must know of each other rather than go to the token table and set "valid" on all those tokens to "false" for everything. The hash would need to account for what change triggers this hash invalidation rather than just someone picking what to reset from a dinner menu as a separate concern.
Problems I see:

- Anyone with access to the secret token can now generate their own urls without fail or evidence. With a DB you need to at least insert a row and thus leave evidence (especially if you are auditing db activity)
- No way to individually invalidate anyone. Example: What if ONE account's db tokens were exposed. Should be able to invalidate those tokens, not ALL tokens.
- Not necessarily easier than one "expiring token" mechanism that is re-used throughout the system.
- I don't feel great about exposing all my private security checks in url parameters. Why give users clues on how I do security? I can provide that in a better, more meaningful way.
- No way to easily invalidate all tokens of specific nature. Example: If you want to invalidate all password reset tokens, all 2-factor authorization tokens, all confirm email tokens after any password reset, all systems must know of each other rather than go to the token table and set "valid" on all those tokens to "false" for everything. The hash would need to account for what change triggers this hash invalidation rather than just someone picking what to reset from a dinner menu as a separate concern.
Now it's getting spooky. What's next, self-aware computers? With their own impulse for self-preservation? Oh noes!
I guess for me, part of the value of my service is the infrastructure. And I sell based on server instance, so any added cost gets passed to the customer (or deducted from my earnings).

For someone competent with sysadmin work, I think it's maybe worth the time. It's not like for any hour not spent on my systems I'd otherwise be earning $200 automatically.

My message would just be for people to not be intimidated by the concept of something being so much work that it's not worth your time. I saw that argument for years with email as apparently conventional wisdom. I've been hosting my own email for years now with about 3 hours of upfront work and (almost) none thereafter.
True. Let's wait and find out if this catches on. :)
Couples: at the beginning VS after
I think neither a CHANGELOG or a NEWS file has a place in a git repo.

Every file in every commit should be meaningful for the given commit. These are obviously usually source files or even documentation of the current behavior of the software. The problem with CHANGELOG and NEWS files that they are not meaningful to every single commit only for commits that are tagged as releases.

I don't know what would be a good practice to manage change logs in a repo. I'm sure that it shouldn't be in a project's git repo though. Maybe having a separate git repo for managing releases would help, like have your original project as a submodule and keep release specific files in this separate repo. Obviously it looks more complicated but it's better than managing merge conflicts between CHANGELOG files when there is no meaning of the CHANGELOG for the merge commit anyway.
"Some sort of data store" does not imply the normal solution that people deploy to solve this problem.

There is a big difference between defining a table in your database that keeps track of resets, or using a queue of messages (event sourcing even?) with filters applied for detecting abnormal behavior.

The former is a dirty solution, dirty because you're storing junk that shouldn't be stored in a relational database and it doesn't take care of other much more important kinds of attacks on your system. Whereas the later is extensible.

So lets say that in addition to limiting the number of resets one does, you also want to limit the number of failed login attempts to 10 per hour. You may also want to limit users jumping between IP addresses, you don't want to be too strict about it, because mobile connections, but you do want to prevent multiple sessions active that use the same user credentials. You may also want your system to evolve based on taking averages out of user's past activity.

Now where does that data go? Of course it's in "some kind of data store", but that says nothing, because the log files stored on disk are also a data store.
Game of the year!

...and I'm not kidding
True. What I really meant is that safe code can interact with unsafe code, and thus cannot guarantee everything working correctly. Of course, this is bug with unsafe code, my bad.
I know the resume is just solid for today's standards, but do keep in mind that his research/work on data/ML is from 1990s -- and at that day and age this was cutting edge research, and people who leveraged this gained significant competitive advantages once they figured out how to properly execute.

I started doing ML work in 2007-8 and even 5-6 years ago it wasn't the hot domain yet that it is now.
Practical Unix
Arcane to use as the consumer of a library, or arcane to implement on your own?

The most important rule of thumb for crypto is that you'll probably mess up doing it yourself.
Jockeys, groundwater and other innovation myths
What does it take to change a mind? A phase transition
My thought too, especially when I noticed the typo:

"...similar tastes to extrapolate how much the you will like some other movies..."
The turn radius on my car is abysmal
If you read her tweets she states C++ would have been a better option, though.
Bug Report 949446: “i can see all source code of all projects”
I think we've all seen this first hand. Christmas, young kids, ripping out the shiny wrapping, the box, and then having this look 'is that it ? that was cool' while leaving the toy on the floor.

Isn't it the same for adults though ?
Asking questions about undergrad topics is a way to sneak ageism under the radar. Companies who do this should be named and shamed.
I think an Apple Tesla partnership is more likely than Apple directly competing with or buying Tesla. Sometime last year, Musk spent some time at Apple, Tesla has the patents and Apple seems like the right company to license the technology. They're also a great partner for the gigafactory because they can get laptop batteries for cheap + batteries for their electric vehicle.

Also, if you're Apple and you're interested in getting into the car game, why build a minivan? A minivan is hard to design beautifully and doesn't have mass-market appeal unless you're not trying to compete with Tesla. If you're truly interested in disrupting the automobile industry, you're creating a premium luxury sedan - the 3 series of electric cars.
What i do not understood is actually how you are not actually a lot more well-liked than you what I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed now, tay be right now. You are very intelligent. You understand therefore considerably in the case of this matter, produced me individually believe it from numerous varied angles. Its like Pretty good post. I just stumbled upon your blog and wanted to say thanks.
Attacking McDonald’s
It says "Box2D" but I am not seeing any collisions, is it just for car control?
Megaupload programmer goes to prison for one year
Apache Spark is not a one-trick pony: Going beyond in-memory processing
The World Has Reached Peak Chicken, Peak Rice, and Peak Milk
Celebrities' hidden talents
Gitlab guys found a working method to fight the git conflict on the CHANGELOG file: https://about.gitlab.com/2015/02/10/gitlab-reduced-merge-con...

Sumup:

> At GitLab we solved the above problem by adding a 100 lines with just a hyphen placeholder at the top of the changelog. People can insert their entry at a random location in the changelog. There is still a chance of conflict when two merge requests change the same line but it is greatly reduced. It looks a bit strange to have these empty lines on top so we added a comment to explain their purpose..
Well, in Team Fortress 2 you kind of do that... with deaths. You get a freezecam shot when you are killed, and "Press X to save this moment!", which when you quit the game, gives you Steam's picture uploading menu where you can name it etc.
Learn Haskell in 1.5 Hour
I attempted to install Ubuntu 14.10 x86_64 on the new X1 Carbon this weekend, and so far it has not worked straight out of the box. I am guessing it has to do with the i5500 gfx adapter, but it's all a guess until i figured out what went wrong.
Show HN: The Tab programming language
Exactly: There are two very different use-cases and audiences.

Your version-control system should be helping programmers understand the evolution of the codebase, or the reasons behind certain line-changes... especially when those changes were made by someone else long ago.

The changelog, on the other hand, is for a less-technical (or at least less-involved) audience. It has to summarize the net-change which occurs in a way which is meaningful to people asking different sets of questions. Such as: "What are the new features?" and "Did they change anything about X?"
> Everything in moderation

Including moderation.
It is basically what DAC and smart contracts are all about. Check out the Ethereum project.
Ask HN: What companies give every engineer a private office?
Or all their employees? The only one I know is FogCreek.

If your company does this, do you mind answering a few questions in the comments?

- How big is your company?

- What's the best part about having individual offices?

- How about the worst?

- Would you work at a company that didn't have offices?
Reverse engineer Apicrypt, used by french health-care professionals
Hardly newsworthy
Spot – Boston Dynamics newest robot
Same on Windows Phone. .NET is also compiled to native code ahead of time.
View Source was there in even early versions of browers. Mosaic had it. And lynx had the ability to dump the raw HTML. Most people on the web at that point also knew you could just telnet to port 80.

I would go so far to say that viewing source was the way a lot of people learned. If you saw something on the web you couldn't figure out how to do, you'd view source to learn a new trick.

I also don't think it would be a big deal to have a joke like that in your web resume. Few outside of hardcore geeks were on the web. There was no LinkedIn. Recruiters didn't use the web. Executives didn't. It was unlikely your hiring manager did & if he did, he'd likely appreciate the humor. It's like hiding a joke in kernel module you wrote. If they're the kind of people looking there, they'll have an appreciation for it.
The trick is that now the keyword return marks an early return. And as early returns are often exceptional, I find the added visibility nice. On the other hand, every function in Rust, except those that contain an infinite loop, returns something so the keyword at the end of the function body is redundant in my opinion.

Also, because function signatures are never infered in Rust, mistakenly adding or forgetting the last semicolon will always result in a type error.
Well, this distributes binaries that package managers install on peoples systems, good way to spread a virus.
I forgot to also mention -- because apt was really made to service big repositories and big installations (like the main debian repo). What works for a large, stable, heavily-trafficked site isn't necessarily the same as a small site, so small repos are second-class citizens.
How Putin is priming Russia for nuclear stand-off with the West
Makespace mentioned in the article is this one:

http://makespace.org/

"a community workshop in Cambridge for making and fixing things, meeting people, working on projects and sharing skills."
> Projects that still insist on maintaining a changelog file in git end up constantly fighting git's conflict resolution, and they make rebase almost completely unusable.

It's actually pretty simple - you keep CHANGELOG updates to their own commit, and just aggressively rebase into that commit as you prepare the release. The release owner is the only person who works on the CHANGELOG. We do that at Snowplow and it works really well. Here is the WIP commit for the CHANGELOG for the next Snowplow release: https://github.com/snowplow/snowplow/commit/a862b1e4ab935184...

When we finish a release, the CHANGELOG becomes the GitHub release notes: https://github.com/snowplow/snowplow/releases/tag/r60-bee-hu...

We are approaching 1 issue : 1 commit : 1 CHANGELOG entry but it's not always possible, and a huge number of open source software users are not technical enough to parse a git log anyway.
Commonly, to perform something like an arbitrary width addition, these CPUs have a carry flag that is set if an operation overloads, so that the carry can be added into the next addition. This way you can simply chain simple 8-bit additions to get the desired operation width. For example, a 16-bit addition (0x5555 + 0x1234 on 6502

clc
lda a
adc b
sta res
lda a+1
adc b+1
sta res+1

a:
.byte $55, $55

b:
.byte $34, $12

res:
.byte $00, $00 ; reserved for result
The article you link to does not support your claim of 8%. It mentions data "averaging 8 percent to 10 percent" but then goes on to point out that:

> Not all reports classified as unfounded are necessarily false. In some cases, women who were victims of rape were disbelieved, pressured into recanting, and charged with false reporting only to be vindicated later on—the kind of awful story that adds to people’s skittishness about discussing false accusations. Some police departments have been criticized for having an anomalously high percentage of supposedly unfounded rape charges: Baltimore’s “unfounded” rate used to be the highest in the nation, at about 30 percent, due partly to questionable and sometimes downright abusive police procedures, such as badgering a woman about why she waited two hours to report a street assault. By 2013, an effort to provide better training and encourage full investigation of all complaints reduced that rate to less than 2 percent.

The problem is that you cannot rely on a police officer's opinion that a rape accusation is false. It could too easily be based on a sexist perception of the woman reporting the crime. The rape of sex workers, women who use drugs and alcohol, and women who have many sexual partners has never been taken as seriously by law enforcement.

On the other hand, we have actual scientific data from the CDC showing that 20% of women have been raped: http://www.cdc.gov/mmwr/preview/mmwrhtml/ss6308a1.htm?s_cid=...

What we need is an equivalent study that asks men if they have ever been falsely charged with rape. My guess is that the number is quite small.
To me there is nothing major about a function returning. Every function does that. Implicit early returns on the other hand could be deceiving, but I don't know any languages that would support those.
What developers can learn from designers
Pygments, a generic syntax highlighter
Europe’s Smart Thermostat Race Is Heating Up
If we had debt slavery we wouldn't have bankruptcy laws.
It isn't a myth, it has been well documented that buying upgrades from the Apple site is significantly more expensive than elsewhere.
"I've seen everything!"

http://fixyt.com/watch?v=IURfntimnlA
Even though it is quite funny and a little cringy to know that some people don't know what Open Source is - it is not a new ticket - been posted in December 2013.
That would be a great AMA
I can't come up with a real world use for the .map function, but then I only use Arrays when I do evil things like writing optimized code. If I however would end up in a situation where I wanted to do:

var odds = evens.map(v => v + 1);

I would write this instead:

var odds = increment(evens, n);

But it's never as simple as this, evens would probably be some sort of async object and you probably want to call another function once the "incrementation" has completed.

The only thing => does is to make the syntax more complex (and ugly) by saving a few keystrokes. And even worse, it's a treatment for a symptom from anonymous functions, that you shouldn't even use in the first place. And will be used everywhere, because we are lazy. But the time saved, will have to be used for mind juggling, to figure out what goes where in the syntax.

That said, I don't think all new stuff is useless. For example Object.defineProperty (ES5) that actually Adds to the language, and makes it possible to do things you couldn't do before. Like defining a set function.
Newbie questions are good. Let there always be a lot of them.
Next next step : Counter Strike : gMaps.
Of course the only stupid comment is less than two hours old now that it's at top of /r/linux (over at reddit).
Awesome-Ionic the best resource on mobile development with Ionic framework