skysight-inc/HackerNews huggingface dataset:
high stakes carpentry - build a desk and put expensive devices on it.
> There’s the company with a reputation for having great engineering practices that had 2 9s of reliability last time I checked, for reasons that are entirely predictable from their engineering practices. This is the second thing in a row that’s basically anonymous because multiple companies find it to be normal. Multiple companies find practices that lead to 2 9s of reliability to be completely and totally normal.

I'd like to know more about these practices that lead to 2 9s of reliability. Can you give specific examples of such practices, albeit not the companies themselves?
Atlas of American History Through Interactive Maps
> There must be something different that makes a language functional.

The main problem is that "functional" is not a binary attribute, but a matter of degrees. Technical no single language is entirely functional. However all of them are functional to smaller or larger degrees.
Hillary will win despite anemic turnout.

In accordance with the $3Million in donations she's received from Tata and Infosys she will immediately move to increase the H-1B visa intake by 5x to "allow American business to be more competitive"

An IT grass roots org will start a petition that draws 5 Million signatures to oppose the move and it will be ignored.

20,000 newly unemployed US IT workers will vow never to back Hillary in 2020 and vote for Carly Fiorina instead.
I program like this all the time in Haskell. Much of the latter bits can be replaced by so-called "mtl-style" typeclasses (used similarly to Oleg's Finally Tagless idea). I have a brief talk on this at last year's LambdaConf but didn't really give it sufficient space I suppose. I think the whole Prism/Inject machinery can be completely eliminated in this way.
To me the article was more about the anti-pattern of having self-validating objects than trying to show where it can end badly.

I now use only plain data (scalars, sequences and mappings) to represent data. The validation can be implemented independently and I can reuse all of the language's data manipulation functions. Its really the best of both worlds.

As Rich Hickey said in "Simple Made Easy", the only thing you can do with data is destroy it by encapsulating it.
This post seems so good and so self-evidently true that I'm surprised at the amount of pushback it's getting here. Not sure what else to say about it.

Well, I'll say this- the "@flaky" thing is pretty mind-blowing. In my own company I have noticed many engineers have a disturbing level of comfort with deciding something is a "mystery". There are no mysteries in what we do. The test fails because something is fucked up. Flappy tests are annoying, but the right thing to do is to address the situation.
Is it possible to switch back and forth easily, or is it one of those things where the constant context switching is more trouble than it's worth? I know very little about Dvorak, is it a software setting in the OS (e.g. you can relatively easily switch a single keyboard back and forth) or a hardware/firmware setting in the keyboard itself?
You are right with everything you wrote except one thing: ship fast and the refactor is not only often extremely difficult and risky, there are cases where it becomes almost impossible.

That's one of the reasons why I've been working on libraries that could provide similar level of convenience and allow you to rapidly prototype something but with a better foundation where things can be refactored more easily.
The author detailed precisely why I left a former Y-Combinator company, Return Path.

"As far as I can tell, what happens at these companies is that they started by concentrating almost totally on product growth. That’s completely and totally reasonable, because companies are worth approximately zero when they’re founded; they don’t bother with things that protect them from losses, like good ops practices or actually having security, because there’s nothing to lose.

The result is a culture where people are hyper-focused on growth and ignore risk. That culture tends to stick even after company has grown to be worth well over a billion dollars, and the companies have something to lose. Anyone who comes into one of these companies from Google, Amazon, or another place with solid ops practices is shocked. Often, they try to fix things, and then leave when they can’t make a dent."
I'd be interested in knowing what resource(s) you used to learn Dvorak, and how easy it is for you to switch back and forth (if you do it often/daily).
Vocabulary apps: a wish list
Is the audience of this article only people that think about Functional Programming (as a philosophy) often enough to refer to it as FP?
Very interesting article! I like the fact that you mentioned Prolog as one of the less mainstream languages to learn. During my time at uni I found that both Haskell and Prolog really changed the way I approached different problems and gave me a high level perspective to problem solving. Some interesting resources to learn Prolog:

# http://www.swi-prolog.org/

# http://people.cs.kuleuven.be/~bart.demoen/PrologProgrammingC...

# http://www.cs.bham.ac.uk/~pjh/prolog_module/sem242.html

# http://www.learnprolognow.org/

I'm getting an itch now, I think I'll give Prolog a second go this new year.
Read the thread again, I think you'd find that my contribution to this topic has been more constructive than yours.
No state should talk to my congress! Nor my congress to another state.. Treason! I have a commander and chief that represents our interests. these ppl are excepting donations from other states and help maintains lobbys to undermined a commander and chief.. They were not aressted so the confidence is not lost in our government I'm sure.. But they need to be eliminated from position soon for short sighted government and endangering the people to support a foreign state with out getting permission of the united States.. We know the punishment if a soldier decided to do the same and I expect congress to be held to an even higher standard!
While this article hits on a very true aspect of validation, I think the real problem that needs to be solved is a bit deeper:

There are really four levels of validity that we care about:

1) absolutely invalid data that indicates an unanticipated system error

