skysight-inc/HackerNews huggingface dataset:
Anandtech has some good 3D NAND info. I'm not positive they answer your specific question, but hopefully it's helpful.

Here are the two articles I remember:

http://www.anandtech.com/show/8216/samsung-ssd-850-pro-128gb... (goes on for a few pages after this one)

http://anandtech.com/show/8747/samsung-ssd-850-evo-review/3 (This is mostly about how 3D NAND benefits TLC)
I agree with you it'd be useful to see how you might implement lambdas in a language like C. But after that first example, implementing other more complicated language constructs in C, instead of learning ML/haskell is going to be more time fighting C, and less time learning anything new. The lack of side-effects and equational reasoning in functional languages let you get a lot of details out of your way.

That being said, this is if you're interested in the theory. If you're interested in building compilers, this list won't help too much.
Design patterns are models, something very much within the wheelhouse of engineering. Engineering doesn't always deal with absolute facts as in science. When an underlying system is too complex to fully describe, simplified modeling can be appropriate.
30% of Servers Are Sitting “Comatose”
Assuming I'm not dead, ISTM "changed conditions" would be such a fortunate circumstance, although perhaps somewhat unspecific. How have conditions changed? Have all the hackers been eliminated? Do hackers have no interest in taking down the internet? Have previously vulnerable processes been made more secure? Have previously trusted parties been removed from positions of trust? Can you fill in the blanks for us?
An antivirus definition file is a lot easier to update than a browser component that is exploited. The latter generally involves a lot more testing, whereas the former is essentially just metadata.
that's pretty much a synopsis of the article, thank you! :D
The term "overweight" does not differentiate between muscle and fat, plain and simple. You're wrong.
It was eight years ago; maybe he's learned how to accept correction more peacefully since then.
A lot of accusations in this article, which presents a very one-sided take on the issue. The author knew what they wanted to say and found information and anecdotes to support it.

Not saying that's wrong, but I think Google should have been engaged more deeply for this piece and had their side of the story represented (I'd be interested to hear what they have to say about some of these allegations). Talking to security guards (likely contractors) and expecting them to say or do anything other than their job is unreasonable. And basically accosting Google reps with all of this "evidence" and expecting them to sit down to a conversation that already had a guaranteed outcome is equally so. As it is, I'm not convinced Google is doing anything illegal here.
The flip side of this is that if you're writing something in C, you actually do have to understand how details like closures are implemented on real hardware. These are not trivial problems, yet many programming language design papers and articles effectively brush the whole issue of actually implementing these things under the carpet.

Go ahead and search for that particular example. There is almost nothing on the Web about practical, real world techniques for implementing that sort of programming language feature, despite its ubiquity in functional languages and the increasing presence of -- or emphasis on -- higher order functions and related tools in mainstream imperative languages. The same could be said of many other non-trivial language features, say laziness, or various concurrency models.

I think this is regrettable, because it creates a real barrier for anyone who's interested in learning about these features and maybe writing their own languages one day, but who doesn't come from an academic background where this kind of material was taught. It also makes it unnecessarily difficult for someone from an imperative programming background -- which is probably still the overwhelming majority of programmers -- to understand the real costs and performance implications of using these kinds of features.
> the brain does far more than performing computation

In your opinion? Can you be more specific, and give examples of things the brain does that are not computable?

This is trivially true in some senses, neurones have analogue responses, that the biology does a good (but not perfect) job of thresholding. But then, the same thing can be said of transistors. It's just we're able to engineer their analogue responses out much more successfully than evolution has. It is also true that the brain is connected to a much broader system which is undoubtedly analogue (i.e. the body), but then again, it isn't clear that isn't true of any non-abstracted computer.

Comparing theoretical and idealised computing to embodied brains might feel insightful, but it doesn't actually resolve any of the real issues in the philosophy of AI.

