skysight-inc/HackerNews huggingface dataset:
On the contrary, once you understand how it works, it's trivial to change the program

Let's say you wanted to change the program to yield "Fizzbuzz" instead of "FizzBuzz" in the 15 case, but the rest being the same.

I would first build my string from "fizz" and "buzz" and then I'd have to do .map(capitalize) as the second to last step. If I wanted to have the correct case in the originating strings I could just run them into to_lowercase first before anything happens and capitalize correctly afterwards.

(Actually, the capitalize function itself is probably more complicated than this change)

Similarly, other changes are intuitively easy to stick into the correct place in the program once you know what this program does.
Show HN: Magnetissimo – Self-hosted torrent search engine written in Elixir
I agree. The best that can be said is something about communication of information between different parts of the brain. But my reason is more fundamental: we don't understand what consciousness is yet. Hence we can't know what questions about 'it' are meaningful let alone what conclusions to draw.
PCs aren't extinct, but they're not in charge. That's what "Post PC" means. Mainframes still exist, they're faster and more powerful than ever, but if you argued that because they are that they're somehow still dominant you'd be laughed out of the room.

Phones are the single most popular computing device and your average person spends more time on their phone than they do on their computer when excluding work.
IIRC moon in just inside the earth's magnetosphere.
While I wouldn't dismiss the chance that some of these people are fakes I would like to point out that despite being a techie (if not because of it?) I barely use Facebook anymore and if I hadn't been registered for a long time my Facebook profile would also be pretty barren. I also always had a policy of only "friending" people I know personally and privately. The only purpose of Facebook for me is keeping up with those friends and I rarely post anything and rarely do it publicly. I doubt I'm the only one using Facebook this way.
I'm not going to jail over my job at twitter.
I think your second explanation is probably right. We keep discovering that brains are more adaptable than we previously thought. I wouldn't be surprised if their brains had learned to 'route around' the damage in some way over the years.
Most of the time, that rebuild is as simple as "just push a new version"; if the base image is something like Ubuntu 16.04, it will get the update automatically with the next clean build. We already trust the maintainer to write good code that does what I expect; this is just one more thing.

But what you described is literally "the worst case scenario is as bad as before (building my own images), but it would commonly be better". I'll take that any day.

Also, a lot of apps don't need a full linux distro shipped with them. If your binary is statically linked (like, for example, anything written in Go), the docker image can start from scratch, resulting in an image only a few megabytes large and with no issues like you outline.
I wouldn't go that far. Docker very specifically relies on Linux containerization technology, and this will likely never change. Docker for Windows or OSX only work because they have a small Linux VM running 24/7 on your machine, and all Docker commands are piped through to it.
It can really be boiled down to "humans don't like to think". Make sure your products/services accommodate this rule, and you'll be golden.
There's a Wire Above Manhattan That You've Probably Never Noticed
Please, that is nothing but propaganda. If you have a title 'vitamins are bad for you', its a marker that you shouldn't read any more. That is meaningless the same as would be 'cars are bad for you', 'vacciness are bad for you' etc. You can't condemn entire technology but particular instances of it.

Anyway, there is no such thing as 'natural vitamin C'. Its just vitamin C. I take several grams of ascorbic acid (AA) powder either pure or mixed with sodium bicarbonate (natrium ascorbate). AA is the same thing that my liver would produce if GULO gene wasn't disfunctional, something that back in time maybe made sense in evolutional context but now most certainly doesn't as context changed dramatically.

What people actually descibe unknowingly when talking about 'natural vitamin C' is plant based molecular complex of myriad of substances (form of low dose multivitamin) and that is entirelly different topic.
I enjoyed the retro of this. Thank you!
Marketing and credibility. It's not about the followers, it's about the metrics. Whether it's Twitter followers, Facebook likes, GitHub stars or Hacker News upvotes -- if the metrics matter to someone, there's a market for manipulating them.

