skysight-inc/HackerNews huggingface dataset:
That has never been a problem in a large part of the programming job market. If your skill set fills the job opening a big coorporation or institution has, and that job sets you up for life (instead of the frantic contract based work for startups or small companies) then exploration is a luxury, but in no way a necessity.

Note that logic applies here: I'm questioning the "you should know" claim, not claiming "you should not know" because that would be ridiculous. Learn all you like if you feel that gives you a leg up, or an enriched quality of professional life, but it is absolutely not a requirement in a well-paying part of the real world's programming landscape, so claiming "one should" is a little rich.
Can't second the econtalk recommendation enough - I first heard about the show some years ago on HN, and have listened weekly ever since - so I hope a few more people get introduced to the show thanks to this comment thread!
Trolling level: Tesla
I feel that case just begs the answer. You're describing a job which is defined as "don't change anything unless absolutely necessary", so it won't directly help your work to learn how to change things. This doesn't seem like a deep result about the uselessness of learning new programming paradigms.
"Economics in One Lesson" is not by Sowell.

"Undercover" is an entertaining read. Highly recommended. Has none of the rigor of Sowell's work. Much more highly recommended.
Apache Solr 5.5.3 released (2 critical fixes)
The good haskellers I've talked to about this say Haskell has only recently become a mature language=)

The modern fast data structures packages date from 2007 to 2011 (containers, vector, text, and unordered-containers).