Also, a BS in CS isn't a good minimum qualification for competency in the philosophy of AI. I wouldn't read much into that.
If Docker's heavily screwed-up tag system becomes locked into a standard, I may as well slit my wrists now.
Recycling etc. is tedious and inconvenient (much easier just to ignore it!), so why would people do it unless society emphatically instills that it's important?
Ask HN: Are there koan-type lessons for things other than PLs
I've been rather interested in koans as a learning method, and recently I've started delving into theory-intensive topics like compilers (I have a copy of Dragon and I'm looking at buying a copy of Appel's ML book). However, I'd like to strengthen my code-grokking abilities (and a fair bit of the theory makes my eyes glaze over anyway). The only koans I've been able to find are for programming languages. Are there any koan(-type) lessons for things like compilers, operating systems, etc?
At least with SSDs, there's much less worry about your RAID 5/6 array self-destructing while it's failing over to a hot spare. With hard drives of that size, I'd only feel comfortable with full mirroring.
> Human: what is immoral ?

> Machine: the fact that you have a child .

harsh
Perhaps I misunderstand BEM, but
.box .box__header {}
seems to be against the spirit of it -- my understanding is that this naming convention exists to prevent needing to nest style rules?

I agree with your edit; global styles are probably not the best here, however tempting they may be to reduce wrapper markup and make everything simpler (to begin with)
But is the 250 GB HDD still in production? I'm guessing that's a fire sale price. I don't think drives still in production ever go below $50.
It's actually reasonable. Step 1, translate key push. Step 2, broadcast key message. What you're missing is that there's an alternate Step 1, translate joystick hat push (or mouse drag, or whatever). So Step 2 should be broadcast generic up/down/left/right input message. Step 3, translate message into movement. But what you're missing is that dependent on context, there's going to be other things besides movement that those keys do. Step 4, pan the map with N/S/E/W. Again here, you have the flexibility to work with a rotated map. Your code was probably overdesigned for the use case, but I've seen your solution many times, in books and in real life.

However, I've also solved this problem by passing around polar coordinates, it's elegant and very flexible but you have to munge some data at the beginning. You can also pass around a simple vector [{-1, 0, 1}, {-1, 0, 1}], which is basically what you describe.
Ha, I remember that from not long ago.

That's a _bit_ extreme though. Let's start with C, the portable assembly language. Having said that, now that WebAssembly is on the cards (boo, hiss), we'll have many more of these from-the-ground-up affairs.

re: reddit thread: that Kragen, name is familiar...
Norway's Wonderloop just closed the world's first funding over Snapchat
I'm not sure if it satisfies all your needs,
but Scheme 9 from Empty Space is a full R4RS Scheme implementation written from scratch in pure C (and Scheme).
It has a heavily commented source code and a book, which is supposed to be quite good.

Here are some key points from the website which the book addresses:

- How does tail call elimination work?

- How is macro expansion implemented?

- How is arbitrary precision arithmetics implemented?

Enjoy! http://t3x.org/s9book/index.html
fyi, if you check the front page, you see that last time gatling was updated 2012-11-02
What incentive would an employee have to leave company A just because company B also offers the same "nice" salary and work environment. The advantage of offering the training in the first place is you GET the employees to come to you, then as long as they're compensated they will have no reason to leave after training is complete. It's a win-win for the employee and employer.

You for some reason seem to hold the idea that after training, some other company can just come in and offer more money. Why?
What do you mean?
"The laws on prostitution in Sweden make it illegal to buy sexual services, but not to sell them. Pimping, procuring and operating a brothel are also illegal. The criminalisation of the purchase, but not selling, of sex was unique when first enacted in 1999, but since then Norway and Iceland have adopted similar legislation, both in 2009."
https://en.wikipedia.org/wiki/Prostitution_in_Sweden
"When dealing with a sequence of length N, the elements of which we wish to distinguish by subscript, the next vexing question is what subscript value to assign to its starting element. Adhering to convention a) yields, when starting with subscript 1, the subscript range 1 ≤ i < N+1; starting with 0, however, gives the nicer range 0 ≤ i < N. So let us let our ordinals start at zero: an element's ordinal (subscript) equals the number of elements preceding it in the sequence. And the moral of the story is that we had better regard —after all those centuries!— zero as a most natural number."
Since there's no real reason to break this promise, I'm guessing it's a symptom of speechwriter/teleprompter politics.