I'm actually surprised this is news to anyone. Some of my first Twitter followers were blatantly fake (unless vacuous Russian models are really into JavaScript programming all of a sudden) accounts trying to appear legitimate at a glance -- following random people and posting credibly arbitrary nonsense to avoid easy detection when they later follow/like whatever someone paid their owner to.
Right, that makes a lot of sense. If you develop the CLI version more and made it easier to (for example) batch-apply patterns against many datasets, and added sufficient facility to fix the other configuration gripes that are currently harder than in the GUI, well, the CLI will win some more.

I do have to agree, GUIs can be easier to use if they're well-designed. It's also arguably easier to build GUIs than CLIs in some situations, particularly where you don't need something to be fully Turing-complete.
It gives you a type/interface level guarantee.

e.g. you know

public Optional<File> loadFile(String filename);

can fail to return a file, while

public Int sum(Int a, Int b);

can't fail to return an Int.

Obviously, because nulls exist in java, this guarantee isn't provable on compilation the way it is in e.g. Scala, but if your entire team writes code this way, at least you can rely on that for internal libraries. Like generics, this is one of those ideas that's ok in java 1.X, but doesn't shine as much until a backwards incompatible java 2.X
Internet Download Manager Key Full 6.27 Build 3 Free Download
I fully agree and I don't believe anything in my comment contradicts yours.

> So many startups I've consulted with were stuck with having to redo core architecture right when they found market fit. It's a tough position to be in.

Good point, but watch out for survivor bias here: plenty startups failed before they reached product market fit, and some did so because they wasted time doing the wrong things. All things be told, I'd rather run a startup that needs to hire you to fix the core at the worst possible moment, than a startup that fails. But I agree fully nevertheless: good design begets good design and it really doesn't take much time.
Israel only completed about 60% of the barrier, and 90% of it is chain-link fencing.
Adobe CVEs
Do you know you could have a X230t for 160$ on ebay ?

http://www.ebay.com/bhp/lenovo-x230t

http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x230t...
Ask HN: What is the best tech stack to develop a SAAS Service?
Hi Guys,

I want to know what languages and frameworks should i learn in order to develop a vertical SAAS Service. This includes making an iOS, Android and a Web App.

Feature that i want to develop are -
- Inventory Management
- Dealer Management
- Accounting
- Payroll
- Analytics (Important)
Disclosure: I work on Google Cloud (and love the idea of Tarsnap, including the picodollars).

What about if you were to age things into Nearline and Coldline using lifecycle policies? Also, someone claims you do multiple regions, which our "default" multiregional does at less than half the cost of S3.

Admittedly we only recently (finally!) added per-object storage classes. But unless I misunderstand how your blocks work in tarsnap, wouldn't that be amenable to having some large portion as Nearline and possibly even Coldline? If not, I'd love to understand! (contact info in my profile).
It happens. I was once in SF talking to a total stranger from
LA (pop ~4m) and when I mentioned I grew up in Dallas (pop ~1.3m), she said "oh, do you know [X]?" And I did.
I have a perfect example for how little Google understands Enterprise.

This issue[1] affects almost every enterprise developer using this product (the original AppEngine) and has been open since 2008 (Nearly 10 years!).

I provided a (awful!) work around in 2010[2] for the Java version, and there are similarly dreadful hacks for the Python version. It would be trivial for Google to implement one of these fixes.

Google just doesn't care at all.

[1] https://code.google.com/p/googleappengine/issues/detail?id=5...

[2] https://code.google.com/p/googleappengine/issues/detail?id=5...
Fidget Cube – A Simple Toy to Satisfy Your Fidgeting
14 Things You Should Do to Every Blog Post Before You Hit Publish
What experience do you have with using Microsoft products and resultant mental health issues? I'm guessing none, and it's just another throw-away remark that is anti-Microsoft, ignorant of the interesting and - in my experience at least - pro-good-mental health work they've been doing recently.
It's a little amusing how we see many stories with comments begging for more "decentralized platforms", and when one ships people go "wait.. they can see my IP?".
But there is a major problem with that "solution"... you would either have to remove the sticker every time you use the laptop, or you would instead have to choose not to use the laptop at all.

