skysight-inc/HackerNews huggingface dataset:
It seems pretty easy to control for this, just write the functional version first, and if it is as big free your results obviously sidestep this criticism.
Uber Needs New Leadership
Thanks for the write up! In the beginning you mention that you ran into some bugs in the Python version that would have been caught by the Haskell type checker. Can you go into more detail about what those bugs were?
Articles like: We switched from language X to language Y with the conclusion that language Y is better smile

My favorite is when they make another post half a year later saying they changed from Y to Z.

It seems that following the trend and using the latest and greatest tools doesn't necessary mean the new tools are better, but that you got to rewrite your applications from scratch, with much more knowledge about the problem domain then before.
The Story of Firefox OS according to one of its engineers
My fault: s/Do/Does/

:-1:
I'd propose that a free press is not a binary thing. Sure, by definition, if all we care about is government censorship and intimidation, China's press is not free. But if we want to see the root issue of good quality, comprehensive, bias-free news, most media (at least in the US according to the following study) fails the test [0].

That said, are you suggesting that highly-correlated, anecdotal evidence of having more wealth, better quality social services, and not currently suffering in a retrogressive cultural revolution can't be trusted because there is no free press to tell people that their quality of living is definitely trending upwards?

0: https://mospace.umsystem.edu/xmlui/bitstream/handle/10355/26...
From day one, they should have called it the "Loser" instead of the "Finder".
She's honestly one of the most amazing people I've ever met. Go chip!!
Sexism at Uber from female management #UberStory
The core concept to remember I think is that there are two ways to pay for things:

* Ways that involve cash or cash equivalents

* Ways where a purchase requires the permission of someone else

Just think of the word authorization, which is a required element of essentially all non-cash transactions. It has the word authority embedded right in it. If you're OK with that concept, you are necessarily OK with the idea that someone you have never met and don't control has the ability to stop you from using your funds in the way you'd like to at any time.

A cashless society is, at a fundamental level, not free.
For me it was pair programming, without a doubt.

A year and a half ago I moved from a large enterprise to a small consultancy who practices pair programming. I've learned a great deal more in that year and a half than in the preceding five years working solo on agile and not-so-agile teams.

Good practices and spending time attacking problems together with various colleagues across different projects and tech stacks is what has gotten me to that next level. I'm completely sold on the practice.

I'm much more productive while working with a partner than I am solo as well.
I'd argue the same thinking could have been applied--perhaps moreso--to Palm/HP's webOS, which was thrusting in the same direction as mid-range tablet OS with the Touchpad, and into a desktop-capable OS (demonstrated in early state) before its EOL.

Plenty of parallels between the two OSes, down to some of the personnel who bailed to Firefox OS from HP.
Silly question but how did you find the source? Must be overlooking it but I don't see Independent listed anywhere on that page.
I like this list a lot, and quite a few of these address real issues I've also hit in my career.

Quite honestly, I wish more tech interviews would focus on this kind of stuff rather than language trivia and "stump the chump" algorithm questions. It's 100X more important to the success of a project than how you would implement quick sort.
Interesting -- just got back from Japan, traveling in smaller communities. Almost all of our transactions were in cash.
I am a "domain expert" and that is why I use stack for Haskell projects. It's much preferable to let somebody else handle the burden of ensuring that certain dependencies are compatible with each other.

> Stack is a mysterious "solution" to a problem

There's nothing mysterious about stack. It's just a group of people who step up and say "I am responsible for package $x" and then work together to find stable sets of versions that are guaranteed to work together.

