skysight-inc/HackerNews huggingface dataset:
Thank you for the long and thoughtful comment. I think you bring up a lot of valid points, and I don't have complete answers to all of them yet, but I'll do my best to address them here.

> Functional languages are awesome for many of these things, but can be awkward when dealing with the side-effects that we normally want when dealing with scripting tasks.

I think that's a common sentiment, but I have a different take on it - purely functional programming is actually great at expressing intended effects - as opposed to side-effects!

With the right standard library, I think it might be possible to make I/O at least as easy as in imperative scripting languages like Python. As a small example, compare reading a file as a string in Python and TopShell:

Python:

file = open(“testfile.text”, “r”)
text = file.read()

TopShell:

text <- File.readText "testfile.text"

Does that translate to bigger examples? I think it does, but a more serious efford to compare the two would be required for a convincing argument.

> I can't find documentation on how I can use my own editor/environment if I want, rather than the web interface

This is not yet possible. What I have in mind for this is moving the code execution to the backend and having some way for an editor to communicate with the TopShell server - perhaps through the Language Server Protocol.

> I want to continue to integrate with programs which adhere to the unix philosophy; how does TopShell fit into this?

TopShell can use such programs, but TopShell scripts can't currently become such programs. I'm still looking for the right way to do this - one way would be to have a `main : System -> Stream Bytes -> Stream Bytes` where `System` contains command line arguments and so on, and `Stream Bytes -> Stream Bytes` is stdin to stdout.

> How dedicated are you to the development/maintenance of the project?

I'm not sure what an answer to that looks like - though what I can say is that I use TopShell for all my own ad-hoc scripting needs.

> Do you forsee growing a community of contributors (and if so, how?), or do you want to keep this as a personal pet project?

I hope for a community of contributors, but I have no experience in community building per se. There are many low-barrier ways to contribute though - for example, by extending the standard library. Any tips?

> Do you think the project will be alive in 1, 3, 5 years?

I do think so, but as it is, there's a "bus factor" of 1. Please don't bet your business on it right now unless you're prepared to take over maintenece on a moments notice.

> Can sometimes be difficult to distribute a minimal-dependency release to remote machines or other users

To me, a script is a single file I can send to a friend (or put on a machine), and it will just run. Most scripting languages don't really do this, because they assume that package management is handled somewhere else, and implicitly depend on an environment. When TopShell eventually gets a `main` function, the goal will be that all you need to run a script is the script file and TopShell.
Weekly Robotics #50
That's an incredibly bold claim.
s/unwatchable/more &/

PBS is massive disappoint, the few times I've watched of late.
Could you please tell me why would you choose Bogota?
This is dead wrong.
Thanks for the heads up.

However that isn't Free Pascal, which was the OP's point.

Having said that, RemObjects Oxygene is probably an alternative then. :)
It's interesting to look at it on Google Maps, it's greener than many people expect.
I can agree that it's not a problem of mental health in the sense of diagnosable conditions like major depression, schizophrenia, etc.

But it is linked to the inability of people to achieve positive life outcomes - i.e., healthy friendships and intimate relationships, satisfying and well-paying jobs, and a sense of community engagement.

This kind of deep hatred only develops after you've spent enough of your life absent of acceptance and love.

There currently isn't an obvious path to a better life for people in this situation.
My father's Walkman DD9 brings back similar memories :)
It feels easier to attribute it to the human tendency to consume whatever is available to them without thought of the future.
My eye doctor puts me in front of a bunch of lenses and then says "better... flip or worse?" over and over and we end up with a set of lenses. Without access to a trained doctor, at first glance (no pun intended) it seems like you could do a 95%+ job of fitting a hearing aid's sound profile using a better/worse UI on a phone app and some prerecorded sounds/speech samples. I have zero experience with hearing loss, though.
What Is the Google Review?
I don't see a valid use case for null. It's just a easy-to-make billion dollar mistake.

Null exist because people are being lazy, and don't want to think reference type T to be T | null. Instead, in most of the cases they ignore null unless they know it will crash.

It seems to be every use case for null could be handled well in Haskell, which means null is not mandatory in language design. Everywhere using null can be replaced with Maybe or concrete union type like Int | NaN just fine.
I don't like Trump either, but there is not a single nation on Earth that is on track to reach the Paris goals. Blaming Trump is not helpful. I doubt that Hillary would have been much better.
I don't know about the US but here in the UK paying someone for a coding test is actually not as simple as it sounds. If you employ someone, even just for a half day test, you have to do a "Right to work" assessment (https://www.gov.uk/check-job-applicant-right-to-work) which can take up a lot of time. It's a pain in the *&^%.