Otherwise it's a good idea.
That doesn't seem right. Why wouldn't intelligence help predict the unexpected? The point of their argument is that higher intelligence may make it easier to expect what somebody with a lower intelligence would not expect.

People don't think in strictly logical terms, there's a whole mess of abstract pattern matching and built up experiential anticipations embedded in the process.

That pun might require some iota of shared knowledge, but it doesn't require much intelligence to get. Amount of knowledge doesn't define intelligence - someone who scores low on an IQ test will get that joke just as much as someone who scores highly (not that I'm equating IQ score with intelligence).

I don't think that a lack of shared knowledge is what they are getting at. Complexity of a joke has more to do with lots of disparate moving pieces, so to speak. The ability to quickly perceive those pieces - and what is unexpected within them - isn't shared by everyone.
Everybody talks about bots but let's not forget that there are plenty of bot-like accounts controlled by humans from poor countries for (fractions of) pennies. You don't need a "hacker army", just a couple of bucks and a third-world nation with good enough infrastructure. Look up "click farms".

The problem with this is that while bots can be detected (even if doing so is an arms race) it's much harder to detect "bot" humans.
After vertical side tabs are impossible in Firefox because Chrome banned them because someone at Google "didn't like how they looked", I want to see you run 679 tabs on Firefox.
Not bad! Can I recommend that you try out the per-object storage classes and lifecycle policies? Particularly if folks are going to be effectively rsyncing things, it's really handy to minimize the combination of retrieval fees and storage fees (this really depends on the manner of backup, incremental versus full, etc.).

Also not mentioned is that each service also supports versioning, which for backups that don't do block-based backup, can be an alternative DR plan (e.g., don't allow some users to delete the last version).

All in all, a good start (complete with helpful screenshots!). Looking forward to the guides on S3 and Azure Blobs.

Disclosure: I work on Google Cloud.
In practice, your first example would be more likely to look like:

public List<Integer> add2(File file) {
List<Integers> nums = file.getNumbers();
if(nums != null) {
List<Integer> resultList = List<>();
for ( i : nums) {
resultList.append(i + 2);
}
return resultList;
} else {
return null;
}
}

Compare that to:

public Optional<List<Integer>> add2(File file) {
Optional<List<Integers>> numsOpt = file.getNumbers();
return numsOpt.map((nums) =>
nums.map((i) => i + 2);
);
}

I find it hard to argue that the latter is worse.
It's mostly a matter of chance, TBH. You miss 100% of shots you don't take. It took me two attempts to get in, first time I was being stupid during phone screen so it went no further. I was a SWE, but it's not generally a problem to switch. As a SWE you can even switch temporarily for 6 months to really understand how systems work, and what not to do when building them.
Given that he gave his 200 employees a 4 days of severance, he is clearly not "the man".
Java is already laden with a myriad of utilities such as streams and iterators which allow you to bypass some of the null checks when dealing with IO or collections.

If you want to chain calls, you could do that easily by passing "possibly null" returned values to methods with parameters that are marked @NotNull and handling null checks as exceptions down the line instead of inventing the optional type.
I didnt see anything for the stat I was most curious about - Quality of Question.
Nice. But not seeing the cow.
It would except the user interface will be stripped so bare you can't actually have more than a dozen or so pages open at once! I know there are many people in the same position as me. They open a lot of tabs. When Google killed off vertical side tabs (which were only ever a hidden option you had to enable manually anyway), they went back to Firefox. And now Firefox is taking the vertical side tabs out in the street and shooting them too.

If Firefox included vertical side tabs and committed to supporting many-tabbed browsing as it went pseudo-Chrome-mode, I imagine many fewer people would be irritated.
I meditate everyday for 20 to 60 minutes. The first ten minutes are usually relaxation and the rest is planning over today's job and, occasionally, my life in general.

Before, I used to go for a walk to do that. I also had ideas under the shower. I have found meditation to be more efficient in term of focus.
I am embarrassed to say that I burned 3 hours on this. Very nice job so far. I would still be playing it, but it crashed the tab due to Chrome running out of memory (16GB RAM on my laptop!!!).