Recently there have been more breakthroughs like FB adoption and an unrivaled web API library in Servant (https://haskell-servant.readthedocs.io/).

Also we got Stackage and Stack recently (which ended "cabal hell"). Even "cabal hell" is gone with the new cabal-install improvements.

So don't count Haskell out too easily because it's old. It's an awesome language, but it took people a long time to figure out how to program well in it, given that it's so different from the normal way of doing things.
And John Leonard at MIT has said in the last couple years "not in my lifetime." He's in his forties or so. At least the particular quote I looked up was "taxis in Manhattan."

It's certainly possible that at least subsets of highway driving could come much sooner. Which would be useful but you don't get to the whole potentially not own a car until you can self-drive without a human present on most roads under a wide range of conditions.
Being familiar with different paradigms extends your capabilities, allows you to investigate problems from different angles, and pick the solution most appropriate to the domain.

Even if you learn something 'useless' (either to the current problem or in general), it allows you to discard certain solutions, and know why they are not a good approach.
Documentary Viva Amiga nearing release
I'm a noob regarding 3D engines/hardware and have a question: Why haven't we moved engines to the 3D hardware?

Like, why can't we have a high-level engine running on the GPU itself, updated through drivers, and just feed it a monolithic file containing the game level's entire geometry, for example?

So that developers can say, here's the world, here's the textures, here is the models for monster A, monster B..and then just update each model's location and the camera position every frame?
They are all useful. Functional: reducing side-effects improves potential for concurrency; Object-Oriented: create a new type and overload operators to make it feel like the abstract mathematical idea it represents; Procedural: subroutines are pretty much indispensable.
31 Interesting Facts About PS4 Pro
Perhaps it's an "emergent property" of the system of laws, and culture, that are in place?

How much "charity", percentage wise, do you think corporate management could actually take part in? (I don't mean P/R posing as charity costing 1% of net profit, I mean things like deciding to do something cleaner/safer which would cut net profit on a major product in half)
Good luck Patrick on this new adventure.
There's a value to the employer to pay minimum wage, while having a "captive" (pun somewhat intended) employee base who doesn't suddenly quit and can't go get a better job due to unrealistic demands.
The work described is very interesting, although when I first read the headline I thought the article would be about training a model that predicted book ratings based on book cover images. That sounds like a fun experiment to try, too.
> How do you pay your lawyer when the state or bank decides to steal from you?

In my (limited?) experience, unless the lawyer costs <$5000, you have good friends, or the lawyer likes you an awful lot, you kind of still need to tap your (now frozen) bank account for this use-case.

I do not recommend being in this situation.
Which is what they did. It's inefficient, because it's a brute-force process, but it works.
>realist contrarian question: why? If you didn't receive a formal education but you got good at OOP js or php, your expected salary gets pretty close to six figures. No understanding or even theoretical appreciation of other paradigms required.

Because it's about the knowledge, and about doing what you do better, not merely about how much you earn.

"Give him threepence, since he must always make gain out of what he learns" -- Euclid said to his servant when a student asked what he would get out of studying geometry.
The RGB color space works, it just has light encoded in each channel (making it unnormalized). Separating out the light, i.e. normalizing on the color is what gives LAB the advantage.

Further, because the way RGB is structured taking the difference between channels is more difficult (requires more calculations) than it does for the a & b channels. For instance, the a channel represents red to green, or positive a represents red and negative a represents green. This aids in finding edges between red and green with a simple addition/subtraction between pixels(a[i,i] - a[j,j]). If we were to try the same thing in the RGB space it would look something like (R[i,i] + G[i,i]) - (R[j,j] + G[j,j]), and you would still have the impact of light to deal with...
If you have to go abroad, why not UK or Ireland?
why would you believe companies would pay multiple people lower salaries, totalling more than a single six figure salary when benefits and taxes are factored in? It's easy to ignore large corporations and both government and private institutions, but they are not interested in efficient quick fire best solutions, they mostly care about things simply not breaking, and veeeery slowly moving towards what 5 years ago was the future, just incase the actualy 5 years from now prognosis doesn't pan out.

Learn all you like, it's a great idea and makes you a versatile developer ("for some, X is great"), but don't ignore a very real part of the world where versatility is literally a non-issue, and being able to maintain an aging codebase without suggesting changes is what gets you set for life. Claiming that "everyone should X" ignores the real world.
Or maybe the user just enjoys penises, or wants more dong for himself at a personal level. Not everyone uses HN as an extension of their business/professional interests.
The flip side of the lack of scientific evidence is that you have no reason to believe that any paradigm you happen to know well is any better than the others. So if you can't trust other people's opinions (which when they are in the form of popularity surveys and shiny blog posts I absolutely agree with), how else are you going to find such evidence than to try using ideas you're unfamiliar with?
I don't know.. OpenBSD is working pretty great on Chrombooks for instance, including the touchscreen. It wouldn't be too impractical to run on these tablet-like computers.

https://jcs.org/notaweblog/2016/08/26/openbsd_chromebook/

https://jcs.org/talks/2016/09/07/chibug_openbsd_on_the_chrom...
Then the company decides to outsource the IT doing the maintenance of that complex codebase to an Indian off-shoring company and fire 80% of the team, leaving just the ones needed to work as technical leads for the off-shoring team.

Now those guys are stuck with outdated skills that no one wants to hire.
Textpattern CMS 4.6.0 released: it's big
It's hard to see - to open my eyes and see a person in this state - and let's not forget that she's hardly the only one. We only know about Ms. Manning's situation because she's famous.

Criminals should go to jail (I'm not referring to Ms. Manning's legal status, just speaking generally), sometimes wars must be fought, but while we do what is necessary we don't want to be a criminals or war-mongers ourselves, and therefore we should treat even prisoners with respect and compassion.

I was reading elsewhere that prisons are cutting food to save money; it's inhuman and criminal.

http://www.npr.org/sections/thesalt/2016/08/26/491236253/ram...
Because it's trite.
I really like the growing interest in making lisps that compile to C, and one that is purely function is even better. I'd be curious how the GC in this compares to the fascinating work in Chicken for novel GC in C environments.
These notebooks are just Python code. They even have #-comments instead of markdown.

For awesome Python notebooks, see http://norvig.com/ipython/README.html
I appreciate the point, but not everyone loads their tablets with video media, much less HD movies. We have 4 tablets (and a few phones) in my family, across a wide range of android-type devices (i.e. including some Kindle Fires), and while the kids do fill them up with games rather quick, none of us put movies on them. We stream everything we want to watch because it's more convenient. 32GB still seems rather large to me, given how we use our devices.
> that kind of self-processed humility could be a really dangerous manipulation technique :)

I just don't see that.

"I believe these things are true, but I acknowledge that I am, like everyone else, subject to unconscious biases."

"Well, that's exactly what a hyper-manipulative sociopath would say"
For her specifically, I'm afraid short of a mass popular movement to free her, not much.

EDIT: Although, making her situation as public as possible might help ease the most blatant abuse she's suffering. Sometimes the state cares about extremely bad publicity. But there are no guarantees.
One query, multiple result sets--so you can get a customer and the customer's orders in one shot without any join awkwardness. It's part of the jdbc spec and somewhat common in mssql land.
Come on frozenport, do you really think that applies to Standard Chartered, Jane Street, or FB?
Put it in a more readable format here: https://gist.github.com/mharris717/cb2111a4f74ea1ef7f3a5de90...
Well, this is true if all one is interested in is getting a job today.

However, the best developers aren't primarily concerned about getting a job or not, they are genuinely interested in programming as both an art and a science. Money and jobs is secondary (and readily available because such individuals are more skilled than those that limit their pursuits).
>In mission critical portions of systems people will use a functional style and try to isolate state, while most things in an OO style will be just fine.

What makes you think that programmers who are used to writing in FP style for mission critical components would step away from FP for OOP for less important code? In my experience, most of the time functional code is often more succinct and easier to write. I don't think it would benefit anyone to write the majority of an application in the more verbose style.

>languages like Go explicitly making trade offs towards simplicity

I think Go is a counterargument to your point here. It's simplicity makes it much less suited for multi-paradigm programming than a complex language like C++ or Scala.
> does this all via SQL injection

This isn't what SQL injection is.
Then, wouldn't the corporations increase the price till all prisoners are working? I'm guessing many prisoners aren't working. Feel free to correct me here.
Changing the industry requires having impact. Few people can even name those "Dual-camera setups" and even less bought them (HTC and so I presume).
And my response is still "why should they"?

Mind you, that's in part because of the ambiguity of the term "should": are you using the "should, as in nice to do but not required" or "should, as in required, and not doing it is wrong", because I'm on board with the first, but that is not how the original comment reads. That reads more like everyone should be familiar with multiple paradigms and not following that rule is bad. Which the real world heavily disputes.
The Bush/CIA enhanced interrogation program specifically defined torture, and kept the terms of the program outside this definition. This was done at the highest levels of the Justice Department, CIA, and military.

The laws against torture define torture in a specific way. So while a lay person may use the word torture one way ("Listening to my wife prattle on about soap is torture"), use of a legally defined word requires precision. Since torture is legally defined, and no one participating in the enhanced interrogation was prosecuted for breaking this law, after being extensively investigated, one can reasonably conclude no torture took place.
> I don't think reproduction is a good line at all; HN could still be guilty if someone posted an unlicensed copyrighted work (say, a news article).

There are 100's of these on HN already.

Just a few samples:

https://news.ycombinator.com/item?id=6262777

https://news.ycombinator.com/item?id=10862279
Unit Testing React Native Components with Mocha and Enzyme
So far git has only been requested by people who don't submit patches, those who have actually been interested haven't had any problems using CVS to send patches over the years.
Hash it, store the hash in a blockchain: https://www.gwern.net/Timestamping (One of the few things blockchain stuff is useful for)
FP and OOP are both just tools, how you use them is
way more important than which tool you choose.

I agree with this. I would note though that experienced developers don't always consider them equivalent tools, for instance Carmack suggests defaulting to FP when possible (from here: http://www.gamasutra.com/view/news/169296/Indepth_Functional...):

" No matter what language you work in, programming in a functional style provides benefits. You should do it whenever it is convenient, and you should think hard about the decision when it isn't convenient. "
Life after Codecademy: What do I do now?
>The fake Bokeh from the dual cameras looks like flat circles with Gaussian blur applied.

You can trivialy make a great bokeh implementation that's not merely a Gaussian blur.

And I don't see much horrible in these examples -- perfectly fine I'd rather say, if a little overemphasized. But you can get totally blurry bokeh from some lenses, including smeared highlights instead of nice little circles...
Haskell definitely has problems. I'm a huge fan of the language, but I think its disingenuous to pretend like its flawless.

To name a few:

1. Poor debugging tools. Unfortunately this is sort of intrinsically tied with non-strict evaluation. Typical evaluation stepping debuggers would be sort of unpredictable in haskell. Along these lines, haskell doesn't have stack traces enabled by default, and reading them is sort of tricky.

2. Clumsy exceptions model. There are asynchronous and synchronous exceptions, with the later being further broken down into exceptions in pure code or exceptions thrown in IO. Only exceptions thrown in IO are catchable. You can think of exceptions in pure code as similar to "panic()" calls in other languages, except they're even tricker due to lazy evaluation, and aren't necessarily guaranteed to be triggered due to slipperiness with laziness. Also since exceptions are used for interrupting computations (timeouts, for instance) and there isn't a way (other than some type class conventions) to distinguish between interrupting exceptions that should be allowed to propagate and exceptions due to "exceptional circumstances", catching all exceptions safely is a tricky matter.

3. Record syntax leaves a lot to be desired. It's incredibly easy to run into situations where you would have conflicting functions due to record syntax. Lenses are a partial fix for this, but its sort of annoying that something like row polymorphism isn't just a part of the language.

4. Laziness can make reasoning about time and space complexity trickier. Generally this is a little overstated, but you'll occasionally run into space leaks.

There are definitely real problems with the language, and some of them (such as poor debugging capabilities) can be legitimate showstoppers to use in industry, but generally I find that its advantages far outweigh its negatives.
Free Course: Introduction to C++ Programming
I've made it a side-mission of mine to convince journalists to work in plaintext as much as possible. For all the concern of novices being intimidated by plaintext and code (plaintext basically is code as far as most laypeople is concerned), GUI-heavy software and rich text exact their own cognitive toll, not just in the form of having to keep up with interface upgrades (I've yet to move from Office 2011 to 2016), but in the way the user has to be trained to memorize the quirks of how the software modifies the data.

