skysight-inc/HackerNews huggingface dataset:
To PGP/MIME or not to PGP/MIME

TL;DR: PGP/MIME has some serious flaws. I propose specifying an alternative method for PGP-encrypting e-mail (including attachments) which improves security while being backwards compatible with legacy ad-hoc PGP encryption, air-gaps and webmail plugins.

https://www.mailpile.is/blog/2014-11-21_To_PGP_MIME_Or_Not.h...
'Being homeless is better than working for Amazon'
The ThinkPad series (T400s, X1 Carbon) has the best Linux support; kernel developers often use them. But they're out of your price range. Maybe you can find a deal on a T400, though?
Show HN: HN Notifications, Score-based Hacker News Notifications
I must have watched hundreds of hours of Chespirito when I was a young boy in Honduras back in the 1970s, I even remember having comic books of El Chapulin Colorado.
Music publishers finally pull the trigger, sue an ISP over piracy
Resist complaining about being downmodded. It never does any good, and it makes boring reading.

https://news.ycombinator.com/newsguidelines.html
Would an individual have been chosen for sterilization if:

1) He was born with a markedly pointy head, which caused much consternation to his parents and relatives.

2) Was developmentally backward. Notably, he failed to acquire language skills for a significant period during his early childhood.

3) He was educationally subnormal, showing signs of what would now be diagnosed as ADHD,and drugged into a stupor.

4) Was bone lazy. I believe that 'schweinehunde' was the informal term used at the time for this condition.

5) Was disobedient and rebellious, or one of those 'malcontents' that perennially threaten to upset the applecart of society (the term 'hooligan' enjoyed a brief vogue for describing this condition).

6) Was Jewish. The eugenics movement designated Jews for mass sterilization, along with Blacks, Poles and the 'bloody Irish' (but then again, these were the same dolts who thought that sterilizing homosexuals would somehow serve to 'keep the race pure').

Albert Einstein was a prime candidate for this preemptive culling.
The best demon would simply answer "you intend to do the opposite of whatever I tell you." - this would most accurately define the future state of the universe.

Alternatively, the demon could say one thing, and send a delayed timestamped message with the opposite.
Turing’s Spirit Hovers at a Restored Estate
To me, Ramda is just "underscore, but with a sane API". Never again am I going to guess whether or not this particular function mutates a random argument or not.

Thanks, authors!
Taig download to iOS 8.1.1 jailbreak and taig cydia downloadpangu8
Stick with thinkpads and checkout ThinkWiki[1] to make sure that there are no oddities you are not willing to work through on the model you want to buy.

The Dell XPS Developer Edition[2] comes with Linux installed, and has supported binary drivers from Dell. Just a little outside your price range.

[1]: http://www.thinkwiki.org/wiki/ThinkWiki
[2]: http://www.dell.com/us/business/p/xps-13-linux/pd
> Chaos is the effect you get when you can't measure something accurately enough, or you can't (don't have enough computational power) to run a perfect reality simulation with those measurements (even if they're good enough in theory to form the basis of an accurate prediction) in reasonable time, or both.

Chaos theory with regards to information doesn't take multiple observers into account - where the observers actually change the how the information is related and moves. If you can measure that, then it ceases to be chaotic. Whether that's possible (inferring intent), I am not sure.

> If there is free will that transcends physics, then prediction is fundamentally impossible by something bound to physics—so it's a thought experiment where some things are bound to the laws of physics and others are not. What is the purpose of conducting thought experiments about the physical world, based on supernatural axioms?

I think these theoretical suppositions are based more on a fear of something that people imagine to be real, and may be real. Instead of supernatural beings, suppose there are people that define the world, and people that live within the definition. The fear that the groups are mutually exclusive leads is directly analogous to the philosophical problem.

> "Free will exists," the claim goes, and yet "here's a thing that can collapse free will and issue arbitrarily accurate predictions on human behavior." And then, "Let's see what happens when these axioms are applied to someone in the physical world choosing whether to try to make more money or less."

The thing always depends on states of mind, explanations, the pretense of logic and maths, which ultimately convey themselves to me as rhetoric. There is mind, and there is the world.