I guess you can't expect that most of the words from a politician even made an impression as he orated them from the scroll/earpiece, less that they'll be remembered, less that they reflected any authentic intent or belief.
If you use Bootstrap's source files, you'll have granular control over the framework's weight, since you can simply exclude the components not used in the project.
Haha. This is awesome.
This is great. Reading (and maintaining, refactoring, improving, etc.) obtuse code is often much more difficult than a fresh slate. Its also a major real world requirement. Where is that statistic on number of engineers doing maintenance vs greenfield development?
Docker-based solutions to reproducibility in science
And it seems that Solus is the first distribution to adopt it.
http://linux.softpedia.com/blog/solus-is-the-first-os-to-get...
> Let's imagine that tomorrow I come up with a magical super-reliable method of interviewing, which works better for most jobs than existing specific methods.

If you can demonstrate this is the case for the specific jobs where you want to apply it, you will then have no problem, even if it has a disproportionate negative impact on a protected class.
it's effectively what apple has been doing in OSX with .app
FB's getting so good at recognizing people it doesn’t even need to see your face
10 Pro-Gun Myths, Shot Down
Actually, there seems to not really be any legal issue with IQ testing job candidates (in the US), and plenty of companies do some kind of cognitive testing: http://econlog.econlib.org/archives/2013/07/three_big_facts....
Haha, Microsoft’s Windows 10 Upgrade Path for Pirates Is Confusing as Shit
Microsoft probably wants people running containers on HyperV/Windows Server machines, the way they currently contribute patches to Linux so people can run Linux VMs on HyperV/Windows Server.
The shift to 401K is more about the financial industry rigging the system so that they have more of other people's money to play with. Need a bigger slush fund? Lobby Congress to make pensions unfeasible through carefully constructed legislation and wait 10 years for the payoff to start rolling in.
Computers can simulate electrical and chemical interactions, given enough computational power could you not simulate it at that level?
> The flip side of this is that if you're writing something in C, you actually do have to understand how details like closures are implemented on real hardware.

If you're writing a compiler targeting real hardware and not a high level virtual machine, you'll need to learn how to implement closures regardless of the "host" language you write your compiler in.

But you're correct, when implementing an interpreter, it's so much easier if you have a garbage collector and an object system of some kind at hand. You'll have to implement this yourself if you're working with C.
A for profit company isn't benefiting from those activities, though. I can easily see a situation where a less than scrupulous company brings in a bunch of candidates to do this in order to get free labor.
> Leaking value into the competitive environment in which you're trying to survive will kill you

Taken to the extreme, sure. But every voluntary interaction necessarily "leaks value", being non-zero-sum.

This word "training" keeps getting used, and I think it's at the heart of this disagreement - viewing learning as a discrete top-down event as opposed to a continuous process.

GP's example is akin to an employer paying for a bachelor's degree. My comment is easiest thought of in terms of company-specific processes. For any specific 'skill', the truth lies somewhere in the middle.

Software is a bit of a rare case where most tools are highly complex, but are also freely (as-in-beer) accessible. Tool choice is heavily driven by fashion, yet fashion being foreign to our worldview we're blind to this. Is $software_package a fundamental that every college graduate should know, or basically equivalent to an in-house framework? Who knows...
I'm convinced Daniel Dennett has a word for it and I shall find it!
Honestly it seems like the many layers of indirection would be a much bigger problem for complexity. It may not be bad in this situation, but it certainly takes more mental effort to comprehend than seeing a corresponding "right", "down" and "up" for every "left".
oh man that's beautiful - did you use webkit or native?
This is the real answer. The restrictions on functional languages that make them (perhaps) harder to use for everyday programming makes them much easier to reason about and prove properties of.
You're not wrong, but if you look at the problem that Glacier is trying to solve then it doesn't look so bad:

1. Glacier is competing with tape. So for potential customers, if it's easier to acquire and maintain than your own tape library then that's a win.

2. In the words of James Hamilton the use case for Glacier is referred "jokingly to as Write Only Storage". If you're using Glacier for disaster recovery then paying a one time cost to retrieve a bunch of data pales in in comparison to the potential costs of not being able to recover your data.

3. Is nearline actually superior for the case of "oh shit I need to retrieve everything right now"?

4. AWS already has this cloud storage thingy called S3 and it has reduced redundancy storage if you're looking for something slightly cheaper.

http://perspectives.mvdirona.com/2012/08/glacier-engineering...
> Even today, many serious online intrusions exploit flaws in software first built in that era, such as Adobe Flash, Oracle’s Java and Microsoft’s Internet Explorer.

Isn't that like saying "Many accidents happen to models of cars first built during that era?" Just because they debuted then doesn't mean they are substantially, or even remotely the same thing. How many complete rewrites of Internet Explorer have we had since then?
Nice. Haven't tried Skeleton. Maybe this is a good compromise. Thanks
I was mainly commenting on the OP's position that the author was 'not trained in CS'.

Here is a list of things I believe that the human brain performs outside of computation:

The irrational motivations that take us over when we feel love. The way that our mood can affect a decision. Taking a walk to enjoy the beauty of the sunset. Writing a satirical short story to express a political fallacy. Painting an image that we saw in a dream. Using metaphors to explain an idea or to validate an argument. Telling a joke and understanding why it is funny. Buying a shirt because it looks cool.

There are many more. But to me, there is definitely more to the mind than simple computation. There is a quality to our experience that is completely lost when our inputs and outputs are equated to the workings of a digital computer.
Is this going to end up making it even harder for me to get to an actual human on the phone?
I couldn't always predict when a call would come in over something and the only "quiet" space available is out in my car. It wasn't always a good option but I would go out there if I had to call someplace about a bill.

I was mostly surrounded by customer phone support people so I doubt I was distracting them.
A better link for tis-interpreter is http://trust-in-soft.com/tis-interpreter/

I was going to advertise it more at some point, but I just announced it here and already we are saturated with new OpenSSL tests that the interpreter cannot digest yet: https://www.mail-archive.com/openssl-dev@openssl.org/msg3930...

My personal trajectory would make no sense if tis-interpreter ended up as an advertisement. It may end up helping convince the general population that it's possible to detect all practical undefined behavior in a useful C program, by giving everyone access to a piece of software that does it along one execution. Then TrustInSoft will only be asking its more dubitative prospects that its other products can do it for all possible input vectors, instead of just one. I'm not even claiming this is an unintended consequence. But tis-interpreter will be a self-contained, useful product for the largest number. You have my word.
I don't get the complaint here.

Are you saying that it wasn't amateurish? That somehow holding the president responsible for his branch of government is loaded? That most members here (at least most Americans) didn't support Obama?

Funnily enough, you call voices critical of Obama in a similar fashion to grandparent "propaganda" pretending like there's no debate to be had around this and no opposing positions involved, and not arguing in defense of this. You pretend like there's no debate of the subject and lead us to agree with you.

Does this kind of pandering-to-a-position have a name?
Magnetic mirror holds promise for fusion
Oh, I agree with this. "Interesting" was a poor choice of words. It's definitely interesting but then again, as you say this changed in the past decade or so. Getting introduced to a new topic by exploring the latest state of the art without going through the basic theory first isn't a good way to learn most subjects.
You can completely ignore objects. Nobody ever uses them