A few observations:

1. I was very much having to micromanage the employees. It gets tedious. It would be nice to be able to put employees into teams and queue up projects.

2. Emergencies were interesting. It was impossible to handle the patent trolls early on, & I lost to them 4 times. It took a while (probably about an hour), but it was eventually possible to earn enough money to get back into the red.

3. It would be nice to have some way to keep track of the good and "trash" product combinations.

4. The marketshare sub-game was interesting, but it did get old after a while. I wanted to put it on autopilot, but I could normally get 3X what the "employee" could. After a while, when you are developing many products simultaneously, it really impedes the main game play.

5. It is difficult to compare employees because their information is very much spread out when trying to assign people to a task. It looks nice for screenshots, but is cumbersome for normal gameplay.

6. There is A LOT of mouse movement required for repetitive tasks. Going through the motions of starting a project (a product), choosing the product type pairs, selecting who should work on the development, and clicking start, requires you to move all around the screen. Over, and over, and over, and over, and over, and over...

7. If I have multiple developers, all working on multiple projects, and my servers get attacked, it would be nice to be able to temporarily pull everyone over to the server job (or the patent troll job, etc...) and have them automatically go back when the emergency is over.

8. Your screens need back buttons. When trying to find someone to hire, for example, I may look in several different places. Each time I need to go back, I have to close the entire Hiring screen, and it never failed that a product would finish at exactly that moment, and I would have to go through the product launch and marketshare subgame before being able to continue looking for a new hire.

There are a few more little bugs or improvements that could be made, but by now it probably sounds like I'm nitpicking, so I'll stop.

Overall, I really enjoyed the game! I can see that a lot of planning and labor went into the game design and mechanics. I would enjoy playing this again sometime.

Thank you for sharing it here on HN!
I started backend development with Nodejs because I was familiar with JavaScript. I dropped sails after a month because of the lack of documentation and help available when something went wrong.

A few months later I happened to try Rails and realized that that was what Sails was trying to be for JavaScript. At some point Sails will become awesome, but until then I'll stick with Rails.
> That is how twitter works - it doesn't show every tweet from everyone you follow in your timeline, it shows a subset based on what it considers most relevant.

If this is true, this is the same as Facebook does.

And for this reason I can't bother checking Facebook any more. Can't see what's in that for twitter?

Facebook is not showing me the posts from people I know, but instead advertisement and "reactions" it thinks I may like. Which I give a utter fuck about.

It's just another one of those things which just makes me stop caring.

If twitter knows what best for them, they should definitely not copy this UX anti-pattern of overruling the users explicit choice (about whose posts they want to follow).
TOTAL DRAMA ISLAND IN REAL LIFE
List of tors – Wikipedia
I think you're over complicating this a bit. Simply put, they first gave their people economic freedoms (and then not all at once) and then started loosening up in terms of political freedoms. If it takes them 50-100 years, so be it. That actually strikes me as a much more viable approach. You can't really give people freedom if they don't know what to do with it. Not without repercussions at least.
What do you mean? They are running this experiment: https://testpilot.firefox.com/experiments/tab-center/
My problem is that I enjoy many aspects of SRE work, but I absolutely despise being on call.

I've since transitioned into onto a different career track, but I have long wished to find some way to use my combination of unix sysadmin and software engineering skills without ever having to be on call. In the companies I worked in (including Google), I never really found that.
Have you found services with more favorable costs? I'd be curious to hear what they might be.

Besides that, you might just consider replicating to a mini-computer of some sort in another location that you have permission to use like a friend's or relative's house. A raspberry pi connected to an external drive should probably do the trick.

Duplicity looks like a good tool by the way, thanks for bringing it up.
Because things like this go viral.
The price seems steep but I like the idea of merging these 2 technologies:
http://www.theverge.com/circuitbreaker/2016/12/2/13818796/re...
Quick question: authentication for restful APIs that are frontend agnostic. Any recommended readings?