Excel is the obvious example here, e.g. zero-padded unique ids `00011` becoming `11`, dates turning into numbers like `41566`, and that's before you get into the madness that comes when trying to import/export data (think Mac-style line-endings into QGIS into Mac OSX Office, etc.).

At some point, it's just easier to take some time and be comfortable with the idea that things can be represented in plaintext. That data doesn't magically become data because software is used to open it. I've spent a good amount of time having to convince people that that CSV text file I sent them is not just random gibberish (trying to figure out how people's systems are set up to open certain files upon double-clicking is also not fun).

The inability to understand how software and data (human-readable plaintext or otherwise) can be separated is not limited to the humanities majors. Here's a case in which a civil engineer convinced the Ohio Supreme Court that using Esri ArcGIS inextricably tied the software to the (publicly-funded) GIS data, meaning that any member of the public who wants a copy of geospatial data in a form other than printed map will have to cough up an extra $2,000: http://spatiallyadjusted.com/use-esri-gis-and-your-data-beco...
> I also believe the crazy complexity of OO languages like Java is slowly being reigned in.

Java itself is a pretty simple language, and the complexity of programs written in Java is partially due to the spareness of the language.
Have you look at DataGrip? (https://www.jetbrains.com/datagrip/) Been using since it was in beta, and it handles SQL Server and Postgresql well. (haven't used it for other platforms yet)
I think you mean late-morning coffee music. :P
Deepin OS: Linux desktop distro developed in China
Autobetes perhaps? One is autoimmune pancreatic insulin resistance (T1), one is self-induced pancreatic insulin resistance (T2), one is autoimmune or self-induced nervous system insulin resistance (Alz).
I'm not sure if right-aligned text is more readable.
That's true; but what I'm saying is that the guy in Africa will raise his/her price to not starve. He/she will double the price and the buyer in the rich country doesn't care. And the competition will do the same thing, as they're starving.

In the Great Famine, exporting leads to economic gain; it's just that people were poor. If you ban exports then exporters lose money and so they'll also become more poor.

Anyways, what you're saying is moot as we already have a world price for most food.
Most statically typed programs/systems these days (Java, C#, even C++ if you wish) these days, use DI via IoC containers as the mechanism for constructing objects and choosing which code to run. You can even do it with dynamic languages like JS/Python if you wish, though many argue it being dynamic means you don't need to use a container - which is pretty true.

This approach is equivalent to a family of functions (with side effects), one family per class, each with N(c) + N(m) arguments, where N(c) is the number of constructor arguments, and N(m) is the number of method arguments. Upon object construction, these families are partially applied to construct a new family of functions that contain only N(m) arguments. You can think of a constructor as a functor, that returns a number partially applied functions - the methods on the classes.

This is how I actually think of my OO programs these days. I also make liberal use of the actual functional tools made available to me. For instance, my bread and butter is C#, and LINQ heavily promotes a purely functional style when manipulating collections of data, though side effects are possible.

At a system level, I also tend to think of my data pipelines as functional transformations as well - their being written as an OO program is of little actual consequence.
If you're a developer making six figures and aren't really interested in staying up to date with current trends or becoming a better developer, then it may be a waste of time. This attitude may come back to bite you in the ass in ten years when you're looking for a new job and find that your skills are no longer applicable to the modern workforce.

I will say that it's virtually impossible to be purely an OOP programmer without using ideas that originated with imperative or functional languages. It's also pretty difficult to be a really good OOP developer without writing at least some code that looks very functional. There's a lot of ideas and techniques that help you as a developer no matter what paradigm you choose.
How is it that the development world lost track of what a command line is and how powerful it it is? Lets stop calling it the CLI.
Econtalk looks like a real gem. What other podcasts are out there?
Nope; it's absolutely clear right on the front page that it's a subset of Scheme.
If you take it as a given that any news publication is in some way or other 'for profit' and that all links are placed intentional some of the sensationalism is warranted.

"Illegal" content is anything that the source does not want distributed, and this ruling could make it quite hard for news sources to link to places like wikileaks.
It is highly subjective but of utmost importance. Let's say X species of hamster gives no benefit except diversity and there is plenty of hamster species. And let's say wiping it saves 1 person. You would need to consider if this species brings enough hapiness to human to warrant one death.

What I'm trying to say is (like the parents I believe) that the only thing affecting my judgement is humans qnd what the action does to them.
Radamsa – a general-purpose fuzzer
Sure, we shouldn’t have different internets for different countries.

But instead of applying US law globally, we might want to instead apply EU or Chinese law globally.

It can’t be that laws that only 300 million people can vote for are applied to billions of people.
I think one of the beautiful things about this story is that it actually describes two contrasting points of view on the matter, and one of them is in agreement with you.

The author spends far fewer words on her sister's perspective (who seems to share the same opinion you do), but I think talking about it less is kind of the whole point -- as you say, the answers are obvious and straight-forward, so there isn't much to go in to. The author herself tries to hold this perspective, but ultimately finds she has a different one. One that includes, among other things, the need to write this story even after "it is finished".