The whole process happens out in the open, for example here is an issue tracking a compatibility breaking change in a common HTML library: https://github.com/fpco/stackage/issues/2246
I'd walk a long distance trail.
Me too :(
This Indian Cop Took Down a Massive IRS Call-Center Scam – Narratively
Please don't change submission titles.

Also, the authors submission of this story is already on the front page.

https://news.ycombinator.com/item?id=13782709
I'm a big fan of the online version of Eloquent JavaScript, it has inline code blocks that you can edit and run. Make's it really easy to test out a concept you just read about.

http://eloquentjavascript.net
Note: this book is copyright 1994, the same year linux 1.0.0 was released.
I think this slightly understates the "business development" problems with developing a new OS, and a mobile OS in particular. It turns out that there are certain apps that, if they are not available on your platform, are immediate deal breakers for huge numbers of consumers (to the extent that they will ask for them by name in stores and return devices that won't run them). Often these apps lack web frontends (for non-technical reasons).

Obviously there are technical workarounds that you can attempt but consumers are wary of "knock off" products. So there is a vicious cycle in which people won't produce the content that you need to get users until you already have users. Possibly one can break this by supporting Android apps, but you would have to make the experience as good as an actual android device, which seems both demanding and limiting (because of cross-app interactions via e.g. intents).
The Long Tail of the Attica Prison Riot – The Morning News
Do you think it's okay for religions to push their agenda on impressionable young minds?

For anyone who is in doubt: yes, as specified by law and international conventions, at least here in the west.

Just the same way as atheist parents are allowed to push their agenda.
I see your pain. Did you try turning the monitor or desk to different angles? Is is funny sometimes seeing my dark face in code editor :-)
TABLE ELEVATRICE BISHAMON
There have already been tourist flights to space (eg ISS), plus Virgin already has deposits on suborbital flights. So I would argue the door is open and there's money to be made.

Perhaps the winged approach is not optimal for orbital missions, like to the Virgin hotel, but I can't see why they would turn down scores of paying suborbital trips, for which wings probably make a lot more sense. They might as well keep up the SS2 path to finance the higher goals.
Not really. Even then you'll get criticism that the teams were more skilled in one language, or that they didn't use the best practices of the other language. Also, even if you could manage to normalize for all these variables. You're still only going to be comparing the cost to create the project. You're never going to get someone to maintain the two projects side-by-side for years and compare the total maintenance costs. That is where the biggest benefit of languages like Haskell comes.

The fact of the matter is there never will be absolute proof of these questions. The naysayers will always have straws to grasp at.
Not because it's a walled-garden web-app, because of what's in it. Public utilities aren't determined by their structure.
Google home 1.21 – steps to add multiuser
I agree that dogfooding is important. Our users and customers run GitLab both on bare-metal and in the cloud. GitLab runs better on bare-metal because it tends to have better IO performance. So by running it in the cloud we are optimizing where it is needed.
Ad hominem appeal to hypocrisy (tu quoque) is not a valid argument. The pot can call the kettle black, and be objectively correct. The kettle can then call the pot black, and be objectively correct. It makes no difference if neither one subsequently goes over to the kitchen sink to take a bath in the dishwater.
Awesome! The first movie ever made based on an anonymous comment on HN. Wait. So I can't get a cut in the profits then?
Ehm ... Firefox OS has a full featured browser. And nearly every platform where web apps would work. Or do you mean few have internet access?
Maturity comes from:

* Millions of person-hours being poured into a language...

* ...Over a long enough time period that the language can go through several develop-eval-improve cycles - that take real world use cases (And not one-liner bubble sort implementations) into account.

In this sense, it doesn't matter whether or not Haskell was invented in 1890, or 1990. #2 is required for maturity, but so is #1.

(I am not a huge Python fan.)
New Bill Would Legalize Active Defense Against Hacks
I switch back to Mac from Linux so I could have grep, pipes, sed and all the UNIX stuff alongside real commercial applications like Word, Excel and Photoshop.

The irony is now I run Linux in a VM because the toolchains for the embedded work I do all run there. In principle I can make it all work in MacOS, but it already works in Linux.
this is WAY more powerful than iMovie. It takes the training wheels off from video editing but is actually very easy to learn. A good resource if a udemy course for it. That was the training that, not just for this video editor but for video un general, stepped up my game!
No, it's textbook false equivalency. When Gitmo was called "the gulag of our time", the UN failed to mention that while Gitmo had about 150 prisoners at it's peak, Sibera had tens of millions.

It's not an appropriate comparison.
On PHP, Scala and Node.js
I guess this is true if you don't need to interact with any system libraries.
I love the idea. The execution could use some improvement.

My suggestion is to focus on the user experience of one phone per game, rather than one phone per player. This way the players can pass that phone around as a marker of who's bet it is. When it's your turn, you look at the phone, see your chips, make a decision, place your bet, then pass to the next player.

Bonus points if you tie this into a tracking system and let players create leaderboards they fill over time.
For those wanting something like this you can expect Samsung to announce a wireless version of their GearVR headset soon.
For decades now we've been hearing that China will change and become more democratic as its economy grows. It's one of those issues like the Israeli/Palestinian conflict that you'll read an update on every week in the NYC or The Economist for 20 years straight.

China got things to work though. It did it without a free press. It did it without an independent central bank. It did it without elections. It did it without Facebook, Google, YouTube and Twitter.

What did China get to work though? Nobody knows. That's because the western press ignores the inner working of the structure of their society. They only focus on what they do and how it is largely bad and can be remedied only by adopting our systems. There isn't any attempt at understanding or self-criticism.

I just find it annoying when there is ideological and cultural conflict that continues in an endless stalemate and every week it's groundhog day.
I would never support getting rid of cash, it's a basic right to spend money without being tracked.
Coding and architecture systems. And constantly asking:
- How can I write this in the simplest way but not in a simplistic way?
- How could I have built this in a simpler way with less things that can go wrong?
JavaScript Daydream controller
Could you share your snippet? I use stylish just for turning gray/dark theme websites(domestic ones) back to colorful again since the King's passed away :/
Exactly, everything is private unless it was posted in public by the author or explicit permission was given. We have a transparency value, but we understand that other organizations are different. And even we assume that our private communication will stay private.
In europe most of the population seems to prefer to pay in cash (for clothes, groceries, electronics etc. pp.).
After having my card skimmed for the 4th time (at a gas station pump, at checkout at grocery store, etc), I decided to pay for everything with cash. It's not worth the hours it takes to clear up things with the bank and I get a better understanding of where my money is being spent when my wallet gets light.
I built a programming language. I was inexperienced, winging everything, but I wrote the parser, interpreter, runner and virtual machine. Then I tried to make it as fast as possible. This accelerated my learning more than almost any other project I've worked on, and taught me things about profiling and optimization that I use in my career every day. I hit nearly every aspect of development in one fell swoop, and I look back on that time quite fondly.
Yelp rolling out gender neutral bathroom locator
Virgin Galactic spins off dedicated satellite launch company
> So, my sins don't matter, let's ALWAYS focus on the other side's sins.

No, it's simpler than that. Not all sins are equal.
The night zombie smartphones took down 911
I can go weeks without touching cash these days. Nonetheless, I find the idea that I could be prevented from making a person-to-person financial transaction for even a modest amount without a paper trail pretty unsettling.
There's also these weird remote countries nobody has ever heard of where 1/3 (estimate, but more than 10%) of restaurants only take cash, paying amounts < 5$ still grants you a weird look at best, a nope or wtf at worst - and there are in general a ton of shops (bakery, butcher's, boothes, vending machines, etc) that don't take anything but cash, and usually still can't change a 50 :)