2) invalid data that the caller (or user) must fix.

3) invalid data that the caller/user can optionally fix but that we wish to warn about (via UX or in the log)

4) invalid data that is optional and so can be made valid by deleting it.

I have not yet seen a system based on types/typing that elegantly captures the four cases above. ActiveRecord validations feels like an antipattern because it is in some ways weaker than typing, but in some cases more flexible.

So we typically resort to ad-hoc approaches that are essentially custom code doing the same thing in many projects. ActiveRecord validations removes boilerplate and makes it easy to give user feedback for simple flat object structures with predictable semantics and low probability of logic errors. This changes with nested structures.

I wonder if it would be possible to do something along the lines of the Maybe monad to handle scenarios 1-4 above via pattern matching...
This is so cool. Wish we saw more stuff like this on HN. Also liked the other projects you have listed on your site.
Jetbrains did something like this recently. https://news.ycombinator.com/item?id=10170089
I did this a few years ago, and as a result, I'm pretty confident I'm in the minority of people who 'like' both. I have not yet declared a side in the holy war of emacs vs. vi. They're both great.
Why You Should Invest in HMOs Using Real Estate Crowdfunding
Sounds like a good idea to me!
Sounds a little like Swatch's effort a few years ago:

https://en.wikipedia.org/wiki/Swatch_Internet_Time
Given the context of this thread, let me say my chosen specialisations in the Physics were generally not towards the frightening mathematics end of the spectrum (and without naming specific subjects, the lowest score I achieved in my entire life on any exam was in a maths heavy exam in the final year of my formal physics education). I was not a mathematical wunderkind.
Everything You Need to Know About Your Son and Daughter’s University but Don’t
This is awesome! Does anyone know about cryptography in Springer? Any good 10 year old textbooks I should get?
2015 year in review or a brief history of a web design project
Maybe it's just because my pops built most of the furniture in my house, but building a desk which can support a computer and last doesn't strike me as a particular project prone to failure. A lot of us are engineers who work on much more complex problems (although it's true that you must measure twice and cut once with wood working).
dry-validation supports typical validation behavior known from rails where errors are gathered and represented in a string representation. In fact it's much "smarter" than AR validations as it only executes validation functions that are needed and fill in other potential error messages based on rule definitions. This is one of the reasons why it's multiple times faster than AR validations and more extendible.

With dry-data constrained types it's a different story. It raises type errors because we're dealing with lower level objects of your system. Personally I prefer to see a meaningful type error rather than exceptions like "foo called on nil" etc. Not to mention that constrained types increases the chance of spotting type-related bugs earlier.
Nice little service!

A small typo on the FAQ " por critical purposes" should be "for critical purposes"
I'm surprised most technical folks don't default to a 24h clock. I've been doing it since I was a teenager and had a digital wristwatch that I could set to a 24h clock.

Time just makes more sense that way. Otherwise you get weirdness like this: 12:00 AM occurs before 11:00 AM on the same day.
You could try to hide it in several ways:

1) just don't say anything and hope nobody notices.

