skysight-inc/HackerNews huggingface dataset:
> Immediate wins [...] We were able to get rid of some servers, and downsize the remaining servers [...] Response times are down as well [...] Development and deployment are also faster.

A case for new technology should be made more than just on pure technical features but also in terms of reduced ops load, say because of fault tolerance or saving in recurring infrastructure costs. Or it could be community friendliness and acceptance of new members. I feel Elixir does a great job there, as well.

Other thing I found using Erlang: It is simply more fun and easier to discover problems. Can launch observer. Setup traces with recon_trace (I started to do that more lately even instead of adding print statement to code, attaching traces to functions is just too easy). Even things like hot-patching have saved the day many time in terms of fixing an issue for some customers with 0-downtime. These seems like nice extras but they all add up and make a huge difference when taken together.
That only gets you half way. You also need less to not page its input to its output if it detects "more" is on stdin (much harder).
Areas where universities are aggressive about patenting definitely have other problems, yeah. Fortunately in CS academia, software patents are relatively uncommon. Not unheard of, but only a small percentage of non-hardware theses end up involved in a patent filing.
Certainly any dependency manager has its issues, and I've run into a lot of them with other ones as well. But yes, I will agree, the dependency hell comes from requiring duplicates for each package you install. Though NPM is working on resolving that. Not sure what you mean by age to build though? What are you building after package install?
This is the best description of HN I've ever read:

> There are great ideas and topics to be covered here for sure, but they're sprinkled on top of a giant cake made with 1-part self-loathing, 2-parts day-dreaming, and 1-part regular huff-and-puffing.
If only the JVM didn't have slow startup speed I would almost exclusively write Groovy scripts.

There is just something so awesome about shoving your dependencies right in the script and not worrying about pip, easyinstall, system libraries etc [1].

Maybe Java 10 will fix the startup speed (or whenever jigsaw is done correctly) but I doubt it.

[1]: http://docs.groovy-lang.org/latest/html/documentation/grape....
You don't have to write a proof if you don't want to. It's quite possible to simply write your sorting function without a proof, it's just that at that point you don't know that your function works as advertised (which of course is then just the same thing that you get in a non-dependently-typed language).

data Comp = Gt | Lt | Eq

sortBy : (a -> a -> Comp) -> List a -> List a
sortBy = ...

