skysight-inc/HackerNews huggingface dataset:
Great list, really heavy overlap with mine although mine is even smaller (https://twitter.com/udayrsingh/following). I try to do the same thing, I aggressively unfollow people and try to keep the number around the Dunbar number.

I just started using Twitter about a month ago after having an account since 2009 and I'm really enjoying it (despite seeing a number of tweets about Twitter being broken). I've almost entirely stopped using Facebook (outside of events/messaging) and strictly used Twitter. It's a fun place to share programming thoughts and discuss things with people.

For the most part I've been able to share links and chime into discussions with people whom's work I'm interested in and keep the discussion around economics, mathematics, statistics, and computer science. I follow roughly the same rule as you - I look at the tweet frequency and then dig into actual tweets. I've actually made a couple friends in the Elixir community through Twitter which is actually fun.

The last thing I would recommend is to use lists. @patrickc's reading list is probably one of the best things I follow, as well as @pmarca's press list. You can actually check out the lists I follow as well.

https://twitter.com/udayrsingh/lists

I think for the most part, like you Max, if you try to keep it small - it works great.
> 2. Use StateT and lenses. Your code can even look almost exactly like C if you want, with for and while loops with the same semantics as in C. I often use this when implementing heavily imperative papers in Haskell. It's still pure and everything, but looks just like an imperative language and performs well (if maybe not always full C speed).

I am no Haskell expert and that sounds quite interesting. Do you have any links to examples?
Thinking that any variant of "functional programming" stands for all variants?

For me, moving to F# from C#, and then trying to get my team to do likewise, it's far more like "this encourages good CS101 practices" than anything else. The only disadvantage is the occasional CPU burp (usually easily resolved).

To reddit commentor, I'll agree a lot of OO ideals are baked into GUI, and are actually quite good for it (decorator pattern, etc). Though a lot of GUI (winforms binding, wpf mvvm (sorry)) conventions paint you into a bit of a corner.
Would you please not rant like this here? You have a good point that $5 a day is a lot for many people, but venting bile is not a good way to make your points on Hacker News. You emit more pollution this way than information, and if we're to have a functioning community, not polluting the local ecosystem is each member's first responsibility.
Consumers can rely on certification labels to simplify product assessment. The certification can even be provided by the government! It just doesn't need to be mandatory. Those who want [private-market-label/government-certified/etc] foods, can look for the seal, and only buy foods with it, and those who don't care, or who want to disrupt their hormones, can ignore it.
You can find advertisements for seances referencing "X-ray Science", and various products attributing mystic powers to radium and the like.

All that technology was so amazing that it seemed genuinely magical: Light without fire, instant communication, seeing through objects, etc. We just don't appreciate it having grown up with it.
> that's not possible in "purely" functional languages

To be clear, it's always possible in a purely functional language, just not always reasonable or efficient.

As far as your point goes, I totally agree. There are algorithms that are better suited for functional languages (ones that involve tree's and lists) and there are algorithms that are better suited for imperative languages (disjoint sets, hashing algorithms, lots of graph algorithms).
I see at least one elephant in the room: Religion.
Too tame...
Yeah, if I were setting up messaging at a company, having witnessed the true total cost of these single-source solutions, I would set up IRC and/or XMPP. For some companies, the costs are lower with Slack, and I think that's where it shines; but I am fed up with it.

That said, the author of this article is actually just trying to promote his startup. I think that's fair enough, but I think he should disclose that more prominently than just having it in his byline.
Ask HN: How do you poach from a competitor without revealing your roadmap?
I'm hiring a product manager for an X for Y company. I know there is good talent at company X, but the person I want to hire is in the perfect position to absorb some of our new Y ideas.

How should I pitch the opportunity while making it interesting, but not revealing too much?
Superior in every way? but all your accounts over each guild on discord is directly linked. Compare to slack which are kept all separate, with different user information, display pictures and the like.

It's easier to manage your presence on slack than it is discord, because discord offer no assistance to those who handle multiple accounts or identities.

As with other competitors, teamspeak solved this, irc doesn't have this problem at all. Skype does, doubt they will do anything about it, Microsoft have made another solution for team management
Nope. A $30M yacht is more than I would ever want, and with a 15 year loan will set me back around $3-3.5M per year, including maintenance. Nobody buys with cash in the yacht industry.
Woof, a lot of reply's to this one.

Everybody's taken this to mean that I'd just go around yelling "Dick" every hour on the hour, or that I would be describing last night's penetration to everybody. Of course not.

Yes you would read the room first, but I still think you should have the freedom to express yourself if you're not harming others. Just because you don't like swear words, and you hear one from me, doesn't mean that I'm harming you.

People calling it unprofessional are likely browsing HN or Reddit while at work. Not sure how much that aligns with being professional. By the way, if you're not wearing a suit right now you're being unprofessional. Maybe getting your work done is the only baseline to being professional, and saying "dick" doesn't stop me or you from getting work done.

To the people who don't think dick jokes are funny. I do. You don't. shrug
Yep. Array is the keyword that makes it easier to Google...phased arrays, curved arrays, etc. And of course, with a bunch of piezos, your signal processing problem is larger.
Great tool to help you consume new information in real-time
For me one of the biggest hurdles is using immutable data structures all the time. In the real world you want to add to a list or change a map's value. Typically functional programming languages use linked lists to make h::t efficient but if you need performance characteristics of arrays and good performance/low GC you are going to have a lot impedance mismatch with the typical functional programming patterns based on built in lists.
The site is very good at sourcing articles and it is an excellent resource as long as you realise he is probably ethically inclined not to promote any study which might increase the suffering of animals.

I don't think that makes him a bad person or the website valueless but it is hard to argue it does not have a strong ethical vegan bias.

At the moment I would claim that overconsumption of highly processed, mostly plant based foods is the real nutritional disaster. Meat consumption is falling in many places but obesity and related diseases are still getting worse.

If you don't have ethical concerns I think low to moderate consumption of animal protein as part of a balance diet is still probably sensible. You probably want to avoid processed meats and charring. But we are all going to die from something and statistically it probably isn't going to be from eating an occasional steak.
Python (well, sort of) and C (despite its numerous other flaws) have a special syntax that doesn't read poorly, yes. The code you just described reads awfully. It's line noise. One of the most important aspects of a programming language is encouraging code that can be trivially read by someone who is familiar-but-not-reflexive with the language and does not necessarily understand the domain well enough to be managing both application state and syntactic state. If I have to think about what the code's syntax means, I'm not thinking about the problem.

And, frankly, the idea that you have to soft-pedal it as "you could do this" should be a red flag for you. I could meditate about a `loop` function or I could write the code I actually care about.
I originally wrote this text on an internal wiki page at Google. It was short-linked to "go/nohello" and sparked a fair bit of discussion, including another page with exactly the opposite viewpoint. I have no idea who Brandon High is, but he must have copied it from inside Google and posted it publicly.
I make it a habit to never leave without my phone so that I don't forget it anywhere. Even when I get up from my desk to get water 10 feet away.
DSL stands for Domain Specific Language. In our story, the
DSL is HTML. An internal DSL refers to the host programming
language’s ability to express that DSL using just the host
language (with no string building).

One could argue that Internal DSLs are not really a separate
technique from #2 (Tree Building) and #3 (Templates). In fact,
internal DSLs could be described as a less-crappy tree building
API. Or as a templating language that is more integral to the
host language.
But I think the technique is different enough to deserve it’s own category.

This person is describing Lisp, and I'm flummoxed that they do not appear to be aware of Lisp, given that it is an area where it is so strong! I think both Arc and Closure have the ability to describe HTML documents in lists (I can't remember if it's as s-expressions, or lists of functions).

EDIT: I just noticed that they reference Om :) Never mind!
1925 wasn't 1935. He'd already published White Guard and staged a play based on it.
For all of those of you using DOD CACs or USG PIVs (NIST SP 800-73) smartcards there is also CACKey[0] for ChromeOS, of which I am the author.

I worked with Google to port it to ChromeOS when ChromeOS grew certificate provider support.

[0] https://cackey.rkeene.org/
XYScope – A Processing Library to Render Graphics on a Vector Display
I'm really beginning to doubt the idea that people who act like this are mentally disturbed. I think they're just shitheads.
So you're saying you flagged this despite the fact that it is in not off-topic.

Because you dislike the narrative it establishes?
Hay Day Hack Tool No Survey
For some applications, like crosh, pinning the application and then launching it changes the semantics.
>I already have a password manager. It's my brain.

For those of us without eidetic memory that have to manage a large number of credentials, password managers tend to be the only viable solution.
Itanium did get rid of a lot of the cruft of x86, but I'm talking specifically about PPC
No, governments create inflation to satisfy an illusion of control and stability over the economy, and a side effect is robbing the poor (and giving to the rich).

Think about it:. If you're poor and spending 90% of income on survival, an increase in the cost of living has a more dramatic effect on the margin of survival than the identical increase in cost of living for someone who depends on 20% of their income.

Moreover, it's frequently said that inflation is necessary to combat 'sticky wages'... If you read between the lines, that's effectively 'cheating the poor of their wages'.

The common retort is that the inflation is good for the poor because it reduces the real value of their debt. But in the real world outside the ivory tower of economists who never were actually poor, the poor are offered high interest loans, which are only barely ameliorated by inflation. People who benefit from low interest rates are corporate C-levels, banks, and leveraged an margin investment (which is most of the "1%"
In my own (limited) experience, I'd much rather debug a nasty pointfree expression than debug a deep nest of loops keeping state in mind.

Perhaps it is just different kinds of cognitive overhead.
To summarise, the cert can be SHA2 but must be signed by the "Thawte SSL CA" SHA1 intermediate.
How Would I Move If I Grew by a Factor of 3 in Each Physical Dimension?
Why Node-RED is the ideal runtime for building IoT applications
Why is it easier though?
One example in the positive column: Robin Sloan has consistently written optimistically about SF, both in Mr. Penumbra's 24 Hour Bookstore, and his new novel, Sourdough.
Inability to practice hardware sympathy is the biggest drawback for me. With imperative code, my intuition can be useful in estimating what instructions the compiler is likely to generate (what loops get unrolled, how registers get packed, etc). It's still not easy mind you, but with functional languages, the generated code goes through another battery of passes and abstractions that obscure this even more.
https://m.youtube.com/watch?v=Rw1cdRew-Zg
that isn't really coherent. it doea use c# as the main languahe for game logic and for some platforms the mono runtime
Interestingly I had the opposite but complementary conclusion: if we end up forming many long term relationships through cooperation and maintain them we all are better off.
Isn't this just Amazon Locker? There are ton of them here in Seattle, one right next door to me. Biggest issue is the thing is ALWAYS full so I can never actually get anything shipped to it.
Apple are design focused, and so with it comes the focus collaboration. People isolating themselves is not good for productivity and teamwork.
I can't speak for kuschku, but the normal complaint is that every message you send in Matrix is a new HTTP hit, and every batch if messages you receive is a new HTTP hit - and this (combined with the message format being JSON) is less bandwidth and roundtrip efficient than a dedicated TCP line protocol like IRC.

And this is true, in the default baseline protocol. It makes it absolutely trivial to send and receice messages; you can just fire up curl to do an http PUT to speak or GET to receive.

However, Matrix does let folks define more efficient optional transports, but in practice (other than a websockets+JSON proposal), nobody has bothered. It seems that for most purposes HTTP+JSON is fine; after all the whole web revolves around it, plus you don't need to worry about timeouts on a single tcp socket etc. And with HTTP/2 most of the concerns go away anyway, as the overhead of new requests is fairly minimal (same socket; header compression; etc).

On mobile devices a better transport would be desirable for reduced battery and bandwidth consumption, and I'm sure we'll eventually see one. But for now HTTP is perfectly serviceable, if not the most efficient solution.
A 17 year old in Microsoft Imagine Cup: My story and what I’ve learned
I'm on Slack beta as well. I have nine Slack groups, with some of them having thousands of users. It's still a CPU hog.
Slack has an IRC gateway (or XMPP). You can use that and your favorite IRC client. In fact the most usable way is this way.
Wisconsin Company Offers to Implant Chips in Its Employees
Yes, but I only posted that so you'd see which problem the GP is referring to: the second one. Unless somehow the rope is some special kind of non-flexible rope that always assumes the shape of a circle.
Functional code can do better fusion, inference and unrolling than imperative code.
Difficult to write a good compiler.

Optimizing the code generated by the frontend for a function language is a nightmare.

There are several theoretical reasons why that is the case, so do not expect significant breakthroughs for general purpose functional programming.
I disagree. Journal publishers provide value by crafting in house editorials and industry news pieces, soliciting review papers on pertinent topics, suggesting editorials for controversial works, and by filtering out obviously crappy manuscripts. High quality, higher impact journals (Science, Nature, NEJM, JAMA etc) do these things and I believe they add a lot of value.

Lower impact journals are basically glorified FTP front ends. They don't create content, validate that content, editorialize that content, or even select that content. They just host and charge an enormous premium for it.
The main disadvantage is that the next guy/gal will have to rewrite it all in Java - the language he/she actually can read.
And I'm not trying to discount your experience, rather I'm trying to show that there are other people who have contradictory preferences... and raise the discussion from a "my way is objectively best!" to a conversation.
For readability and conciseness you would most likely use a fold instead.

The fold/or Foldable interface factors out the mechanism of the traversal of the relevant data-structure - list, vector, tree etc.

Functional languages are an improvement in this respect over C/C++/Java etc with their explicit loop iteration statements.
Great paper thanks!

Per your useful suggestion I made a subreddit as an online forum/ discussion group for participants ( in the 2017 Berkeley DeepRLBootcamp ).

https://deeprlbootcamp.reddit.com/
Citation needed. Not saying it's not true, just haven't seen it in practice. Usually if you want efficiency, you have to drop down to intrinsics or assembly, no matter how much the compiler is helping you.
We like to think we are complex, free-will wielding creatures capable of doing complex and unpredictable things.

It's striking to see how simple we really are and honestly - how easy it is to explain how we behave. I get it - this is a simulation and it leaves out alot of colors to human behavior. But it is the essence of our value-oriented decision making and really quite sad that a better world is actually? quite easy to make.

I think software has the potential to create that world. I propose the creation of a formal group dedicated to exactly such a purpose.
> In the real world you want to add to a list or change a map's value.

Having spent a good amount of time doing production FP, and then taking what I learned into imperative work, I rarely find myself doing this. In the real world, what we usually want is the result of adding to a list or changing a value in a map. But also in the real world, we rarely want to consider whether we've affected other things that supplied that list or map (which they generally would prefer we did not do).

> Typically functional programming languages use linked lists to make h::t efficient but if you need performance characteristics of arrays and good performance/low GC you are going to have a lot impedance mismatch with the typical functional programming patterns based on built in lists.

I can't speak for the wide variety of FP languages out there, but it sounds like you've been exposed to languages with a poor set of data structures. Clojure, for example, provides a wealth of great immutable/persistent data structures that provide the semantics you'd want and perform really well.
What are the high entry costs for Rust?
Basically you're looking at a flattened tree. Anytime you see the lines, those are part of the same conversation sequentially. Once the lines stop, that's a new conversation.

http://i.imgur.com/02mm3YW.png

And an ASCII version:

Tweet
-----
1.0 Reply to tweet
|
1.1 Reply to 1.0
|
1.2 Reply to 1.1
----
2.0 Reply to tweet
|
2.1 Reply to 2.0
|
2.2 Reply to 2.1
---
3.0 Reply to tweet
>we could all just change our daily commutes

Sounds inefficient.
The Multivalent PDF tool is still my go-to. It hasn't been updated in ages, but the jar still works fine:

http://multivalent.sourceforge.net/download.html

If you run

java tool.pdf.Compress file.pdf

it will generate file-o.pdf and often trim quite a bit of weight.

That's probably what I would suggest sci-hub use too because it's easy to use and automatic.

EDIT: this looks quite promising too: https://github.com/pts/pdfsizeopt

But it has bugs with handling some images... converts them to black boxes. I'd only use this one if you manually verify the result first (so not a fully scripted process). (Or this could be due to me not installing all the bleeding edge dependencies from source as instructed.)
Persistent data structures can generally overcome a lot of the performance issues with immutability, but generally at the cost of memory.
Clojure and Clojurescript. Clojure is already part of our stack and after working in it, I find it hard to work in any other language, especially OOP ones because of their syntax, unnecessary wordiness, and needless abstractions. I have yet to find a simpler language. I also have yet to find a more powerful language.
Functional languages give powerful expressions for proving code correctness. Imperative languages provide good semantics for reasoning about performance. I don't see them as rivals, rather as two paradigms operating on different domains.

Object-oriented languages on the other hand....
Can we get a proper sequel or remake (again) to Age of Mythology? The extended edition "remake" on steam by Skybox Labs is a travesty. I honestly just pretend it doesn't exist because it's a better experience using the old version from the early 2000's with Voobly.

So many great memories playing custom scenario maps on AOM back in 2005-2006. I still have some of the maps but I lost my own "Lobster Escape" creation.

Also fun fact, around 2013 I discovered that the original ESO multiplayer servers were still online and hosted by Microsoft, the game didn't allow you to login because the SSL certificate was expired, but Fiddler2 actually got around that issue and I was able to login with my old ESO account details (these were originally created as live/hotmail accounts with a custom domain).
I find your response dismissive and counterproductive.

I don't understand on what basis you can discount the realities of alternative cultures.
My building has individual mailboxes in the lobby for each unit, and then a bunch of large boxes that packages can fit in.

The mail deliverers put a package in, lock it with the key in the door, then put that key in my mail box, so I know to go get the package out. It's brutally simple, and I was surprised I've not seen an implementation like this before.
PR to Improve Terminology in Encrypted Media Extensions
What makes you think that's the problem the GP was referring to? They haven't posted at all again in this thread to confirm exactly what was meant.
If you go deeper, then we start to see a lot of similarities. Functional programming strongly resembles circuit logic. Maybe a strange loop?

See also http://www.clash-lang.org/
I agree with your comments. It's something a social studies teacher mentioned when I was in high school, and it never completely made sense to me, but it is the established principle. You can see more about the reasoning here: https://plato.stanford.edu/entries/civil-disobedience/
> Ease of reasoning from FP in the large is not very valuable but does eliminate some cognitive overhead.

I really wouldn't underestimate this. Formal proofs and verified programs pretty much always involve functional languages at the core because there's just less going on to complicate the proof. Once you start introducing state, manual memory management, unrestricted recursion, pointers, undefined behaviour etc. it becomes much, much harder to write proofs about programs and justify why they're bug free. This also carries across to humans...it's much easier to reason in your own head why a program is correct when the program behaviour is simple.