At my company we give candidates something to cover any expenses they've had to pay to attend an interview and take them out to lunch somewhere nice afterwards. It'd be nice to do more, but companies can't because the government has decided stopping employing immigrants is more important than doing what's right for candidates.
> [...] shutting down discussion of [gamergate].

My, what an interesting way of saying "banning users posting sexually violent threats"
Most likely because developing a web app using a react frontend and an API backend adds a significant amount of work for arguably little to no benefit, especially not at MVP stage.
Ah, a young lad :) I started tinkering with Turbo Pascal 3 and even have some experience with Pascal on the Apple II. (Not because I am THAT old, but that were the only computers my school had at the end of the 80ies)

The successors of Pascal are also highly interesting. I used Modula-2 quite a lot, but never got deep into Oberon. I do think one big advantage of Go is, that it so strongly draws on the Wirth languages that it almost can be considered a modern successor.

And I fully agree, one shouldn't use a language these days for general programming without some kind of automatic memory management. Which is the other aspect which drew me towards Go, a nice nativley compiled language with a GC.
Smil's Energy and Civilization is indeed excellent.
AI generates Tweets from your Twitter timeline
There are two kinds of programming work.

First kind is that of translating application logic into code using the pre-established frameworks and patterns. This involves application domain understanding and modeling of domain into system concepts exposed by the application platform's underlying frameworks and components.

Second kind is building these frameworks and components and assembling them into productive platforms with right system concepts that nicely solves for the application domain.

Why these two kinds? Because the nature (volume, churn, complexity axis) of the work differs significantly across this cut so much that the background experience and skills needed by the programmer for these two are very different.

In an interview, you cannot really verify the direct skills needed for either of these two types of jobs directly. Instead you can look for proxies. What are those:

1. Programming proficiency in a programming language of candidate's choice – you can verify this with an in-person 2-hour coding round within the interview loop. Goal of this round is to ask the candidate to demonstrate his mastery over the programming language of his choice by converting a given application logic into functioning programming. You can do this by giving a programming environment (developer laptop with Internet connection) with a written down problem statement with application logic and test input/output samples. After the candidate has spent 60-90 minutes on arriving at a working solution on their own, spend another 30 minutes doing a live code review and then asking the candidate to make one or two modifications (enhancements) which they can take another hour to complete. Clearly state the evaluation criteria – completeness of functionality, test cases, readability of code (passing a basic code review) etc. For candidate it is 2.5 hours, for interviewer it is 1-hour.

2. Expertise in relevant area – if the candidate has previously worked on either the same/similar application domain or built platforms for same/similar problem space, then that can be explored through multiple whiteboard discussions focusing on specific aspects of this supposed expertise.

3. Learnability and Problem-solving – most important skill in software industry is ability to figure things out from vague undefined scenarios and learn new things needed for doing so. Problem solving is being able to reason through a set of stated and unstated conditions/constraints to arrive at an acceptable way forward in any situation. These can be assessed through interview conversations as well as reference checks, and inferred from their work experience and accomplishments.

The above skills list is in increasing order of priority and their relative importance ratio increases for more senior developers.

The problem with automated coding tests is they only test for the basic programming skill and the evaluation criteria is not nuanced and the decision is usually harsh/hard/final. This is a waste of everyone time, but it definitely far worse for the candidate. Hence any smart and reasonably senior candidate would refuse to participate in interview loops that have these automated tests.
There are plenty of things that wealthy people do to signal their wealth that have little relation to their wellbeing or hapiness.
The EU and the US sign an agreement on imports of hormone-free beef
Coteafs-logger is a wrapper library on top of log4j2. Simplified logging
But I don't think its young men's fault, I think that things have gotten objectively worse for them

Don't go there. Don't say mass shooters aren't at fault.

The thing is, you don't need to. Both things can be true -- life is hard and unfair for certain people in certain ways, and that in the aggregate is bound to lead to more mass killings and other negative effects like suicide.. and the ones who decide to kill innocent people are to blame for their disgusting choice.

Only the most simplistic and naive ways of thinking try to boil down complex problems into black and white.
Have you tried just using DDG? I’ve been using it for years and it’s about as good now (for my searches) as Google used to be.
Except that CBOR uses network order, so you cannot just interpret the bytes as an integer.
Great, now I'm on a list: https://i.imgur.com/I8FM4aN.jpg
I think it's essentially draws back to the incel/hikkomori phenomenon. You never see young men in relationships doing these kinds of things...whether it's a white right wing mass shooter or an Islamic suicide bombing. People seem to want to pin these things on ideology, because that's the reason the perpetrators themselves give for what they do. But it seems more likely to me to be a reaction to a life they view as having no future, by which I mean no prospect of a successful romantic relationship with the opposite sex.
Don't remember any catch up recaps ever appearing in the old B&W Dr Who, and I've seen plenty. Cliff hangers certainly. Yet those were memorable because they were relatively rare. In those days they were not used in every episode of every drama, or soap on British TV, far from it. Now they're everywhere, turned up to 11 to a point of self-parody like the Mitchell and Webb Gift Shop skit linked.