I've used third party libraries like devise_token_auth and I understand how JWTs work but is there a standard? Oauth2 maybe? I sound like I'm lost because I am. I still don't "get" authentication. The Oauth2 RFC confused me. Is there a dummy friendly tutorial on rest API authentication that also supports invalidating user sessions (unlike JWTs)
Ah. Never thought of it that way, makes perfect sense. Thanks for the analogy.
Forth: The Hacker’s Language
IMO it's the eta-reductions that are terrible for readability. I think the following is fine:

Optional<String> x = Helper.functionOne()
.map((descriptiveName) => Helper.functionTwo(descriptiveName))
.flatMap((descriptiveName) => Helper.functionThree(descriptiveName));
Scientists unveil new form of matter: Time crystals
The GitHub Follower Notification App
Hey all!

I have recently made a GitHub OAuth application, which notifies the user about any new followers / unfollowers on GitHub.

Source code : https://github.com/athityakumar/github-follow

Rails App : http://github-follow.herokuapp.com/

Blog post : https://athityakumar.github.io/blog/posts/GitHub_Follower_Notification_App/

Do star the repository if you liked this project. Share your thoughts in comments here, or on the blog post. And have a good time, folks.
Basics of compiler design [pdf]
You are what I am talking about.

You are part of society. Your obligation is not only to find better ways to stop it but to NOT DO IT. We are all free to make terrible choices that hurt others. That doesn't mean we're compelled to do so because, "Welp, I guess that's just how it goes."
My Facebook account is so barren that it has never existed, but if I'm ever forced to create an account to deal with websites that assume everyone has a FB acct and can't deal with you otherwise, it will be as sterile as I can make it.

And my Twitter account is so sterile that no one I know follows me. And yet, it's a real account.
Everyone is a marketer now. Selling out has been glorified.

Consuming this pseudo content is tiring though... Keep calm and shill on?
It's possible that the majority of spam is not meant to be seen by humans, but is instead designed to train spam filters and keep them busy, so some payload still penetrates the shield.
For CAA to work, we need fully deployed DNSSEC. Not just the roots, and some resolver, but all local clients too. Otherwise, there's still weak links in the chain.
I always find those pictures a little suspect.

First, except for Obama, the first picture is a nicely choreographed headshot (make up?) and the second is a candid photo with no attempt to make the person look good.

Second, except for Bush'88, all of those Presidents were in office for 8 years. I don't know about you, but I'm not surprised a person in their later years looks older almost a decade later.

My Mom was never President, but she looks much older when she was 60 vs. 52.
- Don't chain multiple methods in a line. One call per line. IDEs will usually let you set breakpoints per line.

- You can still use intermediate variables for readability

e.g. instead of

nums.filter((n) => n % 2 == 0).map((n) => n + 2).foreach((n) => print(n))

do:

nums.filter((n) => n % 2 == 0)
.map((n) => n + 2)
.foreach((n) => print(n))

or:

List<Integer> evens = nums.filter((n) => n % 2 == 0)
evens.map((n) => n + 2)
.foreach((n) => print(n))
Zlib Flush Modes (2007)
Does it matter? A space ship is a closed environment, so presumably any water you start with will stay with you in some form or another. There may be some processes that turn it into a less usable form, but I imagine the majority of water would end up as either urine, essentially identical to water for the purposes of shielding, or sweat, which can be recovered as water through the life support system.
Along these lines, I'd recommend Rich Hickey's presentation on "Hammock Driven Development."

https://www.youtube.com/watch?v=f84n5oFoZBc
Why? Just because of the effort of entering your credit card info?
Yes. I hired Tarsnap's first (non-founder) employee in May 2015.
You just don't know high-quality, unbiased journalism when you see it. /s
So they quickly fall out of sync with the code and cause more problems than they solve..

Clearly written code already expresses what it does unambiguously. If your code doesn't do what it is supposed to do that is a bigger problem.
Pivot into the Indian baked-goods sector.
Exhibit A: You can't tell the GMail app to use anything but Chrome (at least on iOS).

I'm sure there are more such examples. Even if a default was changeable the initial setting (as we saw in the Microsoft vs. Europe over IE) is very powerful.