skysight-inc/HackerNews huggingface dataset:
Go is successful because it's exactly what Google needs to write back-end code. It's (almost) memory-safe. It comes with a set of well-debugged libraries for doing most of the things you need to do on a web server. That's good enough for most web-related work.

From a language theory perspective, there's a lot to criticize about Go. The "goroutine" and "channel" thing turned out to be less useful for general concurrency than expected. But it's good enough to service lots of network connections. The lack of generics means that functions like "sort" are painful. But you can still get sorting done; it's just clunky.

Haskell hasn't taken over the world because it's designed by theorists for theorists. It's too clever, or, "l33t", like LISP. Also, anything interactive is dominated by I/O, while the functional model is better matched to pure computation. The IT industry today is mostly I/O dominated interactive applications.

(It's not clear yet if Rust is "too clever" for widespread use. The jury is still out.)
Tor's FAQs address some:
https://www.torproject.org/docs/faq.html.en#AttacksOnOnionRo...
How to take over the world as a programming language community:

Neophyte: Hello, I do not understand this.

Haskeller: You should already know this.
I’m currently writing a paper on improving natural language interfaces for databases, and I’ve ran both Parsey McParseface and Stanford’s CoreNLP for that, and both have horrible performance.

Their results for even the most simple english sentences are horrible, often with multiple mistagged words.

As soon as you add relative clauses, they break down entirely.
You're just asserting, i. e. "which simply isn't the case over time". The article build a model that appears reasonable, and from which follows that any talent allowing returns above 1% of the market would lead to a wealth distribution different from the one observed in reality.
I agree Endo doesn’t add a lot of value. I tend to use “compose = foldr (.) id” for this, if it’s even necessary—most of the time my “pipelines” are not dynamic, so there’s no reason to put them in a list in the first place.
One thing that I really like about this is it makes building go things via Homebrew that much easier, I've just been converting my tools and things I install via a personal tap to use this - great effort!
I doubt most english speakers would correctly parse this sentence either, so I'd say the results are human-like? :)
discussion 20 days ago: https://news.ycombinator.com/item?id=13296717
https://en.m.wikipedia.org/wiki/Speaking_clock

I believe some of these used the same tech
Yeah, this is actually distinctly different from Chrome's profiles. Firefox does already have an equivalent to Chrome's profiles [0], so it wouldn't make a whole lot of sense to implement this, if it wasn't different.

[0]: https://support.mozilla.org/en-US/kb/profile-manager-create-...
> It's why virtually all mobile games transitioned from paid-upfront to the current model of dangling progress in front of the user and offering to pay to relieve the artificial obstacle.

Yes, that, but also because people will pay a lot more for IAP, over and over again. (Total amounts paid for super-engaged users will run to 10s of thousands of $, far beyond what you can even charge for a single app.)

(And on the flip side, the developer has to continue to improve and maintain the game to keep the $ coming.)

Much of the time, in my experience, when you pay to download an unknown app, it'll end up being poorly implemented in some way, and never made better. It's like paying $2 for a cup of coffee, but 95% of the time, the coffee turns out to be dirty water.
Printf debugging is right there in the prelude: https://hackage.haskell.org/package/base-4.9.1.0/docs/Debug-...
> TCP's default congestion control might be suboptimal on some pipes

Default TCP congestion control is Reno, but Linux uses Cubic, increased initial CWND and all the other modern modifications. CDNs have their own proprietary congestion controls that are arguably better, but Google has already pushed its own congestion control (BBR) into Linux, so it is just a matter of time until it becomes new default. There is no reason to tamper with these settings unless you are operating Netflix/YouTube, some sort of CDN or unusual (satellite) link.

> Maybe an option to choose an alternative controller via socket options (linux and windows offer alternatives) would make sense in some situations.

Only the server congestion control matters. Client simply acknowledges whatever it receives as soon as possible and waits for more data.
The combination of "it worked fine" and "so not the right language" is intriguing. You wrote about the lack of data structures, can you share more (in both directions)?
Graffiti: Embrace, Don't Replace [video]
I ran it against some JWTs produced by one of my systems and it reported success. The secret it gave was about 5 characters in length. The secret we actually use is 64 characters in length.
I don't understand. The Figwheel REPL does exactly that + hot loading. I use Figwheel with Cursive - works great.
DDG has become habitual for me, mainly because of the bang feature.

I have a blog on DDG's best bangs (and how to use them): http://duckgobang.com
That definitely reduces the risk vs. funding it yourself, sure, but founders are still investing a large chunk of their life into it, and that's not something people usually breezily write off. Having other people funding it can actually increase the amount of guilt and stress you feel about failing - you let down the people that believed in you. For most people, that hurts.

It's easy to sit on the sidelines and make snide remarks about founders who you think are wasting others' money paying themselves cushy salaries (most pay themselves far below what they'd make at Google), but I don't think you're really in any position to until you've put yourself out there in some similar fashion.
Fascinating article on reproducibility of scientific experiments, using the analogy of building a wooden clock based on correct plans: The plans were correct, but also allowed errors to be made by the builder, errors that compounded to create a block of carefully cut pieces of wood.

A block that did nothing.

It took the builder, himself a research scientific, weeks of determined trouble shooting to transform the block into moving parts that ticked.

He stuck with it because of centuries of experience that showed that it could work.

He argues that in reproducing scientific experiments that perseverance may be lacking and that we need to get better at documenting and describing out methods both to reduce the amount of perseverance required and to provide a foundation for that perseverance, reasons to believe that perseverance will pay off.
Your phrasing is curious. You're "not trying to justify something that [I] think is wrong." I would have removed the italicized section entirely. Do you not also think it is wrong that you have heard of a man with multiple wives but not vice-versa?
Not quite sure what you're talking about but it sounds like you want lenses.

Mutability is definitely not less hassle or time if you account for the dramatic difference in error rates and maintenance costs.
Oracle to Block JAR Files Signed with MD5 Starting in April
NATS (and NATS Streaming) is a good implementation of fast messaging with streaming/persistence built in Go without the usual Kafka issues: http://nats.io/

Also AMPS for the commercial software version: http://www.crankuptheamps.com/
I wouldn't be surprised if it took a couple days for people to switch over, you'd need to talk to people you communIcate with before switching, for one.
I think this assessment is magnificently incorrect. Over the past 30 years there have been very important experiments, many of which have reached the mainstream. This includes anything from the Higgs experiments to the LIGO experiments. What about things closer to the HN crowd, like communications infrastructure like the Internet?

The discovery of the transistor didn't bring an iPhone overnight. Same with many other scientific discoveries that had to go through a long engineering phase. I see a similar trend happening now with quantum computation, which has seen great leaps over the past 20 years and continues to accelerate in both academia and industry.

It's my opinion that, at least in America, we live in a less intellectually disciplined and intellectually favored society. Anti-intellectualism, even in nominally educated portions of society, seems to be on the rise. This unfortunately has the effect of making science look stagnant to the larger population, and unless there are gadgets of instant gratification that science explicitly produces, it'll remain somewhat obscure to folks uninterested in advancement for the sake of advancement.

As for the multiverse stuff, I'm not sure why you think that it has to do with the arbitrary selection of constants. The multiverse interpretation of quantum mechanics doesn't say "anything happens and it all happens in separate multiverses", but rather that—in simple terms—non-deterministic events like measurements bifurcate into separate universes. But QM still posits that the results of these non-deterministic events are each probable, and each obey the same laws of physics equally. In other words, it has a more "butterfly effect" on us, keeping physical constants as truly constants, not a "splitting of universal laws effect".
Yes!

https://docs.gitea.io/en-us/upgrade-from-gogs/
OK, the basic idea is that you have two functions, `f_1` and `f_2`, of type `a -> a`, and you want to run them both on an input value `x` to get an output `y`. You can think of `f_1` and `f_2` as a data pipeline that `x` passes through and then the output comes out the other end. So,

y1 = f_1 x
y = f_2 y1

-- or,

y = f_2 (f_1 x)

But what if you have an arbitrary list of functions as your pipeline?

y = f_n (f_{n-1} (... (f_2 (f_1 x)) ...))

Well, the solution is that functions of type `a -> a` are composeable, so you can 'add them up' as if they were real values (which they are). The Haskell function composition operator is `.`, so:

y = f_2 (f_1 x)

-- is the same as,

y = (f_2 . f_1) x

Now, how do you go from 'composing two functions' to 'composing a list of functions'? Well, monoids are a typeclass (a statically-enforceable design pattern) that encode the idea of being able to combine two things into one, and 'for free' give you a function `mconcat` that combines a list of those things into one. So if you have a monoid instance for functions of type `a -> a`, you're now able to combine many of them together, get a single composed function, and apply your input value `x` to that.

`Endo` is just a fancy name for 'function of type `a -> a`'. I agree to a large extent that all this category theory stuff can get distracting. I personally think type theory is a much more rewarding field of study. To 'endomorphism', a type theorist would say, 'Oh, you mean `a -> a`?'
Although I completely agree that luck is a major factor, the author loses me when he takes his hypothetical "lucky people get 30% gain, unlucky people get 10% loss" and builds on top of that as if it was a provable fact. It is okay to use this as a mechanism to illustrate that this matches the power law distribution that we see in reality. This part makes sense as an intellectual exercise.

Applying 1% on top of that as talent and rerunning it, stayed within power law distribution but making talent larger would break it. The faulty logic to me is what makes the "lucky 30% gain, unlucky 10% loss" fact? It seems much more likely that there is an 8% base (index funds, e.g.) with luck playing a +-10% and talent being another ~7% (as a hypothesis). Also, remember his "game" to prove luck > talent only ran for 20 years. I'm curious if I plugged this into a spreadsheet and ran for 50 years if I couldn't get the same power law distribution with greatly different factors. Mainly, it requires a lot of luck AND talent.
I'm not entirely sure what GTK or GTK point releases have to do with it. Isn't it just a programming framework with a GUI?
I think that the fusion guys think that they have made fusion work and are going to deliver it commercially in ~15 years (in ~5 years this claim will be either obvious or dead).

I think that the quantum computer guys think that they are about to deliver as well.
Which incentives are you referring to here?
Yeah, I've been using DSL for 15 years without hassle and never understand the exclusion. Sure, I don't get to brag about the 1.21 gigabits my bill says I'm supposed to be receiving (and constantly complain about not actually getting), but otherwise it's pretty much anything I could ask for in an internet connection.
I've never used a modern Java IDE (as I've been fortunate enough to never have to program in Java), but still feel confident in the claim that refactoring Haskell is 100 times easier, yes.
I think I once actually saw this. When I first started at the local telephone company back in the day I was shown the corporate PBX system which was interesting because it was a small step by step system in an era where such things were considered obsolete. There was a rubber belt running on pulleys in a transparent box. There were several magnetic recording/playback heads in contact with the belt. The bottom of the belt passed through a pool of lubricant. It picked up so much that the heads left a wake and had a kind of a bow wave. lubrication was apparently very important.
A few years and maybe ~50k lines of code, iirc. I've heard the exact same reports from people who work on multi-million-line Haskell codebases, though (e.g. Standard Chartered).
He's wrong, that's not correct. In fact it comes from "state", statism is a term referring to the actions of a highly centralised government who handle economic planning and controls.

"Statism" is a term that has been around since the 1850s, but "statistics" is a term coined by Gottfried Aschenwall in the late 1770s.
> Not a single one of your interpretations of my words was correct.

There's no other way to interpret it. You spoke quite clearly. I challenge you to find one person who would interpret it any differently than I did.

> It was a simple, honest, friendly suggestion...

No it wasn't. It was a complaint. You said "...presumption that the reader is a straight male implicit in that question that bugs me."

> Take a deep breath...

Says the guy who gets bugged that somebody said the word "girlfriend" and then proceeds to complain about it on HN...

That's hilarious.

> ...or you can take your own advice...

I didn't get annoyed by something so ridiculous in the first place, so there's really nothing for me to "get over".

I don't mind refuting and correcting people like you. It needs to be done or else we'll end up in a world where nobody can be themselves.

> Either way, my participation in this thread is over.

Good. Next time you should really consider participating in the first place if all you have to add is that "something bugs me".
Blocking Tor is one thing. But once people have made an effort to use Tor, you have lost as a regime.
Who said anything about "scary?" You assume I don't understand them, or that "not helpful" is a substitute for "unfamiliarity" or some other kind of similar deficiency. That's not very charitable.

I learned the jargon as part of my academic background. That was part of the reason I made the comment. These terms are jargon, or terms-of-art. Knowing jargon isn't the same as knowing the things jargon describes or having the capacity to reason about them well. Similarly, not knowing the jargon does not imply ignorance, stupidity, fear, or any of a number of other negative things.
Reference humor has no value. But sure, it feels good if you get the reference.
Ask HN: As an engineer, how do I become more involved in politics?
I'm sitting at home watching the march and wish there was a way I could apply my skills, engineering skills in particular, to help people be heard and help make a difference in this political climate. What can I do?
I think that Trump is going to be outstanding for American businesses. But we will see.
For those who want to try the project online, just go to https://try.gitea.io

For fast questions and talking there's a Gitter chat room: https://gitter.im/go-gitea/gitea

For feature requests and bugs go to https://github.com/go-gitea/gitea/issues
CS research, for the most part, is a fractional cost compared to basic physics research, materials research, chemistry, etc... mostly due to the capital costs associated with setting up proper labs.

The majority of science research, especially the risky exploratory kind vs. the incremental efficiency/process improvement kind, is mostly in universities and to a lesser extent, national labs.
Strange talk and slides, I am not sure if he is serious or not.
Now win it 40 times in a row.
This brings to mind what I consider to be perhaps the biggest issue with Haskell (I'm not accusing you of this, you've done a great job explaining): due to language expressiveness, overly generic code is far too often a baseline, when it really shouldn't be.

The language itself doesn't demand we write code this way, but the community, understandably, loves to be as expressive as possible in many cases.

But all of this comes with a cost of cognitive overhead that seems to rarely be worth paying.

Elm was an enlightening experience for me, having started with Haskell, because it helped me to realize just how little I ever took advantage of a lot of the very generic Haskell code, and how far the simplest of functions and types could take you in the overwhelming majority of cases.
Thanks for your efforts Team Muckrock. Keep fighting the good FOIA transparency fight!
thetechmoan on youtube often brings old audio formats into light:

https://www.youtube.com/user/Techmoan

not as old as talking rubber usually though
Why would only people in the UAE react to those articles by using Tor en masse?
Maybe not in the US, but in Germany Firefox is the most popular browser.
Agreed, quality over quantity. Plus there are plenty of excellent tools that aren't being actively developed but are still very popular.
> I challenge you to find one person who would interpret it any differently than I did.

I do. I think your interpretation is bizarre.
Philadelphia Poised to Ban Employers from Asking Hires About Salary History
I was working with a VOIP startup, and they needed to find some unique numbers in their CDR's (call detail records, basically a CSV list of calls made, duration, etc.) .

Loading the file into Excel took literally minutes as Excel tried to parse every field. It bogged down a 16GB RAM machine.

Using awk and uniq, the total run time of getting a solution , including reading the many MB of files and generating a summary into another file, was about 6 seconds.
Elm Architecture for F# is Elmish: https://github.com/fable-compiler/fable-elmish
I agree about the lack of substantial progress, but for the record the standard many worlds theories still predict that most "constants" actually are constants; they're the same in every branch.
"Being a team player" may be meant to include being intellectually dishonest and/or groupthink.
It's a very popular one. However, for the last couple of years, minor releases of a supposedly stable branch included backwards-incompatible changes that broke applications and themes. Basically, upgrading from 3.8 to 3.10 resulted in applications looking funny and some of them crashing. Quite a few application and theme developers ended up calling quits -- stopped maintaining their applications, kept on using GTK 2 or switched to Qt.

This caused a lot of negativity in the open source community. It's a shame, because on a technical level, it's actually very good. Its developers have, more recently, attempted to address this problem and their plan looks like it should work. However, the proof of the pudding is in the eating, and we haven't had much time to eat it yet :-).

It's unfair to blame my frustration with Linux lately solely on GTK, too, I'm sorry if I gave that impression. A lot more factors are at work here. GTK has just been very representative of this mindframe lately.
Oracle laying off hundreds in Santa Clara
Actually, we do get to blame Hollywood (partly).
http://www.berkeley.edu/news/berkeleyan/2008/03/05_torture.s...

When I was a child/teen, it was popular to wonder about the effects of TV violence, and now we know. It appears many people are unable to distinguish between TV and reality. Monkey see, monkey do.
Exactly this. Teach them so that they can become a productive, self-sufficient individual. Let them make (many) mistakes that won't ruin their life (heroin, prego at 14, etc.) Encourage them to try new things and they'll find their own passions. Hold them accountable to be the best version of themselves. Teach them empathy and the power of perspective and the rest will be okay.

I've always felt that 4 hours of a nose in a book every day is just as bad as 4 hours of TV/electronics every day is just as bad as 4 hours of sports/clubs/music every day. Kids need down time, time to explore, interactions with other, time to imagine. Less is more.
Apparently things have changed since 2007... Or else my Ivy league CS professors didn't know what the hell they were talking about. As I grow older and more cynical, the difference between those options continues to narrow...
Solus Linux Adopts Flatpak
WebAssembly is a work in progress. I think they had their first release some time ago, but I don't know how long it will be before it's safe for languages to target it for compilation.
There is a scene in "Better Things" where Sam's oldest expresses a dread of the future because she'd spent all her time "being social" and felt unprepared. This when the school counselor had demonstrated that her options for college were quite limited.

This appears to be still encouraged, or at least not discouraged.
Salaries for thousands of companies
> What that really tells me is this is an area of study that the Establishment does not want you to follow

Funny, what it tells me is that people with unexplained funding keep on making extraordinary claims without even ordinary proofs.

The multiverse is just as absurd as creationism and just as poorly argued for (imperfect models of reality presented as facts).
I think it's because of our capitalist economy, a significant portion of which is the ability to hire and fire employees based on performance.
what kind of startup are you looking to launch? my background is business/finance
"I'd like to see these security levels built into browsers where the contexts are built around permissions and site trust rather than access to the user store (which is also important)"

I want to take it all the way to eleven and 'jail' a gui process (in this case, the web browser - any web browser). It gets its own filesystem root and its own IP BUT I don't have to pay the penalties of firing up a full blown virtual machine.

This isn't easy to do in the way that, for instance, jailing a daemon is easy to do ...

Further, even if I did have a workable recipe to jail a chrome process (and all of it's children) it would certainly only be for X. Maybe there's some recipe for that in OSX but it would be profoundly different. OSX doesn't even have the 'jail' command (although it does have chroot ...)
The FSF doesn't say you can run it when you wish.

Seriously though, you download it now, and there is a contractual obligation that the software will be GPL later. Stallman used to charge people for improvements to emacs. This is the same, but with an extended delivery timeline that (hopefully) leads to better Free software.

Also, note that once you pay, you get all the benefits / protections of the GPL, including redistribution of modifications after the timer expires.

I'm not sure if you can redistribute modifications immediately or not. I would certainly hope so! (Any money for modified versions would go to the author of the original version, and there is no "we're missing feature X" like there would be with open core / demoware so why should they block such things?)