Instead of considering discrete points in which perfect knowledge is known, I'm more concerned with rates of information flow.
And dead ends.
For over a decade I've heard that SPA and server-side JavaScript is the future. I always believed JavaScript would carve out a place on the server side, but I've always been skeptical about SPA given the often terrible UX and SEO. And besides that, most sites are better off being served statically from a cache.

tl;dr Wake me up when even 5% of sites are SPA.
It's not, and I was mildly annoyed to discover that I had clicked on an NSA link instead of an HN link.
The person who wrote this seems reasonably intelligent. Why did he work at Radioshack for so long if it was so horrible?
I've not used trailblazer myself but I've utilised some of the concepts or similar ones on existing projects and green field projects.

I think the answer to 1. would be hard to express without getting deep into a specific complex application and most people don't want to open source their business applications, especially not as an example of bad code. It would be awesome if someone refactored a typical problematic large Rails app in the open using these concepts. But it's a lot of work/risk just for the greater good.

2. I'd suggest that the newer devs are going to find it easier navigating a clean codebase (with architectural complexity) than a well established Rails app with a lot of the code smells and complexity that come with going The Rails Way.
Early next year. Check this post http://blog.rust-lang.org/2014/10/30/Stability.html
Yes! There are so many comments in this thread and the last one makes the most sensible suggestion: get involved with an open source project!

There is absolutely no point in starting your own projects from scratch when you've never seen other projects.

Fixing random bugs in open source software is great for two reasons:

1) you'll need to read large amounts of code to find bugs, learning things about coding style, design patterns, architecture along the way

2) What you do actually has a purpose. There's nothing more boring than programming for the sake of "practice"
I own a Lenovo Thinkpad S540 and I just bought my second yesterday in the black Friday deals. For me it's been the perfect Linux Laptop, practically everything works straight out of the box, good performance and I use it for home and professional programming. It's slim and light, I've used it for travelling between Europe and the US and it's been fine on the move (definitely not as petite as other ultrabooks though).

The specs are below:

- Intel Core i7-4510U Processor
- 15.6" FHD (1920x1080) Anti-glare Display Black
- AMD Radeon HD 8670M Graphics 2GB
- 16GB RAM
- Keyboard Backlit - UK English
- 256GB Solid State Drive Serial ATA3 OPAL2.0

I managed to get it for just over $1000 dollars yesterday so I know it's a little out of your price range but I find the keyboard solid, screen is pretty good and I don't notice any performance issues. (I mainly do Java development and that can be resource intensive).

Perhaps you could pick one up on ebay even cheaper, happy to answer any other questions you've got about it!
Crashes Firefox mobile
Two non-digits followed by three non-whitespace characters
"Oracle blogs is experiencing technical difficulty. We are aware of the issue and are working as quick as possible to correct the issue. Please try again in a few moments.

We apologize for any inconvenience this may have caused."

sounds like a perfect time to whip out that debugger Oracle, or upgrade to faster DB engine?
I modified his approach to get something that would compile to the assembly closer to that one would expect regardless of the optimization level, and put my code up here: https://gist.github.com/nkurz/d64f5b4ded4e19e17aae

From source code like this:

COMPILER_NO_INLINE uint64_t f3( uint64_t x ) {
return f2( f2( x ) ) + 1;
}

'gcc -O3' took 3.67 cycles per call from assembly like this on both Haswell and Sandy Bridge:

0000000000400720 <f2>:
400720: e8 db ff ff ff callq 400700 <f1>
400725: 48 89 c7 mov %rax,%rdi
400728: e8 d3 ff ff ff callq 400700 <f1>
40072d: 48 83 c0 01 add $0x1,%rax
400731: c3 retq

'gcc -Os' was significantly slower, at 4.25 cycles per call on Haswell, 4.71 on Sandy Bridge:

00000000004006f3 <f2>:
4006f3: e8 ea ff ff ff callq 4006e2 <f1>
4006f8: 48 89 c7 mov %rax,%rdi
4006fb: e8 e2 ff ff ff callq 4006e2 <f1>
400700: 48 ff c0 inc %rax
400703: c3 retq

