skysight-inc/HackerNews huggingface dataset:
Oh indeed. I did not know about this, thank you very much.

I came up with yet another, truly weird plan. Take a 2-platter disk with 500GB (so 250GB per platter), scratch off the label. Modify the firmware so that:

a) both platters are encrypted with a hardcoded, generated-at-lowlevel-reformat secret key to delay forensic efforts

b) the ATA identify and other ID values point to a 250GB drive (half the original capacity!)

c) the bootloader is two-staged, boot0 running on the HDD CPU and boot1 running on the host before the OS bootloader. If e.g. a specific key is pressed during boot, boot1 asks for a password and gives this password to boot0 (e.g. via custom ATA command). boot0 now uses this password to apply a second decryption to platter1 - so there is no TrueCrypt or anything on the "hidden" OS which impacts performance (you can reveal if you're using TrueCrypt via a sidechannel attack. Determine the HDD model and compare write speed with a reference value. If you're inside spec - no crypto. If you're slower - crypto).

If no key is pressed, then boot0 boots the bootloader from the unlocked platter2 - the "clear" OS will have no way of seeing the data on platter2 and even if the reported HDD size is compared with the specifications of the (manipulated!) HDD model name as reported to the OS, a malware has no way of knowing that this HDD in fact has a hidden area.
How do you get your engineers to look at pull requests?
I'm working with a team that has around 20 engineers and we're running into a problem getting engineers to look at pull requests. We've got 24 open right now and it's been like that for a week.
What kind of things do you do to encourage people to look at pull requests?
Slight uptick, but no, your trivially verified premise is in fact false:

https://books.google.com/ngrams/graph?content=cafe%2Ccaffe%2...

Though the pre-1820 popularity of "cafe" is an interesting story itself I'll leave to the enterprising reader:

https://books.google.com/ngrams/graph?content=cafe&year_star...
Big-ass induction coil... bet it would do a quick number on a credit card. Or a thumb-drive... or a phone... "Oh, is that one of those induction battery chargers?" fzzzzt!
Love this page. It's in my bookmarks as "Sierpinski WARNING" in case I forget it basically takes over my entire machine when it loads.
Ngram viewer supports you on "St. Patricks Day" (though "St. Patrick's Day" shows less growth):

https://books.google.com/ngrams/graph?content=St.+Patricks+D...
I would extend this further and suggest you challenge yourself by following your interests. If you happen upon a C++ graphics library that your favorite game is built upon, your curiosity will be enough to propel you forward and learn new things based purely on intrigue.

If ultimately you go the route of wanting to learn a particular programming paradigm, I would still encourage you to try to solve a problem that resonants with you personally. The problem itself becomes the method by which you learn programming and not the other way around.
I think this is usually called a ticket-granting-ticket.

The key details are how to authenticate the client to the middleware and setting expiry and anti-replay on the ticket issued to the client.
Makes me wonder if this is why i find the whole "devops" concept to be raising my hackles.
> I would think the onus is on the one who used it first to define what they meant by it :-)

That's a very fair criticism.

My writing is muddy, for sure. Let me try again. You ask:

> But if the machine that stops when it has proven ZFC is inconsistent does not halt, then surely it means there is no proof of the inconsistency of ZFC? Hence ZFC is consistent? Which is contradicted by Godel.

I do not think this is contradicted by Goedel. Goedel's theorem implies that ZFC can't prove its own consistency unless it is inconsistent. So, how can this machine that searches for an inconsistency in ZFC (by enumerating all possible valid ZFC proofs so that for any proof p, there is some time t such that the machine checks p by time t) run forever, thereby proving ZFC consistent?

It is by the unprovability in ZFC (unless ZFC is inconsistent) of the fact that this machine will run forever.

The fact that this machine will run forever implies the consistency of ZFC, and the consistency of ZFC implies the machine will run forever.
Bitcoin wallets can have their source code audited. A blockchain that you accept regardless of the fact that there is a taller one is not audited by definition.
More on "globalization" -- late 1990s onward:

https://books.google.com/ngrams/graph?content=globalization&...
Indeed, I've tried several MGP-sourced ryes (knowing that they came from MGP), and found them to be good products. What bugs me, though, is the marketing BS that's thick enough to lay on with a trowel.

The central problem, though, is that whiskey is an unpredictable business, compounded by the necessity of aging the product. Rye lurked in the shadows for a long time, then suddenly became trendy. The result: crazy price jumps, proof reductions (I'm looking at you, Wild Turkey), and everybody and his brother jumping on the bandwagon. Unfortunately, that results in a proliferation of me-too products, and separating what's real from what's BS can be a chore.

I'm still wishing I had gone with my gut feeling and bought a case or two of Rittenhouse Bonded rye back when it was cheap.
Is this somewhat similar to how Audyssey's MultEQ (which my surround receiver has) works? What is your opinion of that product? I can't imagine it uses a very expensive microphone. The receiver was only about $500.
This is a very big breakthrough in medical line
The publishers send out review copies to people. Sometimes they get 5 stars, sometimes they get three. The publishers don't tell the reviewers to give them five stars, they ask for an honest review. Do they send lots of books to reviewers that tend to give five stars, probably, they aren't gluttons for punishment. But that's a far cry from fake accounts.
There was a contest to produce programs generating large numbers in a version of C with integral types that hold arbitrarily-large integers: http://djm.cc/bignum-rules-posted.txt

You can see the results here: http://djm.cc/bignum-results.txt -- there's some interesting stuff in there!
There is no word for prejudice against a culture because we don't have the same consensus that's axiomatically evil. And if we did the developers would not be guilty of it. The policy is insensitive, capricious, heavy-handed, and stupid, but it's not driven by developers' opinions about native american bloodlines or even names. Calling it "racism" is an accusation of a uniquely dangerous kind of malevolent prejudice.
People are afraid the microwave will irradiate the water. Not really logical but it's hard to convince someone otherwise and since the alternative - putting a pot on the stove or turning on an electric kettle - is also pretty fast and convenient, there's not a lot of reason for them to switch.
At UPS, the Algorithm Is the Driver
Every time I see someone quote that JavaScript was designed in ten days I cringe.

JavaScript was designed in 1995. It was standardized as ECMAScript in 1997. Ever since then, it's been under active development by a thriving community of engineers pushing for better standards.

It's been a bit longer than ten days.
I always use the microwave, but some people think that makes the water taste funny. Maybe their microwave is so filthy that it does make the water taste funny.
Also in logic. Not something is never equal to not the same thing.

A bird is not a rock. A computer is also not a rock. Clearly not equal to each other.
> It might be. But we don't actually know how HN's voting algorithm works (secret sauce), and we do know for a fact that the HN staff will manipulate vote gravity in order to make the content of a thread more accurately reflect 'quality'. So it's not exactly ironclad evidence of government vote rigging, when Hacker News is a black box which is rigged by design.

> It's also not out of the realm of possibility that more people who agree with yeahyeah's point of view have upvoted him than people have upvoted other threads. And this is a long thread, so the effect of commenting and upvoting throughout may be cumulative. And some comments in other threads have been downvoted into near oblivion.

So because there's no absolute proof, he's not a shill. How about deciding what's more likely? What is more likely: that this post was voted to the top despite lack of support in the thread, or that a circle of upvoters voted it up? Remember, it is a LOT easier to hit that upvote button than to make an actual contribution to the discussion, so you would expect to find that a ring of shills would operate in that fashion. One posts, as that takes actual thought and effort, and the rest upvote.

> Actually, I would argue that is democracy working as intended. The government has the right to present its point of view and try to convince people to agree with it - that is literally how democracy is supposed to work

If they want to convince people of their point of view, then why can't they do it legitimately?

Do you somehow think that this sort of behavior isn't subversive? That it doesn't work? And that makes it okay for the government to manipulate public opinion in this way?

It's okay. I can't believe you think that. There is one hell of a difference between presenting your own point of view and having thousands of fake people presenting the views that they are paid to.

> I think a more effective countermeasure would be to examine the evidence of the arguments presented and call out lies when you encounter them. Attack the comment, not the commenter, particularly since you're never going to have more than suspicion and confirmation bias as evidence.

No. Doing both is much more effective. Otherwise they control the first posts, they make a sense of a false consensus in their favour, and these things really can influence how people think. Don't believe me? Research it yourself.

I would much rather people make up their own minds instead of being tricked into thinking what the government wants them to. I still find it hard to believe that I live in a world where the latter is what actually happens.
Survival of humanity is an arbitrary, made-up goal, from a materialist perspective, anyway.
Guaranteed Approved Car Loans with No Credit
No, AnimalMuppet is correct. We are unable to value the survival of mankind as objectively good, as we have no empirical evidence to do so (more accurately: we cannot infer an Ought from an Is).

See this for more on why: http://liamk.org/is-love-real/

Our options are Nihilism/Zen/Absurdity or Theism. And if the former is true, it doesn't matter if we hold the latter. As CS Lewis put it, if the Theists are wrong after all they would have merely paid the universe a compliment it would not have deserved.
I, too, really love Elm, and have worked on some tooling for getting it running on the server. (Self promotion ahead). I wrote an NPM module for compiling and loading Elm[1], and also put together a more comprehensive project for scaffolding an Express application to communicate between Elm in the browser and Elm on the server, via ports (this is the first time I announce it anywhere, since I want to have some full examples before anything "official", but it is usable today).

1. https://www.npmjs.com/package/elm-loader

2. https://www.npmjs.com/package/elm-expressway
A bit obvious, but it's the obvious things that are the most important and sometimes get missed for all the 1%-winnings that people chase after to make themselves look good.

Although over-quoted, this is useful: Einstein once said "If you can't explain it simply, you don't understand it well enough." This is very true.

You can apply that quote to everything you know.
You should be linking directly to the product webpage for a Show HN.
There's also this really ugly aspect of the ship vs. art spectrum:

ship ------------------------> art ------------>

At the most radical "ship it" end of the spectrum, you get things like nightlies. It's difficult to ship more often; you know when you're shipping a little bit too often because your bug database tells you. There's a real limit there, where you just can't ship it any more often than you already are.

At the "art" end of the spectrum, you can spend months refining a product and never really know if you're done yet. It's completely open-ended. Your bug database will never be empty, there will always be another feature request, and you can easily end up working on version 2.0 when 1.0 never even left testing. You can go forever in the "art" direction.

I agree wholeheartedly with the author's complaint. I spend most of my time interacting with end-users of software and other engineered systems. People are really frustrated. I keep trying to communicate their frustrations to programmers, but programmers keep blowing it off: "oh, people just hate change, they'll get used to it"; "they should update more often, we fixed that bug right after the software was released".

I used to expect there'd be some kind of backlash at some point, but now I think it's worse: a lot of people gave up, they just don't expect trouble-free software anymore. It happened just the other day with a bookkeeper who visited a client's office while I was there: "this will just take a minute ... oh, Quickbooks updated ... oh, huh, it needs me to re-enter all that information I entered a while back ... I'll have to look that up ... oh well."

And it's not just the end-users. Programmers expect software to be broken too. They almost relish it, it seems. "That's just how it is, fix the bug yourself" or "it works for me" are both common responses that completely dismiss complaints from other programmers.

New terminal code could be really awesome. I would love to be able to just drag-and-drop files between terminal windows and have them automagically scp stuff between servers. I'd love to have the ability to open a remote server log file in my local text editor and get everything syntax-highlighted for me -- tailing mail.log with live syntax highlighting in Sublime? Oh yes please.

I do think some infrastructure is getting attention. Containers are (maybe) some progress, AWS has been a huge revolution for a lot of people. But yeah, there also seems to be a lot of popular technology right now that isn't really advancing the state of the art very much, while a lot of nuts-and-bolts parts of the industry are really suffering.

...I forgot what my point was supposed to be.
This is not just the last several years.

It comes from a slogan that was popularized by Eric S. Raymond some 18 years ago:

http://en.wikipedia.org/wiki/Release_early,_release_often
All things in moderation..

To me, "ship it" as a philosophy means the most important thing we do as developers is deliver working code to customers.

On my team, when we encounter a concept that is just too complicated to ship right away, we try to branch-by-abstraction and keep shipping changes, even if the feature isn't "ready" yet.

To me, the marginal returns on trying to be right diminish more rapidly than the returns on making it easy to fix to stuff when I'm wrong. Maybe I'm just not as smart as everyone else here, but it seems to work.
Replace US with Russia and the comment still fits perfectly. I don't disagree with much of what you say, but there are others who are just as bad or worse, just on a much smaller scale
Sophistifunk's mention about it being a bot is most likely the case. Frequently drop shippers will source (site scrape) from one website and sell on another.

A good example would be purchasing (used) books from AbeBooks.com, and cross-posting to the Amazon.com marketplace for sale with a markup. Sometimes their prices may come out lower and actually result in a sale.

Chances are this bot scraped this book from another site (among many others) and re-posted it to Amazon with this markup.

Side anecdote: Ever seen posters around town claiming you can "make $X / month, working from home!" ? Sometimes these are drop shippers. They cannot always ship orders directly to the customers that purchased them due to whatever security restrictions may be in place from where they are actually purchasing their merchandise from. Instead they hire folks to receive packages, slap a new shipping label on them, and send them back out.
Seriously, congrats on writing and publishing your book. I'm in the process of proofing a similar book for a colleague that (funny enough) was signed by Manning, but he decided to buy back the rights and self publish.
How many of the first ten days design decisions have been reversed by subsequent standards?
Butterfly Network Raises $100M to Bring Deep Learning to Medical Imaging
Memex – Most powerful engine for dark web by DARPA
Money is not there with smallish clients. You should work for F500 companies as a C2C contractor. In the silicon valley, most jobs tend to be contract to hire. It is common to see 6 to 12 months contract gigs in the vallet. Wheras on the east coast, long term contracts (like 3 years) is very common.

If you are in the valley, GE San Ramon is hiring lots of big data guys. I know via an external recruiter that some big data architects are making $135 per hour C2C. Sure, they may ask you to become full time; however, if you talk to the hiring managers, they can keep extending the contract.

Here is how you shud do:
1. Stop working on 1099/W2 contracting crap
2. Do C2C with the primary vendors, which requires Incorporation docs, tax-id and $400 Insurance per year from that techinsurance
3. Some companies dont like subcontracting. So, primary vendors want you on W2, and you simply say No to those primary vendors.
4. Some vendors, even if the client insists on W2 subcontracting, are happy to give you C2C, by telling the client that you are on W2.
5. Yes, feel the market for rates. You can easily charge $125 per her C2C in the valley with all big data drama: kafka, camus, java, etc.
and Americans and their proxies killed 206,000 in Iraq.
https://www.iraqbodycount.org/

We all have blood and viscera and fragments of bone on our hands.
Yes, experience is in the 4-5 year range. I don't know what their previous stock compensation (at earlier companies was before they made the switch). I assume that that may have had a role to play in these numbers since it would be virtually impossible to hire someone by giving them less stock than what they already have.

That said, there's a sufficient sample of such folks that I am very willing to believe that such numbers are entirely reasonable, and not hard to get.
Considering that it is natural for humans to lust after power I can tell you what I think is the most likely outcome.

I think we're already seeing it form today and it's infancy doesn't detract from it's long-term danger.
Containers, Servers and Ninefold
Mathematica has important whitespace for indicating multiplication, and it's not clear what counts as a keyword, so here are 80 copy-and-pasteable characters:

u[n_][a_][b_]:=If[n==0,a b,Nest[u[n-1]@a,1,b]];Nest[u[#^#^#][#]@#&,9,u[99][9]@9]

u[n][a][b] gives a (Knuth's up arrow)^n b.
The after-the-semicolon expression computes

f(f(f(f(... u[99][9][9] fs total ... f(9) ... ))))

with the function f(n)=u[n^n^n][n][n].
This clearly results in a finite number, since it is just iterated iterated iterated iterated ... (finitely many "iterated"s) ... iterated exponentiation of finite numbers.

However, even when I try to compute (after $RecursionLimit=Infinity)

Nest[u[#^#^#][#]@#&,2,u[2][2]@2]

my kernel crashes. This number is BIG.

There is one obvious way to make this number even bigger: make the base case yield a^b. However, then it's not Knuth's up arrow notation, so it's harder to debug by looking at the wikipedia page :). I used all my tricks (like using @) to get rid of extraneous characters, which gave me space to put #^#^# as the first argument of u. I still had 1 character remaining, so a 9 became 99. If you can squeeze a few more characters #^#^# and 99 should be substituted for u[#][#]@# and 9.

https://en.wikipedia.org/wiki/Knuth's_up-arrow_notation
Given that the ECMAScript community has (for good reason; "don't break the web") decided to avoid backwards-incompatible changes, that necessarily places a limit on the amount of "fixing" they can do to the language. New or enhanced features are okay, rectifying mistakes is harder.

(This isn't just a JS thing; go talk to any random Python developer and ask them what they think of Python 2 vs 3. There are tradeoffs to both approaches.)

http://www.2ality.com/2014/12/one-javascript.html
I enjoyed that far, far more than I expected. His intro from the index:

"So I was me and I was in math class watching paint dry it was starting to crack when suddenly I realized there was a page for which the internet was invented. I set out to create that page, ultimately succeeding with the sierpinski triangle page to end most sierpinski triangle pages ™.

...

So while the sierpinski triangle page to end most sierpinski triangle pages ™ purports to be some kind of exploratory rundown of the Sierpinski triangle, it's also a fractal expression of just how carried away I get..."

It's math like I like my music: when the author takes the subject seriously without taking themselves too seriously.
Ah could point! I could even imagine scenarios about pre-fecthing content (say loading the next page that may never be viewed) and throwing it in RAM. Definitely would not be good for battery life.

Cheers!
Maybe that depends on who's uttering the phrase and what it means to them. Some points in the space:

- "Devops" as a movement encompassing the ideas that developers should not be walled off from operational realities, and that software operations tasks should be encoded as repeatable, testable software (vs ad-hoc stuff a sysadmin does on a box somewhere).

- "Devops" as "oh look, we can hire less people and just get some 'devops' to do it all."
The stupid thing about IEEE NaN is that it's not equal to itself! If variable x holds a NaN, then (x == x) is false.

This violates: http://en.wikipedia.org/wiki/Law_of_identity

If (x == x) tests false, then it asserts that x is not itself, which is logically preposterous.

ANSI Common Lisp has a bit of this problem in it too, but it's not required; it is there for some weird historic implementations. That is to say, if x holds a number like 1, then (eq x x) is not required. (But in sane implementations it does yield t; and it yields t even if x is a bignum, because (eq x x) is given the same object as two arguments. Two separately computed bignums of equal value will likely, of course, not be eq.

How this can be explained is that eq tests "implementation identity", and somehow different instances of a number are treated as different implementations. Argument passing is by value, and the two reductions of the expression x in (eq x x) to a value somehow produce a different implementation of the value.

This rationale is unrelated to IEEE NaN-s, though.
I used to make 3-D Sierpinski Tetrahedra out of wooden dowels and hot glue; after a while I found that five minute epoxy works better.

I'm going to take them up again soon as I have found a fancy furniture shop that would like to retail them for me.

I've always wanted to make them out of pyrex glass rod however it would be quite difficult at first. I do have some glassblowing chops though.

http://www.warplife.com/mdc/books/schizoaffective-disorder/v...

The photograph is taking looking upwards at one suspended from the ceiling. I would wind them up then let go, gravity lead the string to unwind, quickly at first then quite slow. It's a very pleasant phenomenon.

I may make a very large one for Burning Man this year.
Most of the startups in NYC are going to do much better, they are profitable AdTech, Fintech, Fashion startups. Or the occasional ecommerce play. I would say in general less Facebooks, here but more profitable companies
All I can say is, thank you.