Most episodes would reach something more akin to a convenient place to pause - more like the reel break and intermission in old movies. Reach a local conclusion for whatever episode story was playing out, pick it up with a new episode arc next week, alongside continuing the character development and series arcs.

Interesting US network background I wasn't aware of. I'm fascinated by the idea networks would play series out of order, which on the face of it seems incredibly dumb. They're all the same length. Surely out of order would hurt the local station too, by losing viewers and potentially advertisers when stuff stops making sense?
There's no evidence to support this and it's pretty easy to describe intuitively how this is irrelevant, untrue, or both.

If unions raised wages enough to offshore jobs those jobs would no longer exist, that union would not exist, and those wages would not contribute to the total average wage breakdowns that show an 18% increase in wages for union members.

Yet, today, union members make 18% more than non union members. The only thing the data actually suggests is that if you want an 18% raise you should join or start a union.
“Store unlimited data for free and pay only for what you analyse” - unlimited data for free? Not happening. I would really take that off before someone tries to find out limits of your “unlimited” offering.
Maybe you're being facetious, but here goes anyway:

Many times albums were created as works themselves, with songs as components. Rock operas like Pink Floyd's The Wall and The Who's Tommy as obvious examples. Each produced great singles, but the album was the creation. Even less cohesive albums were created with a song order in mind, so listening to them as a unit was the artist's intention. A small example: ELO's "please turn me over" lyric at the end of Mr. Blue Sky, telling you to turn the record over.
It very clearly has to be a bug. I also got ~2.5s. It makes no sense for it to take that long for everyone, even after running it multiple times in a row. The system most definitely has many types of caching, so if it takes that long, there's probably something going very wrong.
This is probably a big but I wonder what it would return if all the results for GDPR'ed or otherwise legally censored.
I never justified mass shootings or said it wasn't their fault. I was just stating that things are objectively bad for young men in America. Any kind of therapy or "support", proper raising, etc isnt addressing the issue. Have some introspection and look at your response, you attacked me right off the bat. What was so repulsive in my post? Are these men not allowed to recognize that their life sucks and its societies fault?
The whole incel think was made up rather recently in a coordinated effort. Just one of many counter examples: A couple of days ago an African tried to kill three Germans, succeeding in killing one child. He was the father of three children.

https://www.tagesspiegel.de/gesellschaft/getoeteter-junge-im...
I'm reasonably sure it would be possible to implement appropriate DSP Voodoo Magic (aka finite response filters) on the Teensy that does a _pretty_ good job of all of these things.

However, I agree with the OP that it does have a fairly large number of shortcomings:

-- The number of man-years that have been spent on commercial products is huge, and they provide a highly optimised solution in a competitive domain. My late grandfather had, in the 1970s, a hearing aid with feedback reduction powered by an analogue computer (aka "electronics") that hung around his neck.
-- A lot of the tuning parameters of these algorithms really are hardware specific and would require quite a lot of tuning /iteration
-- At the end of the day, a Teensy is a moderately large rectangular board that will not fit behind your ear, has nonzero power requirements, and is a general purpose CPU. A 3D printed case is an expensive way of making a plastic box to put it in. If you were going to go down the open hardware route, you'd start somewhere very different, with power efficient dedicated DSP units on a small, thick multilayer board milled to be a bit more ergonomic. A modern hearing aid needs a new battery every month or so, and is powered by a 0,54 g 1.4 V 180 mAh battery (that is a 4x6 mm cylinder [h x d]). You're not going to get anything like that for a general purpose CPU.

Still, this is a fun project, and I commend people doing it. As ever with anything to do with the USA and healthcare products, however, I can't help but think that their efforts would be better spent trying to get universal healthcare. The cost to the NHS for two hearing aids, multiple fitting appointments included, is around £400.
Cassandra does not enforce any restrictions on the data format. You could store practically any blob.
Pagerank uses a bunch of things that would favor older pages - more inbound links, more clicks in the search results, and so on. They have "news search" if you just want news: https://news.google.com/
Well, you see, sound has this magic quality that the more you jack it up, the more you hear. Ever been to a concert of a warm homey Ninja Tune artist, such as Coldcut or Amon Tobin? They turn out to be eye-popping industrial hardcore on a club's 10000 watt system.

The problem is, it's not good to put too much sound into the ears.
While I think this is great, Ruby implementations are notorious for being tricky to implement 100%. Rewriting Ruby in Rust is great and all but even TruffleRuby isn't at the point where the authors recommend running a Rails app on it.