Since 'inc' shouldn't be any slower than 'add', I think this slowdown is either due to alignment or the greater density calls in the code. Maybe this is a case where the denser code needs to use the legacy decoder instead of the µop cache?

'icc -O3' produced strange code that ran slightly slower, at 4.5 cycles per call on Haswell, and 4.01 cycles on Sandy Bridge:

0000000000400c90 <f2>:
400c90: 56 push %rsi
400c91: e8 1a 00 00 00 callq 400cb0 <f1>
400c96: 48 89 c7 mov %rax,%rdi
400c99: e8 12 00 00 00 callq 400cb0 <f1>
400c9e: 48 ff c0 inc %rax
400ca1: 59 pop %rcx
400ca2: c3 retq

Can anyone tell me what it's doing with those extra pushes and pops? I think they are just noise, but maybe they help with debugging or stack alignment?

Clang also produces odd code with extra pushes and pops, but somehow achieves the same speed as GCC on Haswell despite this (3.67 cycles). Speed on Sandy Bridge was slow at 4.5 cycles:

00000000004005c0 <f2>:
4005c0: 50 push %rax
4005c1: e8 da ff ff ff callq 4005a0 <f1>
4005c6: 48 89 c7 mov %rax,%rdi
4005c9: e8 d2 ff ff ff callq 4005a0 <f1>
4005ce: 48 ff c0 inc %rax
4005d1: 5a pop %rdx
4005d2: c3 retq
For all my fellow Illini, U of I > MIT so I've replaced them in these examples. ;)

Market signals act as a vetting process:

* If BigCo hires a University of Illinois grad and they do well, they will continue to hire U of I grads.
* If all your competitors are hiring U of I grads, then you'll look into hiring as well. You can assume they too are going after only the best people.

If you believe in efficient markets, then marketplace hiring signals are all you need to choose the best candidates. This only works in aggregate of course, every specific hire is unique. Problems arise when:

* You limit your hiring solely to a single institution that's done well in the past. Think of it like A/B testing- if you don't give other universities a shot then you'll never know when their candidates improve.
* The brand name prestige overshadows actual candidate ability. Then the university becomes an old boys club, where hires make it just because they came from the right brand.

Both of these scenarios can lead to broad biases in the marketplace, due to those same signals. Your poor hiring practices send out false positives to other companies. But on an individual level most companies will respond quickly to changes in candidate ability from different universities.

This was mostly a thought experiment, I look forward to critiques.
Show HN: Reviews for domain providers in one place
I often see question like "I'm with XXX registrar but want to change, which do you recommend?". People often offer helpful anecdotes so I thought I'd create a centralised place for them.

Please check it out and contribute, if you have any experience with domain registrations!
Asus ZenBooks are good.
Pay attention that some sales people will be good at selling themselves to you but not your product to the customers.
ABC: there's no way to know if he/she's a good sale person if not seeing it in action.

To know which kind of sale person is best for you - you have to try to do it yourself first: know your customers, know their problems and which are the values they see in your product (I assume you have done this before building the product).

Then start searching key people in the industry you're targeting and ask for help - get into that network and you'll find your person.

Avoid sales consultant. Avoid external sales company. It's too early for you. You need someone internal that will do more than just selling your product. You need someone that will listen to any comments, feedbacks, needs, feelings of your potential customers and will identify opportunities, product changes, propositions and values.

To get him/her on board pay attention to do not give out shares on day one. Setup an option pool with vesting and link i.e. salary with company performance (not personal one). I can give you some further tips on that if needed. I did that myself with a new biz dev guy.

All the best!
Why the Supreme Court should be the biggest issue of the 2016 campaign
I often see question like "I'm with XXX registrar but want to change, which do you recommend?". There are plenty of helpful anecdotes scattered across forums - here's a centralised place for them to live.

Please check it out and do contribute! suggestions and feedback, are of course, welcome.
I've always gone thinkpad for Linux and never really been let down.