This is an oft-made statement about OCaml, but it simply isn't true. 0install and Opa are two major projects that use the object system, for instance.
Don't worry about the "web of trust". Typically this would just mean that your company publishes signed containers, and your company's servers can verify those same containers.
First Rust Program Pain
I just got a 250GB Samsung EVO SSD. Filled it up in a matter of weeks by installing some of my favorite games from Steam. I'm looking to add a 500GB to my build, but I should have STARTED with a 500GB.
Is yours post-first-gen? I had a first-gen and it was sluggish + sounded like a jet when I was viewing any websites with Javascript :(
If the court ruling he quoted in the article is right, they are.
Google Adwords has been around long before realtime dashboards were commonplace for those type of systems
But that simulation still ignores a certain qualia that has grown from our existence. There is something else happening that we don't understand and I think it is a bit short-sighted to assume that we can simulate it, definitely not now, and possibly never.
There hasn't been another review cycle, but my expectation is that it will be proposed for merging again this time around. Should be interesting to watch...
You misunderstood the premise. The first company pays $91k after training. So it's not $111k, it's $100k during training, then $91k after that. More competitively, it would just always be $100k and the second company would have no advantage. In fact, the first company has the advantage because it will be easier to initially find the people that need training.
Really?

I feel like C fits my brain, know what I mean? I don't even think that it was because I learnt it early on. It's a simple language, I feel.

Why is programming way easier in Ocaml than in C? Setting aside that for me programming is way easier in C than in Ocaml because I know C and don't know Ocaml, what is it about Ocaml that is way easier than C?

Anyway, my original point is that it is _cheating_ to explain how to build a Lisp by saying, "First reach for your nearest functional programming language". Useless car analogy. Today I'm going to learn how to build a car. First, take the engine from my Toyata... oh... um...
This is also true for hard drives. Fragmentation and filesystem layout make performance of a 95% full partition on an HDD much slower than a 50% full partition.
> When I ran an HDD, I wanted a TB. Now that I'm running SSDs, 80 GB seems to meet all my needs (thanks to changes in internet services).

You seem like a very atypical use case. You can't be playing any of the modern AAA games, for example.
"And in the example with the try-catch I would have wrapped it around the loop anyway."

It's very likely that, in reality, you would forget the exception could be thrown until it happened in production.

So the advantages of the Haskell type system and purity guarantees, I think, often come down to the compiler preventing you from making certain errors that don't surface in other languages until you run the program. (Disclaimer: not a Haskell programmer.)
But, but, ... why? Who cares what you do in your own time? Read, code, golf, fly, whatever. If anything, shouldn't they be happy about it?
Or maybe it'll be good enough that you won't need one!
Judging by the context here, I'm guessing that they're implementing a virtualization API that's capable of creating VMs which run anything an x86 processor can run.
Yeah the M50s are awesome! Two of my friends also have the straight cable which introduced me to AudioTechnica, and I ended up getting a pair of ATH-PRO700MK2s.
It seems like you are the one speculating . . . about the author's credentials.

Also, the fact that thinking includes computation does not imply that computation includes thinking. There is a strong case that the brain is a computer, but really no one knows. Even if the brain is 100% material, there are people who argue it cannot be simulated on a computer. In part what we're talking about is the Church-Turing Thesis, which is still just a conjecture.
The real difficulty, or rather the real subtlety, is not nesting but name binding and the automatic renaming of bound variables where necessary.

If you're trying to understand what a closure does, perhaps that's true.

If you're trying to understand how it does it, and you come from an imperative programming background where you know the ABIs for your languages like the back of your hand and are used to the kind of function set-up that always allocates space for local variables on the stack, there is a huge question of how all that lovely, neat theory is actually implemented in practice.

Some of this discussion reminds me of the jokes about professors who prove that a solution to some elegantly expressed problem must exist, but then lead it to the grad students to actually find it...
Babel in Khan Academy's Internationalization Toolchain
If their market value isn't $111k, why would the competitor pay that?