The above is perfectly acceptable in Idris, given that your implementation of sortBy type checks. And it makes no use of dependent types. Separately to this function, you can write a proof that it's correct (if you want). Or unit tests, for that matter.
All the Ways Your Wi-Fi Router Can Spy on You
He also wrote another book http://www.redfour.io/ take off with elixir. Anyone have read that ?
I trained in taekwondo and I can say we absolutely were taught the dirty techniques. Most of the class focused on physical training and traditional moves, but often a self defence section would show how to expand the basic moves to take people down and disable them. Eyes and throat were targets we practised with as well as the groin (although I seem to remember most of the likely attacks your face on the street don't really give you time to go for that area)
"3) Terrorists ramp up efforts against any vector they've found to be weak. While they currently account for a very small percentage of deaths, that doesn't mean we should have just shrugged our shoulders and done nothing, even basic measures like locked cockpit doors and ending the recommendation of passenger compliance."

Your argument seemed to me to imply that terrorism is small fraction of deaths because we as a society have implemented countermeasures keeping their kill rates low. This article argues that we have few deaths from terrorism not because society is great at preventing terrorism deaths but because terrorists just aren't that motivated in causing large death tolls.
I know this is an old thread that I'm unlikely to get a response to, but I can't tell whether you're proposing a federal make-work program or a free-market restructuring. If the latter, you seem to be ignoring the demand side of the equation, which makes your whole proposal unworkable - there isn't demand for this in the US, and not just for financial reasons, the middle class here is unlikely to employ (what we see as) servants for social reasons as well. If you're proposing a make-work program where tax dollars go toward putting people to work, maybe that's a good idea, but I'd rather see those people working on improving our crumbling infrastructure, or perhaps on creating new high-speed rail, than cleaning middle class houses.
Teaching Programing: After Skratch There Is WoofJS
Apple gets even deeper into healthcare
Web Fonts abuse HTML: they take text and give it a different meaning. The letter 'a' does not indicate a daisy with pink petals; it is the letter 'a,' the English word 'a' and so forth.

Think for a moment about what Web Font users do: sprinkle garbage throughout their pages; run JavaScript to dynamically load stuff (and possible destroy the privacy and/or security of the client); dynamically update the page — all when a simple, semantic image could have done the trick.

It's kinda insane, like rendering a page by loading JavaScript to slowly append characters to the DOM.
> Pulling off eye gouging and throat strikes are low probability and expose a fighter.

A throat strike is no lower probability or more exposing than pulling off a punch to the face. It's just a couple inches away...
Implementation is only a portion of what's important in an interview. The thing you will not get anywhere without is a knowledge of what algorithms exist and when to use them.
> If your entire list of receipts fits into memory users won't notice a difference between a list and a set.

If you had said "small enough", I would agree, but linear walks of data that can fit in memory can easily be noticed by users, for large enough lists. (Very large lists can fit in memory.)

But, at a higher level, yes, this is always true when people talk about performance: make sure what you're optimizing actually matters. I think a charitable reading of what
ThePawnBreak said should assume one has already determined this particular operation matters for performance.
Is that really still true? I know most apps I use have either required purchasing an update or have simply been replaced by OS functionality.

And there's something about committing to a Mac app when you're not sure if, in a week, one you like more will be available as opposed to iOS apps, which are basically disposable.

Of course all of this is tempered by my desire to support the products I use and the people who develop them.
I don't think it's a valid comparison. Lottery results are unpredictable, stock market to some degree is.
> And where does the average young person in Hong Kong go to watch MMA? YouTube.

If they watch MMA at all. I have no idea what the market penetration of MMA is globally but I think it's a stretch to assume that the majority of children interested in martial arts are influenced by it.
Sketchy product packaging photos suggest ‘iPhone 6 SE’ branding
Stabilizing the world of hot and fast containers
> 2^64 bytes

18446.74 PB
The behavior is implementation specific. It differs between browsers.
I think it also make the HTML easier to read.
Don't disregard accessibility. Think of the search engine crawler as a disabled user. The ARIA roles (and many HTML elements have good, sensible defaults) carry a lot of information that a search engine can use as easily as a screen reader can. Good a11y is good SEO.
I used to work at a place that had an intentionally slow dsl line, and a ~5 year old, beat up pc to test their code on. If it worked there, it would work for their customers.

I wish more places would try this. Sure, your app works in downtown SF, but if your customer is in Nowheresville, AL, you should probably spend more time optimizing.
I have seen no evidence to suggest that search engines care about HTML5 semantic tags. While the tags may be one particular signal, their algorithms use a lot of signals, so don't rely on markup alone. I suspect if they did give them any value, they would quickly be abused by the black-hats, so they don't bother.

As always, do what's right for your (human) users, and you will eventually get the SEO benefit.
I don't think that does what you think it does:

>>> reduce(lambda a, b: len(a) == len(b), ["a", "b", "c"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: object of type 'bool' has no len()

It's trying to do len(len("a") == len("b")) == len("c"), which becomes len(True) == len("c"), and len(True) doesn't work.

Some variations which do work are:

len(set(map(len, ls))) == 1
len(set(len(x) for x in ls)) == 1
all(len(ls[0]) == len(x) for x in ls)
len(min(ls, key=len)) == len(max(ls, key=len))

Append "if ls else True" to handle the empty list.
Fakespot Finds Nearly 62% of Weedmaps Reviews to Be Fake
> To my knowledge Yoga has never been practiced as a form of combat

An ancient Indian martial art that includes yoga:
https://en.wikipedia.org/wiki/Kalaripayattu

"The foundation of modern Asian martial arts is likely a blend of early Chinese and Indian martial arts." - https://en.wikipedia.org/wiki/Martial_arts#Historical_martia...
The question is: did they present actual Kung Fu techniques while competing in MMA? Or learned some kikboxing + wrestling?

For example when I see Machida competing in UFS, I clearly see base of Shotokan karate in how he fights. I can't say anything like this about Cung Lee or Roy Nelson.
Maybe they should get their CA cross-signed by one that's in all major browsers.
On the (in)security of popular open source PHP CMS platforms
Just call it "cloud". That's already a meaningless catch-all term that covers everything.
Agreed, it is hard to find the author's name. I noticed that it was by Rob Conery in one of the blurbs and that turned my skepticism to interest as I am familiar with Rob as a frequent guest and collaborator with Scott Hanselman.

As a self-taught programmer (English/Classics major), I am (or was) the target audience for this book, but with deliberation have returned to school (ultimately pursuing a master's in Computer Engineering).
And by lots of other CAs, too. I've never seen a cert that has such a long chain (up to 10 intermediates), not to mention, multiple long chains. This probably would be trusted by most browsers (path 7), but one intermediate expired last month.

https://www.ssllabs.com/ssltest/analyze.html?d=spi.dod.mil&s...
The OpenVPN Hardening wiki says 3DES-EDE is still fine

https://community.openvpn.net/openvpn/wiki/Hardening
Upgrading to Python 3 with Zero Downtime
> Sure, but my point is that any nontrivial property requires the programmer to write difficult formal mathematical proofs which is an activity completely unlike what you see in mainstream strongly typed languages (e.g. Haskell, OCaml).

So don't write the proofs then. Dependently typed languages don't require you to write proofs; they give you the ability to if you choose. Considering that it's impossible to write such proofs in OCaml or Haskell, it seems strange to complain that they're hard to write in a dependently typed language. "Hard" is strictly less difficult than "impossible".
My Time at Apple
cough That's kind of why I feel like Haskell is a superior language to most others.
This is a fair point but isn't software development (in general) trending towards this same reality? Consider a job where the plan is to write a straightforward web application that runs inside a custom-built Docker container. What sorts of skills are more important?

Someone with a CS degree but little experience is going to have a hell of a time writing a Dockerfile and the scripts necessary to safely and securely deploy their application. They may be great at writing web applications but "that's not the hard part." The hard part is getting the architecture right so that the app will stay up despite being deployed, rebuilt, and re-deployed constantly.

Someone who's self-taught probably picked up Linux experience along the way (because how else are you going to teach yourself web development these days?) and probably has experience with things like AWS and the realities of hosting a web application (as opposed to just writing a web application). They will have had to setup their own development environments, do their own Linux installs, and probably got used to figuring things out on their own.

The way I see it computer science is science. The point of a CS degree is to give someone a career path as a scientist. These are the sorts of people that should be figuring out the next great algorithm (for whatever), finding uses for quantum computing, and finding solutions to similar fundamental problems.

Software development isn't computer science. It's like the difference between the structural engineers that invented that hurricane-proof nail and the architects that decided to use it in their build.
Yeah I've tried a couple of times at getting Neo4j into stacks but the outcome has always been it's pretty much limited to baking relationship data pre/on demand that is saved elsewhere and cleared out otherwise you get into prohibitively expensive licensing / infrastructure territory very quickly.

At that point a more pragmatic solution has always won.
Small and medium size customers just want the cheapest architecture they can get, which is x86 or ARM fo servers and mobile, respectively. Large customers want leverage against Intel and ARM so alternative architectures are more important.
There are many software engineering jobs where Big-O is relevant.
Next question: how often would this kind of malprogramming actually lead to deal-breaking performance issues in a project? After a decade in the industry, countless projects delivered and much shit code witnessed, I can empirically answer this question, and the the answer is -- even at places that are known for their technical excellence -- not often.

Look, I'm not advocating illiterate programming, nor am I a proponent of unprofessional work. I took my share of CS classes, and I can talk about algorithms and how to analyze them. The number of times I have had to do so on the job, however, can be counted on my bodily digits, without taking off my shoes.

This is probably not an original observation, but a big part of why these unproductive conversations keep on happening here has to do with how young HN demographic skews. When the biggest achievement in your life is getting that new degree you spent $BIGNUMBER $$/years on, you're going to want to belittle workmanlike programmers who don't measure up to your own standards. It takes a while for people to move on and grow up.
Sites that want to support IE8 on XP while disabling RC4.

https://www.ssllabs.com/ssltest/viewClient.html?name=IE&vers...
The dunder functions are there to provide an interface to global functions and operators.

If you want to affect how str(x) behaves, you override x's __str__() method. Operators behave this way too: for example, if you want to overload the == operator for a class, you override __eq__() in that class (for any Java developers reading: Python == works like Java equals(); the Python version of Java == is the is operator, which cannot be overloaded). Yes, that means x == y is just syntactic sugar for x.__eq__(y).

The dunders are there so you have the freedom to name your methods what you want without having to worry that you'll accidentally clobber a method that affects a global or an operator, as most people won't just up and decide to both begin and end a method's name with __.
I know this is tangential, but Pandoc and Markdown in general benefit greatly from it.
So, this is the chip that Google, Facebook and Rackspace used in their design for the open compute platform[1][2]. Maybe the entry level price will drop when like those are buying them (or their components) at scale.

1: http://www.nextplatform.com/2016/04/06/inside-future-google-...

2: http://www.pcworld.com/article/3053092/ibms-power-chips-hit-...
That was surprisingly uplifting, I guess I have associated Snowden to doom and gloom as most things I read with his name attached make me feel worse about things in general, mostly in regards to the truth hurting.
Have you checked out https://www.quantopian.com? It is a fun platform to mess around with and get your feet wet with automated trading.

Edit/Addendum: I noticed they allow live trading after connecting your account with either Interactive Brokers or Robinhood.
I see your point, thanks. But the fact that not a lot of research is done in this field doesn't tell you much about the validity of the non-scientific blogosphere findings, right?

Nice analogy btw.
The climate is tense. Earlier this month, there was a stampede of hundreds, that ended up with several people in the hospital. The reason? Some german girls made a flashmob, as they had been doing it for years - but this time people thought that it was another terrorist attack [1].

There need to be limits, and while it is very difficult for everyone to agree on where they stand, and easy for us to mock the "Leaders need to do SOMETHING!", they only have so many tools to try and improve the situation. Banning the burkini is one of them (that I don't find particularly useful, but anyway).

Once burkini has been banned, you can respect the law and/or protest against it. If you choose to protest it with civil disobedience, you go to the beach and refuse to leave, this is going to happen. So this woman might have decided along the way that it was better to take some clothes off than to leave, or perhaps she was fined and was trying to talk herself out of it. Who knows? We lack sufficient information.

But I don't think it is justified to classify this as "police forcingly undress and shame woman", and make the moral parallel with islamic police making women cover themselves. Pkgundert's comment (https://news.ycombinator.com/item?id=12352409) gives some reasons. You could also read that and cynically say that France is here also practicing tyranny.

The fact is that the context of this news is that France is in state of emergency, and this woman chose to practice civil disobedience in Nice barely a month after the Nice attack.

For comparison, as you say you are american: ranked against all terrorist attacks in USA [2], Nice would end up ranking 3rd or 4th.

Perhaps that's what the terrorists want. But the fact is that the tension is already there, and there would have been problems even without the police:

>“The saddest thing was that people were shouting ‘go home’, some were applauding the police,” she said. “Her daughter was crying.”

[1] http://www.politico.eu/article/german-tourists-prank-trigger...

[2] https://en.wikipedia.org/wiki/Terrorism_in_the_United_States...
It has me labeled as very liberal too, but I've "liked" guns, firearms, and more conservative politicians than liberal ones, etc.
I wish more web developers would test their sites on 3G connections with Australian latency :-)
Good on them. In my observation, Macs have two markets:

1) Developers and power-users (graphic designers, video editors, etc.) who need a high-performance machine.

2) People who are self-professed "not very good with computers" and don't do much other than email, browse the web, and occasionally process word documents.

The latter have traditionally gone to Macs because they're considered easier to use and have a nicer form factor than most Windows laptops. Unfortunately, they pay a pretty penny for it. I remember my undergrad university advertising their "great" discount on a Macbook for incoming students, and it was still north of $1500.

Chromebooks are great for that group, and they cost a fraction of the price of a Mac. They can cover the needs of your average student/senior citizen without breaking the bank. And they won't last as long, but even if you get four years out of a $300 Chromebook, I'd say it served its purpose. Migrating from one Chromebook to the next is pretty seamless, having done it myself.
I Skipped Eye Appointments for a Year and Became a Better Coder
LegUp: automatically turn C programs into FPGA chip schematics
"Utterly bizarre" captures a lot of my feelings about science funding and the graduate student research mill, yeah
One of the advantages of large lighter than air craft is that they actually tend to crash in slo-mo, so the "sudden stop" tends to be pretty slow. In the case of the Hindenberg, a lot of the people who died did so because they jumped out too early and fell to their deaths, rather than "ride" the craft down.

Even in the worst disaster, the USS Akron, most deaths were due to drowning and hypothermia after the ship went down, rather than impact.
I learned big-o around 15 years ago, and have never used it professionally. (I forgot what it meant when I had a phone interview with Google).

I do know that some algorithms are more efficient than others, and some sorts depend on whether you expect the list to be random, sorted or partially sorted. If I find myself in a situation needing to choose between libraries. I would guess that half an hours reading would refresh what I need to know.
Also catching fire while aloft can be an issue, cf the Hindenburg.
It'll be interesting to see how they actually implement this because while the EU has this ridiculous Cookie law (you "need" informed consent) almost every serious commercial website has an annoying pop-over.

This could promote the less explicit sites over those that are just trying to follow a [ridiculous] law.

TFA does mention "legal obligations" being excluded but seriously, how are they judging this? Are annoying adverts for Millies Cookies going to be okay?
No, really. I get it, building your own CPU is fun. But they're all useless for the debate at hand, because nobody wants obsolete, slow, power hungry CPUs just because they're free.
Yeah, good question. One could probably make an argument about Cung Lee using a Kung Fu style, but probably not Nelson. Nonetheless, it is interesting to think about Nelson starting there, and I do wonder if he would give you a better answer than I.

Edit: vague pronouns
> While such distinctions are certainly useful, an introductory/broad-overview explanation like this seems to benefit without such complications/distractions.

I don't think misrepresenting types is the way to go. An introduction like I just gave seems simple enough, where a type is a proposition about a program, and you just then explain that most such propositions are "variable X may take on values from set Y".

It's important not to perpetuate the false notion that sets of simple sets of values suffice to explain types, because it entails the common and equally false notion that full test coverage in a dynamically typed language suffices to match the safety of a statically typed language.