I got an M$ Surface Pro 3 last month (don't laugh) but its actually first rate, hardware wise.

Fedora doesn't quite work perfectly yet but its pretty close.

High DPI touch screens rock!
Just really sad it misses that "menu" button, which has been replaced by other button.
Agreed on Thinkpads.

I just picked up two oldies (core2 duo) for less than $100 apiece on ebay. No hard drives, but I had some laying about. Although the tech is old, the machines are in amazing shape (they are so well built). They do everything I need with full Linux installs for less than the price of a chromebook.
Lenovo Thinkpads have always made for good Linux machines, and even now nothing seems like it will ever beat old Thinkpad keyboards. New Thinkpads are still good but I've never been a big fan of the chiclet keyboards and the resolutions sometimes seem to be worse than in the past.

Of course, there is always:
https://system76.com

but I've yet to give any of their gear a spin.
Can't take seriously anyone that types "M$". I know this kind of juvenile potshots are rampant in the Linux community, but it is time to grow up.
I'm more concerned about a diversity in hiring channels than biases on an individual level. Many startups want 'the best people' but only hire based on a candidate pool already familiar to them: friends and recent alumni of their school.

This is especially problematic when you consider that most startups are created by white males who have had a societally positive bias all their lives. And they tend to associate mostly with people similar to them. This leads unintentional to sexism, racism, and ageism in our industry, and prevents many startups from even talking to a large number of talented people.

I'd encourage you to reach out to older alumni, minority coding groups, and more experienced developers through previous jobs or your board and advisors. More diverse hiring channels will lead to a more diverse candidate pool.
Where on earth were you hearing about SPAs and server-side JavaScript in 2004? Was "SPA" even a term before about 2010?
I have a Lenovo Yoga 2 and really like it. nice form factor, 3200x1800 screen (great DPI on a 12" screen), pretty good battery life, and the folding screen lets me use a nice usb mechanical keyboard while on the go.

The wifi drivers are the only area that doesn't have perfect linux support, but the 3.18 kernel is a drastic improvement, and more are coming.

Also, the price is right, mine was only $1000.
The 7 Attributes of People Who Get Things Done
out of curiosity i tried this with javascript. seems like chrome is a lot of faster than firefox. ~6 times with f25, but f25 is a bit too coarse. jsperf (which isn't really the right tool for this job anyway) identified me as a spammer while i was adjusting the test cases though. with lower f's the difference would be even higher.

i tried it out in the browser, sum of fN(N) from [0..1000[ yields a ~2-3 times difference.
One of the creators here, happy to answer questions. This is a realllly old project, curious to know how it got submitted :)
This is pretty cool. At first I thought the horizontal movement thing was ridiculous until I thought about how it could be used to improve the efficiency of shaft usage, since it means you can have many cars (not just one or two) per shaft simultaneously.
Just like all such problems the 'TV and the Radio' problem shares its root with the liars paradox. The root cause, of course, are self referention, determinism and recursion.

The problem is the 'prediction loop', which has no clearly defined exit. There's no path that can be followed that will terminate it:

The demon understands every part of your brain, and knows that if it says that you're going to watch TV while you're determined to prove it wrong will make you listen to the radio instead. So it enters the next iteration of the loop. This cycle would continue for infinity, which is where we perceive a paradox.

There are several naive resolutions that come to my mind. Assuming that predicting the future takes some time, even if it's only a fraction of a second, will allow a way out. The Demon will simply enter the loop and exit it once the evening has passed and every possibility of 'predicting it' has vanished. Of course this could be considered cheating, it has never been established if the Demon's computations take time or not, but asking this question can be considered cheating as well, since it's probably impossible to have _only_ two possible things you could be doing. Which introduces the second solution.

The Demon is more intelligent than you are, and while you'd sworn to yourself that there were only two possible outcomes to this evening: doing the opposite of what the Demon predicts, the Demon sees beyond the 'two' possibilities and correctly predicts a third possibility that you didn't envision.

The last solution attacks the notion of free will, if the Demon can exactly predict the future than this implies that the universe is deterministic. So instead of having only two options, or a third invisible option, there is only one real option and the demon cannot be wrong or it cannot be right.

All of these 'solutions' either introduce a new or alter a previous assumption and are thus not really solutions to the question asked, as it stands I think the question is unanswerable and introducing new concepts and ideas is inevitable.
"I will readily admit that although I can do a bunch of things well, I don't excel at one thing; rather, I haven't yet found that thing."

No book recs, but when I read that sentence I immediately thought: pick something that you would really like to excel in, and then immerse yourself in it. Don't worry too much about what you pick, because you aren't committing to that one thing exclusively for life.

Go from making simple toy-like items to really significant work products. DON'T be reluctant to start small; an immense ambitious project at the beginning can be daunting to the point of discouragement. Lots of silly inconsequential things lets you focus on the subject, rather than any artificial constraints on direction that a real project/product might impose.

Connect with whatever physical or virtual community is available for that subject and your circumstances.

Eventually make something that you want everyone to see and use, either as consumers of your thing or as producers using your thing to produce their thing. (I obviously don't know what your thing is. :) Write a Show HN post when you have something.

It's really thrilling to feel like you're devouring everything you can find on a subject, and it feels really nice when other people use what you made.
same here. I've bought this year i7 1.8GhZ four-core machine, 12GB RAM, 128GB SSD and installed ElementaryOS on it. It works like a charm - especially for someone who switched back from MacBook with OSX to Linux machine. The author mentioned that he won't be able to replace OSX by linux emotionally - You should check elementaryOS - some people think that it just a OSX rip-off (but it's not)
Actually, we've been up for something like five years at this point. No lawsuits. Our contention is that it is fair use (clearly educational, in my mind). knocks on wood
Dissapearing into the Fire: Surviving the Startup Life
Probably because you haven't really provided any supporting evidence for your conclusions. Always show your working out. (Also, for many people, the first thing they do on a Rails project is disable Turbolinks.)

I actually happen to agree that Rails is still a supremely productive way to build certain types of web sites and/or applications. An experienced Rails guy, leveraging the vast array of gems out there which can solve many different problems with just a few lines of code, can get an MVP out of the door extremely quickly.
And yet while there are clearly a lot of mean people out there, there are next to none among the most successful people I know. What's going on here?

You live in a society where successful people aren't mean. That's different from the rest of the world.

Maybe a more accurate title would be "Mean People Fail in Silicon Valley"

But there are at least big chunks of the world that mean people don't rule, and that territory seems to be growing.

I wish more of the essay was devoted to evidence of this, because it'd be amazing if true. But I don't personally see any evidence that mean people are becoming less influential.

When you think of successful people from history who weren't ruthless, you get mathematicians and writers and artists.

One specific counterexample: Gauss was extremely mean. And not only mean, but mean to his family:

Gauss eventually had conflicts with his sons. He did not want any of his sons to enter mathematics or science for "fear of lowering the family name".[36] Gauss wanted Eugene to become a lawyer, but Eugene wanted to study languages. They had an argument over a party Eugene held, which Gauss refused to pay for. The son left in anger and, in about 1832, emigrated to the United States, where he was quite successful. Wilhelm also settled in Missouri, starting as a farmer and later becoming wealthy in the shoe business in St. Louis. It took many years for Eugene's success to counteract his reputation among Gauss's friends and colleagues.

http://en.wikipedia.org/wiki/Carl_Friedrich_Gauss

I feel bad pointing out a counterexample like this, because it's easy to cherrypick an example of a mean person here, a mean act there. More difficult to show a general trend. But isn't the difficulty of finding examples of nice people evidence that niceness isn't very pervasive, especially throughout history?
Planck lengths arent the smallest increments of length, this is rather a scale under which we have serious questions about quantum mechanics, chief among these is gravity. Similiar limits exist to frustrate metrologists, for example the famous visible light diffraction limit at around 200nm

>>In some forms of quantum gravity, the Planck length is the length scale at which the structure of spacetime becomes dominated by quantum effects, and it is impossible to determine the difference between two locations less than one Planck length apart.