I wonder if there's a way to add some Rust into MRI. Perhaps someone could write a YARV VM or a version of the JIT in Rust. It'd complicate the build pipeline, but it'd be iterative and improve the main implementation of Ruby.
> x-powered-by header

Is that a thing?
By Scandinavian “exception” do you mean (1) that Scandinavan countries are more equal than most Western countriea but less oppressive than communist countries, or (2) the high rate (in terms of people killed) of white/extreme-right terrorism in Scandinavian countries (i.e. Brevik)?
Let me break it to you, there is no perfect language, just the ones most general purpose enough to cover most common problems and most suited for your applications. Each language has it own use and one doesn't trump another in terms of functionality or usage, they only compete when they lie in the same paradigm and this is where most language oriented comparisons are drawn whether be it time of execution or performance. This is also why there are more than one language within the same paradigm, as each one tends to have it's own intricacies and features that was solely developed for the purpose of improving upon it's predecessor. So there you are, stuck with more than one language to suit your needs and hence the untenable need for a perfect language.

Also, trying to bend a certain language to adopt features and functionality that are unwarranted for it's use cases is another reason for the criticism some languages draw upon from the community, therefore it's best for the language to stick to what it does best and stop it at that instead of trying to fit in to uses which it was never intended for when it was first developed. But the language itself is agreeable to evolve through time, but to constrain itself to it's actual purpose would be better for both the language and it's users.
As usual the managers and marketeers forget the obvious point.

You are asking a professional developer to write code for you. But apparently you expect them to do that for free.

In a supply constrained market, that's not how it works. If you want to do code assessments with professional developers, and therefore you don't want to do the leg work looking at and assessing their Github contributions, then you have to expect to pay them for their time.

Otherwise why should anybody who has fifteen options on their table waste their free time on you?

There was a time during the full employment era that people were paid expenses to attend interviews. It was considered good manners to respect people's time. That common courtesy seems to have gone by the wayside during the shortage of jobs era. Now the tables have turned again.
The problem is you cannot search through data stored in blob fields. In BlobCity DB, you can push in a PDF and yet search the contents of the PDF with an SQL query.

select * from datastore.PDFs where _txt LIKE 'hello'
I don't see any factual objective discussion in the twitter thread. Btw, I'm not a big fan of Google, which I guess is what you were implying. In fact, I think Google is the most dangerous tech company currently in existence and I consider it a severe threat to our society. But that doesn't mean I cannot objectively judge the technical quality of their products and put things into perspective.
> It's especially bad if they are unwilling (as some seem to be) to have a short phone conversation prior to the coding test to tell you about the project.

I'm sympathetic. But the last time I put out a job ad I got over 100 applications for a single opening. How should companies try to narrow that to a manageable number?

Just look at the CV and throw it out based on that? What do you look for on the CV that cuts out 80%+ on candidates to get the number down to an amount that I could have a short phone conversation with?
I'm not blaming the incel community. I'm actually essentially taking their side. Our society doesn't help men in that situation very well, and treats them exceptionally poorly.

And sure, counter-examples exist, though that particular one isn't really in the same space as this. Certainly people kill each other, and sometimes crazy people kill random strangers. But that was not a mass killing in the sense that this El Paso situation was, or that 9/11 was.
How Long Should Your Posts Be
I really like F#, but it has a few major pain points that hinder adoption:

The first is that once a user reads over the various functional things like let statements, record types, union types...etc, you still don't really know how to code in F# unless you already have a .NET and in particular C# background. Nearly all the documentation and books (I have 3 of them) assume you're a C# dev making the switch. This is similar to learning Clojure/Kotlin/Scala on the JVM without knowing any Java. Everytime I post this someone tells me that is untrue, so I give it another shot and an dissapointed. With Python, there are dozens of books written for beginners that show you the building blocks (lists, control flow, dictionaries, tuples, functions, classes, file IO...etc) and how to use the blocks to build useful programs. With F# you get three sentences in and then hear how this is just like this thing in C# that I also know nothing about.

Microsoft also seems to not be very dedicated to providing F# tooling support.

On the plus side, I've found the community to be super smart and helpful and the language itself is very beautiful from an aesthetics point of view to me somehow (just looking at a bunch of code ). In comparison to C#, there is sooo much less noise (); everywhere.

Go is a pretty simple language that compiles to static binaries. F# ain't that as there is all the bloat and baggage of .NET. Even with .NET core, that is more confusion for me.
There's the dream of powering ICE cars, with their ease of traversing long ranges, with solar panels thanks to water electrolysis.
Spartacus is crying on Hades' shoulder due to your insensitive remarks. Organized conflict between social strata has been happening for eight thousand years. It's not particularly British. Nor was the movement to abolish slavery. That's a French and Vatican invention.
For me:

About 6,060,000,000 results (6.82 seconds)