Oh, by the way, one of these countries is Germany.
> bricked over for easy protest breakup

What do you mean by this, exactly?
Public Speaking. Being able to speak confidently in front of people, whether in meetings, in groups, or at conferences as a speaker has done more for me as an individual than anything else. It's a skill that I carry with me everywhere I go, regardless of the industry I'm in. It's something I use everyday.

I know this isn't something specific to programming, but it's the one skill I can point to and say "this is something that has helped me every day." Being able to clearly and confidently articulate my position. Being able to put myself up in front of people and share ideas and potentially be wrong. Being confident enough to ask for help.

I'm never going to learn everything, but this one skill is something I feel is invaluable whatever career you choose.
It just keeps getting worse, doesn't it.
Stack requires package sets (aka "snapshots"), which some kind of CI system (Stackage: http://stackage.org/) has to do a daily build job to see if they all build and pass tests together. That requires some money to keep running, and buy-in from package authors as there is a maintenance overhead each release. It took a few years for Stackage to get enough packages in it to be generally useful, and then we wrote the Stack tool which was able to default to using Stackage snapshots.

There was (and still is a little bit) of resistance to the whole idea of Stackage from the community; people liked the idea of build plans magically being figured out on demand, it's an interesting research problem (it can be hard to let go of an interesting problem when a solution side-steps it all together). I believe eventually many people changed their minds after experiencing the simplicity of using Stack and not having build hell be a substantial part of their development cycle.

Python would likely have to go through the same process. Although with Stack and Yarn providing frozen builds (and QuickLisp); the idea has some precedence, which makes it an easier idea to sell. I mean, Debian and a bunch of other OSes do it like this, but experience shows programmers don't pay attention to that.
Bingo, I think you nailed it.

The cashless society – which more accurately should be called the bank-payments society... is a utopia where money cannot leave – or even exist – outside the banking system, but can only be transferred from bank to bank.

Such a system replaces a relationship between two parties with relationships between those parties and the bank. If either party falls out of favour with the bank, they can't do business with each other.
Hypocrisy isn't a crime, and it doesn't erase crimes either.
> what the fuck are programmers thinking when writing today's programs

The difference is in the old days, you adapted to computer. Now, computer must adapt to you.

Take a look at MS's latest text-editor program's release notes (https://code.visualstudio.com/updates/v1_10). They have to build a program that accommodates so many different existing must-have features (from a potential users POV), and for each feature, accommodate almost every flavor of configuration that has ever existed for any other text editor whose style the potential user is now "locked-in to". Otherwise user will refuse to adopt.

In the 70's, I assume the audience was a pretty tight knit community of computer engineers, coming from a time of very frustrating tooling where it wouldn't be uncommon to lose a day's work because the 'Save' function failed or something like that. In this environment, you learned the crazy unintuitive keymap for vi and called it a blessing.

Now, you yell at your editor if it doesn't remind you to save your work when you close it. Or you yell at it when it does remind you; too many pop-ups! The point is that user preferences are more fragmented and expectations are higher for features, and willingness to learn details and gotchas of a program are lower, which has created the bloated program for the simple things like text editors.
Hi! Unfortunately, compilers must take at least linear time to compile code, because they must examine every character. Ditto for pretty much any serializer. Also, you'd think that the number of LoC matters, but the choice of language matters too; look how long it takes to compile terse high-level languages like Haskell. Finally, as you probably already know, many steps of a build are non-parallelizeable, and as others have already pointed out, even a task like linking a binary can take multiple minutes at scale.
I'm the "et al." who wrote that chapter, and I don't understand what you're trying to say.

What do you think "client" and "server" mean, and what do you think is wrong with that paragraph-length footnote (besides its length)?

Could you please try to rewrite it more accurately or in fewer words?
You Don't Know JS's one on Async was the book that finally made the lightbulb go on for me with Promises. Can't recommend it enough.
Platform Embedded Security Technology Revealed gets mentioned a lot around IME PSP discussions and it's actually available as a (legitimately) free epub and pdf: https://link.springer.com/book/10.1007/978-1-4302-6572-6
Caterpillar Ventures Invests in busybusy
Can somebody explain this?
> The issue here is that we cannot run runWorkerLoop and runFetchLoop with forkIO, because we don’t have the right transformer stack.

Am I understanding correctly that this is because, while you can lift e.g. runFetchLoop to something of type IO m (), it's not possible to convert use forkIO on it since it requires an input of type IO ()? Isn't that just a consequence of the fact that Haskell has no possible way of knowing if your side effects can be contained in the IO monad?
Just wanted to throw in my 2 cents. Ordered my laptop in 2012 and couldn't be happier. Still using it today.
Except Sweden apparently.

https://www.theguardian.com/business/2016/jun/04/sweden-cash...
I don't think that at the raw level there is that much of a difference. XCreateWindow() has mostly the same arguments as CreateWindowEx() except that the X11 API only handles creating window and does not mash it together with upper layer concepts like event handling (lpClassName) and widget sets (hMenu).

The X11 model is also easier to reason about because it is clear where the layer boundaries are and what is implemented in your process as opposed in the kernel/display server and what causes some kind of IPC (eg. what happens to lParam when you send message to window with WndProc implemented in different process?).
> Author is not proficient at shell

> Partly because shell has some flaws, but more because of the insane amount of broken scripts and tutorials out there.

So what are you saying then? Basically, "git gud"? I am struggling to find your exact argument here. I wonder if you keep saying "it's not broken, you're just using it wrong", or "you must be proficient and if you're not, it's nobody's fault", or what exactly?

The main argument here is IMO that unstructured text which can be parsed with space/tab delimiters in mind is NOT good enough. You say it is. I disagree; I've had numerous cases in my career where any random dev never takes that into account and just throws almost-native-English files into a Linux VM expecting a 1970s system tool to be able to parse it and make sense of it.

Their fault? Absolutely and definitely. But it's the job of the tech to slap you through the wrist if you are not obeying to standards. Computers are not AI and they need protocols / standards. Are there standards in piping things between processes in UNIX/Linux? No.

Then what's the point of technology at all, I ask.
It was more realistic back when the <BLINK> tag worked:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>UNIXUX: Click on the cursor.</TITLE>
<META NAME="Author" CONTENT="Don Hopkins">
<META NAME="GENERATOR" CONTENT="User-Agent: Mozilla/3.0Gold (Macintosh; I; PPC)">
</HEAD>
<BODY TEXT="#7CFE5A" BGCOLOR="#191919" LINK="#FF0000" VLINK="#FF3333" ALINK="#00FEFA">
<P><B><TT><FONT SIZE=+1>UNIX HATERS Release 2.0 (unixux)</FONT></TT></B></P>
<P><B><TT><FONT SIZE=+1>login: <BLINK><A HREF="password.html">_</A></BLINK></FONT></TT></B></P>
</BODY>
</HTML>
These are also all possible with Service Worker enabled web sites. IMO that's the best possible model - no app store friction, you start using the site immediately, then add to your home screen.
My biggest concern is the frightening fact that all of these cashless systems are powered by private, for-profit banks. I'd be more fine with a move to cashless if the fundamental system which powered it were operated by the Fed (for free, as a public service), not Visa or Mastercard.
It seems to me that as a parent of a child you are entitled to insist upon one nice photo of your child per year. Outside of that, you can make a request of your child for whatever kind of photos or audio recording that you like, but after your child declines such recording for the 3rd time, you must go one year without asking again. If you fail to follow these guidelines, you will likely one day be labeled a creepy parent. If you ever acquire that label, you'll wish you had a time machine, because there's no other way to remove that label.
Oh boy. And in Tenence's html:

> <html ng-app=JetSmarter>

Definitely not a good look at all.
Thanks for sharing, that was an incredible story. I still have warm feelings for the idea that the open map might -will- still win this.
The TPP actually had a rider on it preventing the deal from going through with countries that practice slavery. This effectively ruled out Malaysia.

In what is probably the lowest point in his career Obama objected and effectively said that slightly lower trade barriers mattered more than slavery.
SXSW responds to claim that it will deport musicians who don't follow its rules