2) fix the underlying problem and then regenerate all keys and post some nonsense saying they had to do so for some "not their fault bullshit reason".

3) remove support for the key/cipher type affected with some bs reason and force all customers to use something else.

And some creative persons can probably come up with more...

Good on them that they acknowledged the problem. Warned customers and provide instructions on how to fix things.
Makes me want to consider them if I ever need a service like theirs in the future.
Thats not exactly what I said.

Turkey was publicly pushed into invading Syria, something they wisely declined to do.

However allowing our "allies" to fund sectarian violence[1], from which the ISIS franchise grew seemed like a good compromise: Assad gets heat, and so does Kurdish nationalism.(PDP were starting to make real inroads in mainstream politics, so undermining them was a bonus, along with the right wingers) At the time it seemed like a good idea. "Islamism" eats it's self in the place where lots of the prophecies are based.

However, it didn't pan out like that.

[1]loosely the west and our oil rich friends, not just Turkey.
Out of interest, why would you want to run an X client in an environment like that? An X server seems like a good idea (as does an RDP client)...
Yes, because in 2015 194kb is so incredibly much.

Maybe the carriers' are sloppy and inefficient. See, whatever I do, when I access anything web-based on my mobile phone, it is slow. And I live in Paris.

It's funny how suposedly the 3G/4G stuff should be fast but in reality it is not, I believe that is mostly because in large areas the access points are overcrowded.

In other words, the technology used to access internet is saturated, and developpers should be blamed for having websites >200kb heavy!

Who's crazy now?
I thought it was well known that prototypes almost always end up in production.
Companies that let their interns do the crypto stuff

¯\_(ツ)_/¯
Goodbase: embed knowledge base to your app and reduce customer support calls
Shuttleworth Foundation Flash Grant – 2015 Report
Looks like another case of 'we solved the wrong problem'. Too bad they spent all this money without asking anyone, 'hey, is it a problem if this thing is super noisy?' I think the takeaway lesson here is, if you are building something for the military, have an end user - a soldier - involved in the design early on, and listen to what that person has to say. That applies to many different kinds of engineering. Don't solve the wrong problem.
Standard reminder: please remember OCaml and F#.

OCaml may be a little obscure in the mainstream programming community, but there are a ton of folks using F# out there.
Personally, I'm totally fine with "moar tech". I'm also totally fine with globalization, and what you call "same-ization of the world and the cheapening of cities due to global commerce, tourism, etc." I call optimization and the world getting a more sane place. E.g. local cuisine is fine and all, and is not going away, but I love having an option of a McDonalds as a backup plan when I my stomach can't get used to regional food.

As for plastic, this is pretty much a miracle material and is absolutely not something we would like to do without. Yes, we could keep using wood and metal, but plastics are so much more awesome. There's a lot of reasons why we make everything from it.

Your point about slippery slopes is of course valid. Slippery slope is a fallacy until suddenly it isn't.

But frankly, the problem with IoT is not technology. Internet is fine, putting microcontrollers in stuff to optimize or enhance it is also fine. Pretty much every single issue with IoT is either greedy business strategy or dishonest marketing.
If you don't have a vision for your open source project, then I agree that you probably shouldn't be maintaining it - In this case, it's better to hand it over to a different maintainer who does have a vision.
You'd get these runtime exceptions anyway, but they would be obscure and often hard to debug. Once you define core objects in your system that you construct from external sources (like a database) you establish a contract that the source is trusted and it's expected to provide valid data. If that doesn't happen, for some reason (and it happens), you want to see it as early as possible and a meaningful error can be very helpful.

This obviously doesn't come even close to a statically typed language but I believe it's a huge improvement over the typical approach in Ruby where you...just don't care and hope for the best ;)
Adobe (and others) are in a tight spot called "how do we keep selling our product when we've achieved almost-100% market saturation".

A sort of silver lining is that with the rentier model companies will have an interest to produce more reliable products, rather than ones which break exactly one day after the warranty ends.
There's many reasons to want to avoid writing custom software, but for those that aren't actively living in it, it's easy to forget the dismal results of buying enterprise software.

People buying it start with the impression that 3rd party software is good: We don't write our own mail program, we don't write our own word processors, so of course we shouldn't write anything a third party offers, they say. But that shows a total misunderstanding of what makes software hard: specifications.

It's not difficult to build an application for a good price when we expect tens of thousands of sales, and it's a task that will occupy mind-space, so we expect users to be motivated to learn whatever idiosyncrasies our application has. But when the application should interact with other applications, or there are relatively few users, it's very hard to build it economically: Most of those 3rd party disasters are in those areas.

For instance, we've had a bunch of very pointy haired people decide that our org needed some kind of REST API + authentication management combo, and went out there to purchase something, because building is bad. But it is exactly the kind of system that will does not work well: It's built for big enterprises, so it is seven figures, with recurring costs. It does not interact well with the specific quirks of how the internal authentication works, so hacks are needed. The UI is not really built for you, or anyone, so it makes the AWS dashboard look like a UX miracle. And then there's the bugs: There's still bugs (A lot of them), but now, instead of your own people fix your bugs, now you have another company dealing with them, and since you already paid them, adding new features is more important than fixing your bugs. So now we are out a bunch of money, everyone that isn't pointy haired hates interacting with the thing, and we've needed a bunch of custom code anyway.

The decision between buy and build is not necessarily easy, but there are a very valuable rule of thumb I love:

If you are going to custom build, and it's not key to your secret sauce, expect to spend a bunch, and build it as an open source project.

Having other companies use whatever you are writing makes quality improve faster, as there's more people to find problems in your specification and your implementation. Sometimes you get people to help you with free labor. Others they don't. But either way, you've lost almost nothing by making your code public.

If you are unwilling to commit to making it open source, because it sounds expensive, then you really were not going to commit to it as custom internal software anyway. It would have ended up as a piece of crap everyone hates. So then go and buy, as you weren't going to get any gains from building it custom anyway.
1. finish program and launch company
2. lose weight
Internet of Toilets. Fits well with Cloud-to-Butt extension.
https://news.ycombinator.com/item?id=10806956
All three major commercial OS vendors: Microsoft, Apple, and Google. MS and Apple push it not only for their mobile OS, but for desktop as well.

Microsoft is pushing it now with their development tooling (e.g. Visual Studio). First, it was "sign in" to synchronize your settings across instances. Now they're encouraging monthly subscription based licensing, which requires you to be "signed in", instead of the traditional perceptual license.
That's a complete straw-man argument. Both APT and YUM can, and do, suffer from outages.

I know I've gotten plenty of "temporary failure resolving..." issues when trying to work with APT repos.
Thank you for posting this. Over the last year I've been thinking about switching careers as I've noticed how unimportant what I work on is and I believe I'd get much more satisfaction from doing something that helps others. Social coder looks like a great solution to this for me.
This post's style and "quality" of writing is really aggravating. I felt like I was banging my head against the wall after reading so many run on sentences or paragraphs that start with the same contraction. Other times the writing is so poorly executed I cannot tell what the author is trying to convey. For example what is going on in this paragraph:

"There’s the company with a reputation for having great engineering practices that had 2 9s of reliability last time I checked, for reasons that are entirely predictable from their engineering practices. This is the second thing in a row that’s basically anonymous because multiple companies find it to be normal. Multiple companies find practices that lead to 2 9s of reliability to be completely and totally normal."
Devtools says that this page is 131KB.
One big reason it's so important for Tesla to have a star CEO like Elon Musk
geopolitical.. As if this was OK.. It's a problem when a forgin government illegally contacts congress or the other way around and interfears with a commander and chief.. No no no we do that to 3rd world contrys cause we control them.. Are you saying this is OK to have a forgin government ask what can we give you to vote against the American people and for the Israelis wtf are you a dual citizen with a profit in this.. No its not good!
Get ergonomic keyboard and mouse (laptops are terrible ergonomically), and get a break program to remember to take breaks.

I didn't, and was fine for over ten yeares, before I started to have bad RSI problems. I managed to get well, but it took a lot of effort and time: http://henrikwarne.com/2012/02/18/how-i-beat-rsi/
2) and 3) are not really viable/realistic with the kind of service Hetzner offers -> if they just went in and modified customer systems, possibly breaking stuff in the process, they'd be in even more trouble.
I interpreted his comment here as being more about suddenly finding yourself in a position you don't want. If you're not trying to create a new "essential department with [yourself] as the head", you certainly don't want to wake up one day and realize you've put yourself in that position. I posit that most people would not "be thrilled" with a sudden increase in job responsibilities that they a. don't necessarily want and b. will have to jockey around to get paid for.
Huh? Your health isn't worth more to you than the price of a standing desk?
PTSD-related study finds a single dose of MDMA helps conditioned fear go extinct
> making arguments from optionals to regular(?) variables.

The customary way of saying that is “unwrapping optional arguments”.
To be fair, 194kb is pretty far from "MB's of script downloads".
Funny, I feel that some interesting online tools have little business being online:

Email services like "SendWithUs" which allow for A-B testing of your emails... It has very little use being on someone else's servers. If your server can send an email, you can easily run a lightweight service that does more or less what they do. They sell a product, you pay for updates.

There are many such examples of services which don't really need to be online, but they want that monthly payment.

Furthermore, I remember buying SpaceMonkey. It was a great idea, except that I had this 2tb hard drive that was just sitting around being unable to be used because I refused to pay a yearly $50 fee. I ended up just prying it open and using the hard drive (mind you, you pay for the drive too).

One positive one is WesternDigital's NAS drive (my cloud). It has a feature you can turn on to use it as a "cloud storage device", but that is an optional feature which you don't have to use, instead you can have it 100% local NAS, or turn it on (granted from a security perspective, I'd rather NOT have it open to the open internet)
GaugeMap: Thousands of river gauges, each with a Twitter account
סנטרל פארק – העיר החדשה‬‎
It really irks me that I can't find a high end television set that isn't Smart. I'd rather not have a bunch of features baked into my TV that are going to stop working in months or years. I received an email from Roku just the other day telling me about buttons on my remote that will no longer work, I doubt TV manufacturers would even be bothered to give you that courtesy.
Which CPAN distributions have a GitHub repo?
Neat article, I miss the simplicity of the old machines as well.

I teach a weekend programming class for middle schoolers and the setup is a real pain. There's just too much stuff that gets in the way of learning to code. Our setup is Python 3 with Pycharm EDU2 installed on each child's laptop. for some lessons we have a Raspberry Pi (gopigo and minecraft) that the kids can control remotely using Python.

We tried using Idle but it crashes too much and is a bit of a pain to navigate with the multi-window display. Pycharm EDU is pretty good, but I haven't had much luck using it with lessons. The lessons take a lot of time to setup and sometimes just crash Pycharm or become unusable, holding up class. So we use Pycharm EDU just as an IDE.

I thought of using something remote like Koding or codio (I really like these options), but we have some lessons that require us to be local so we can reach out to our bot and rpi. A more lightweight IDE would be nice, something with nice debug capability like Pycharm EDU. These kids are sporting some really old laptops, hammy downs from older siblings mostly. Ideas welcome.