skysight-inc/HackerNews huggingface dataset:
> so.. Haskell and Scala? Those would be the top two that come to mind for me when someone says "highly 'logical' and 'compose well'", "having sum types", 'more expressive', etc.

I wrote Scala for years - it might be a bit too complicated but overall pretty decent, but I hear good things about Scala 3. I think the ML's, of which it takes inspiration from, are probably a better match. OCaml (EDIT: or F# as another comment mentioned) for instance is a pretty nice balance.

Haskell is very nice and I think qualifies except that it is pretty hard core purely functional with no punches pulled (unlike ML), so is foreign enough for most people not to be deemed a candidate.

I like Rust probably best atm as it is "imperative but with a functional flair", but doesn't qualify as easy I don't think, but is definitely highly logical and composes very well (even if obviously not finished yet).

> I've heard they're great languages (haven't used them much myself), but I probably wouldn't choose them for say an early-stage startup. Go's value is in being a mundane, repetitive, boring language. It makes it easy for any random kid to dive into an existing code base and become productive, that can be super valuable.

I would probably agree on the novice programmer and picking up Go quickly which is arguably the prime feature of Go. I just question the quality of that code, and honestly, don't feel Go is nearly as easy as touted. It is simple for sure, but not always easy. I always had to look up simple things like those magic comment compiler directives and is that interface{} param a pointer or a pointer to a pointer? I just remember the lack of expressiveness actually causing real world confusion (for me at least).

> There's a gradient of programming languages where one side is "has a single expression for exactly your problem, a single unique expression you've never heard of exists to solve every possible problem" and the other is "requires thousands of expressions to express your problem, but only a thousand are available" - or something like that.

While true, I would argue we have found a small amount of constructs that fit well 80% of the time, and is demonstrability better than half the constructs that fit well 40% of the time. Trying to solve every problem with a new construct is not worth it, but nor is the opposite extreme IMO.

> My point? There's no perfect language, yet people are always trying to find one. It's OK if you don't like Go and prefer another language. A real devil / tradeoff is the prohibition of using languages that do not conform with past (company) choices.

Honestly not sure we've found the ideal language yet, and agree there is subjectivity and trade offs at about every turn. In fact, the only thing I'm certain of is that Go missed what I would look for in just about every category except a few (but I agree it is easy to learn, but does it matter if you can't write good code with it?). That said, very intelligent and respected people disagree with me, so to each their own.
maybe it’s because older people tend to have more leverage, options and paid mortgage/debts?

unlike younger people who don’t and thus are more vulnerable to corporate exploitation

just a theory
Thanks. Matching Gurobi is not feasible, but HiGHS wants those who depend on open-source solvers to be able to work with bigger models than is currently possible. Once HiGHS has a good interior point solver (for QP) - the main aim of this proposal - the vision is to develop a nonlinear programming solver.
The capitalist society in USA is ageist.
> If this is your first time reading something like this, you need the
obligatory structure.

I used to think the same way, and started out writing all my
educational pieces in the vernacular structure... with great patience
and sensitivity to the idea that maybe some people are ambivalent
about privacy.

Over the years I've come to revise that.

We create mythologies in the hacker community. Amongst the many
caricatures we conjure up are "Mom", "Gran" and someones "Little
brother". These hopeless half-wits will set a computer on fire as soon
as touch it. The reality is that todays "Granny" was head of social
informatics at IBM in the 1960s. Todays "Mom" is ferociously aware of
protecting her children, eschews 'nanny cams' and gets irate at the
school for posting the class photo on Facebook.

We need to revise our stereotypes and should seriously ask; who are
these imaginary people who are "reading this for the first time"?

Part of the reason I think we create these mythological half-wits is
that it gives us a simple explanation as to why the uptake of dignity
respecting technology is slow. The reality is that it's actively
impeded, but we're not quite ready to fully take that on-board and
point at the culprits.

Part of the solution I think is to adopt more direct speech, to stop
treading on eggshells around privacy and start going in hard with a
more mature understanding of where people are in 2022 with respect to
their threat models around different technologies. Regular people get
that the horsemen of the infopocalypse are bogus, that their phones
are fundamentally insecure, and they want change.

> If it's complicated and normies [1] can't do it, that can't be
helped

We do need to up the game in so many places, as you say, education and
UI are still paramount.

> You might be upset by that fact, and therefore support and amplify
criticisms of the current regimes, software that simplifies the
process, and/or legislation to protect people.

You raise a really important issue. There's a lot of hostility towards
advocates of rights respecting technology. I always assumed that came,
at least here in forums like HN, from those directly involved in
advertising and surveillance activities who see their livelihood
threatened. But now I think there's more to it. I get about eighty
percent very positive sentiment toward my Digital Vegan book, ten
percent justifiably critical, but there's ten percent who are
disproportionately angered and indignant.

I think the psychology is really complex and involves a kind of
defensive rationalisation, learned helplessness, Stockholm syndrome
and some sunk-cost bias. Some will vigorously shout down opponents in
defending their right to be spied on and abused. Something's amiss
there.

[1] sorry I used that word, it's demeaning
how well does this pay?
The HN-centric term for this is "middlebrow"; a good middlebrow filter is definitely required to navigate HN.
> It makes it easy for any random kid to dive into an existing code base and become productive, that can be super valuable

professional developers are rarely “kids”
It's funny because I would interpret those exact words "I think this person has too much experience for this role", as "The budget I have for the position is not enough to afford this person".

But maybe you're right that it's ageism and I just assume the best in people.
Was the orbit of Mercury (or any other astronomical observations) important for the discover of Relativity. My understanding was that experimental impetus for relativity was the Michelson–Morley experiment, which was an in-lab experiment, not an astronomical observation. General relativity was then developed on a purely theoretical basis.

That it was able to explain Mercury's orbit was a nice bit of empirical confirmation after the theory was developed. Having such evidence probably helped get the theory accepted faster; but probably wasn't necessary. Almost by definition, a theory that is ultimately useful can be confirmed without need of astronomy. If the theory is useful to do X, then we can try doing X as an experiment and see if it works how the theory predicts.

As a secondary point, we could probably get GPS to work even without relativity. The core idea makes just as much sense under any theory of a finite speed of light. When we actually launched a GPS constellation and try it, the engineers would notice that the clocks were drifting for some unknown reason. Some ad-hoc corrections later and the engineers could account for the drift based on empirical evidence, likely with regular re synchronization and recalibration of the fudge factors.
> During this time, I’ve been making notes of speed bumps I’ve run into, as well as things I’ve liked about Go.

This is a smart approach to a new language. Especially since you now have a list of things to recheck your early code for.
A "strongly implied message," whether it's truly there or not, does not "clear cut hypocrisy" make. This reminds me of a similar meme in recent/current cultural memory: 'Anti-woke' types love to claim that "Black Lives Matter" means or strongly implies that 'all lives' do not. There are many discussions about why this simply isn't the case.

To some, though, it may very well be true. But that's an issue with today's slogan- and owning-the-other-side- based discourse. For what it's worth, I agree with you that merits alone should make the hiring decision.

As someone you'd probably label "woke," I think we should also acknowledge that it is entirely possible and common that inherent bias makes that difficult for white people in hiring positions. Yes, that can happen with ageism as well.
The interesting thing is that two of the most remembered jokes from the show, "Serenity Now!" and Festivus, were both in Season 9.
Throwing money and people at solver projects is not the way to succeed. Get and keep the right 1-2 people, and HiGHS has already shown what is possible.
The idiom "sour grapes" comes from that story!
Foraging for Ramps with the King of Appalachian Smoked Pork
Im not sure its fair to call Scala dead. Its still pretty widely used, at least in companies in London. Hiring is a bit more competitive but we still get some great Scala devs interviewing for the more senior roles.

Disclaimer - I work with Scala every day, so am definitely highly biased.
I try to do voice-only calls wherever possible, especially for hiring. (and text > voice!). Especially for initial screening; less annoying as the hiring manager, and also protects us somewhat from some discrimination claims (obviously only one element of that, and neither necessary nor sufficient on its own)
T-shirt and greasy hair are as much a uniform and a declaration of tribal orientation as a business suit is.

Clothes are always a uniform and a social signal, whether or not they're formally labelled as such.

It's also one of the covert reasons age is an issue. It's not about competence, it's about the fact that it's very difficult to have equal relationships with people who are the same age as your parents or kids. An age gap that wide goes with a generation gap in expected behaviours, cultural references, implied ethics - and more, including default problem solving habits.

It would be good if this wasn't true, but it's hard to see how it can be avoided. It would take extremely unusual maturity and self-awareness not to be influenced by it in either direction.

It's not that it can't be made to work, but I don't think it can be made to work easily. It's an extra level of friction, which is why it's an unpopular option when hiring teams.

TBH I suspect that anyone over - say - 40 is probably best off hiring themselves out as a consultant rather than trying to find work as a full-timer on a relatively young team. Consultancy isn't just professionally distinct, it creates a different social dynamic which seems to be easier for everyone.
We are very lucky to be in an industry where being a manager is recognized as a different job instead of a superior promotion from individual contributor. There still are, of course, software companies that expect to promote ICs to managers, but in this job market you can simply leave those companies.
Archived: https://archive.ph/HsCJn
Whoa, wasn't expecting to see this on HN! I've only done a week of work on this, super early stages - here are our plans for it:

* 100% OSS tool, run locally on your machine (static Go binary) or use https://doctree.org (not online yet, plug in a repository name, get docs) - really want this to be a proper, useful FOSS tool.

* Work with any language, based on tree-sitter.

* Provide symbol-level search functionality.

* Surface real-world usage examples automatically, probably based on some statistical analysis of how functions are commonly used in open source code via Sourcegraph API, similar to what https://codestat.dev is doing.

Tech details (again, just a week in):

* Go for backend, Elm for frontend

* Indexers will be written in Go, use tree-sitter queries to produce a standard index schema which then gets served to Elm frontend for rendering. https://github.com/sourcegraph/doctree/blob/main/doctree/sch...

Probably not worth trying out right now, but if you're interested in it we set up a Discord server for collaboration, etc.

https://discord.com/invite/vqsBW8m5Y8

Happy to answer any questions!
Apologies for replying to my own post, but I should have included sources. Here is the best stuff I've found so far:

https://www.youtube.com/channel/UC7_gcs09iThXybpVgjHZ_7g

https://www.youtube.com/playlist?list=PL39_ud5aKSvkl_wj5BIkR...

https://jila.colorado.edu/~ajsh/insidebh/waterfall.html

There is an episode of How the Universe Works (I think) where they talk about the multiverse looking like an infinite block of swiss cheese, and each black hole having a child universe inside with its own physics, sealed off from the parent universes. So we're in the black hole where the rules of physics allow us to exist to realize it. In other words, the multiverse used black holes to evolve the rules of physics until consciousness could exist. It's another interpretation of the anthropic principle so isn't really testable, but I thought it was elegant. Wish I could find it.

Edit: some places to start:

https://www.youtube.com/watch?v=KePNhUJ2reI

https://www.youtube.com/watch?v=3DhDSjgw3j8
One data point, from a registered bashochist, and a clojurist- I think he's on to something for Clojure-based build tooling. bb is much more ergonomic than the tooling Cognitect is themselves providing. But I don't see it getting into my main non-clj shell workflow. That's even though I really don't like having to appease jq's opinions of aggregate hierarchical querying. But there's too much unique value working directly in the shell in most cases.

Where the shell work dips directly into areas clj is strong- pure data processing- I have recently been thinking that maybe bb could make it easy to create a full clj repl environment, so I wouldn't have to suffer through jq. But that wouldn't be doing the work in a shell with bb. It would be doing the work in a repl. FWIW.

One other point- lack of activity on clojure libs is not the red flag it is in other languages. There's much, much less of the churn and grind that there is everywhere else in the ecosystem. When there is something novel that doesn't have a native clj implementation, it very likely will in Java, and pulling that into clj- even straight from java source on github- is easy.

HTH. Cheers.
of course they do, R much more than Julia tbh, I think on the prototyping side of the venture Elixir experience is more polished, even though slower ( Nx IMO is promising in that space)
I’m helping with the doctree effort at Sourcegraph. Apologies, the site isn’t actually up yet. This project is still very early stages and we wrote up the README to serve as a sort of launch spec that we could update in response to feedback we receive. We made the repo public so we could build in public but didn’t expect it to receive this much attention this early!

So sorry that the site isn’t up yet. We’ll update the README soon to reflect that. If folks are interested in trying out a super early version, there’s the Docker run command and if you’d like to help us realize this vision, please join our Discord! https://discord.gg/vqsBW8m5Y8
I was on-site at a power company. One of their older COBOL programmers was retiring that week. The person taking over his COBOL job? His son.
Give people a place to go for a "Twitter Classic" experience, before the rudeness and hate get re-platformed!

...and before the copious amounts of illegal content. One other aspect that is briefly touched on in the article and other related writings (of which I cannot recall any specifically, unfortunately) is the virtue that is required of a Twitter user on the platform.

Twitter has a difficult time dealing with the sheer volume of illegal content popping up on the site (and I mean illegal, very immoral, not just something that can be handwaved as opinion - I mean things like e.g. straight up CSAM [0]) and I suspect that even if you solve the social network problems (and you have to solve that and try and get everyone over onto the platform together as whole social units, otherwise you have nothing but a void that people shout into), any competitor will eventually bleed itself dry with its "free" model due to the amount of money being thrown towards trying to close the floodgates, or at least stymying the tide of, incoming illegal content.

(Interestingly, I suspect this is true of any other social media platform as well, and I think once you try and factor in the costs and technological innovations needed to try and stop the problem, it becomes a truly impossible task to try and displace any existing giant at their current financial states.)

I do disagree on the millionaire bit, though - perhaps billionaire would be more apt for one to solve all the issues that social media can encounter given the kinds of valuations these platforms pull.

[0] https://endsexualexploitation.org/twitter/
Yes, I always have one. And when I lived in a house I had one on each floor.
I would be curious to know what he thought of Swift (having worked on the compiler). The language seems to be the opposite of Go in including every language feature under the sun.
Bit of offtopic:

Best bash of a programming language

„The Perl Jam: Exploiting a 20 Year-old Vulnerability“

https://youtu.be/noQcWra6sbU

And part 2 „The Perl Jam 2
The Camel Strikes Back“

https://youtube.com/watch?v=RPvORV2Amic
At one company I worked at only one thing mattered: the yearly bonus
There needs to be more focus on improving the inputs to the pipeline. But that could take generations, and people are looking for quick fixes right now.
A single language level footgun is a pretty amazing feat, at least relative to the current state of the art.
A stamp collecting management program I made for my father in an Apple II, with Basic.
True, but if we graft this argument onto Sabine's argument, it doesn't seem very fair. Those astronomical observations and the development of General Relativity were done a century ago and have relevance today. But if particle physics is being judged against astronomy, then shouldn't the modern societal benefits of century old of particle physics count as well, contradicting the claim that particle physics lacks societal benefits?
Right, but that doesn't mean the server can't support other post types or leave complex UI to other clients. Each server could fallback to displaying a link to an external post at a bare minimum, or display whatever the `content` field. I'm just arguing that the C2S is perfectly viable and would make the fediverse so much richer and more usable. Using the Masto API to federate only specific types with specific software is limiting the fediverse.
I'm fascinated by the argument here. It's a failure because it loses money and connects lower-traffic cities. Can you see past the tip of your nose there?

When traffic is low is the perfect time to build capacity. Everything is cheaper and easier to do in a bare field rather than trying to carve an opening in the middle of an already-bustling metropolis, and you end up with fewer design compromises as a result.

There's also a huge "build it and they will come" angle here. Replacing a 10-hour conventional rail journey with a 3-hour HSR one makes these cities viable for new audiences-- the remote-worker occasional commuter, the shift worker who might spend several days at the office and then return home on weekends.

It also makes sense when dovetailed with a government that has more economic planning controls than most Western nations-- they can target development efforts in these cities to create the demand base after the rails are built.
To be clear, we do own the domain. It was registered about ~7 days ago. It's just not deployed yet.
> an unfair advantage in their adult life

How are those unfair advantages? They seem pretty fair.
Just a follow up on a practical way to actually do this: turn each “User” into a 30-minute conference talk with a slide deck showing techniques you used, performance metrics, etc.

Pitch them to the various JS conferences and go give the talks. Release them as YouTube videos, and blog posts. Mention the fact that you are available to help teams optimise their front end code, and love doing it.

I think this process would take 3-6 months and you would have a great brand from which to build your business.
Well, good to know that after my decades of C++ experience, I’m still not a “true C++ coder.” You certainly can’t lose with an argument like that ;)
Zero values are one of the tenets of Go. It's like saying I which Go had exceptions which is to say you'd prefer not-Go. Ironically Go was promoted as the anti-Java which we know is littered with NPEs.
[for the record, I'm 58 & and an active software developer]

There are two points I'd like to add:

My brain isn't as elastic as a younger programmer's. My brother, a software developer close to my age, once said, "It's as if I used to have 20 registers, and now I'm down to 12". I can't keep as much in my head as once. My twenty-something co-worker, Belinda, once remarked, "It takes you a while to read code & understand what it's doing". She was right. Using solely that metric (elasticity), I'd have to say that the forty-year-old version of myself was faster than the fifty-eight-year-old version.

The other point I'd like to make is that there's a certain class of developer who has grown tired of developing & learning new skills, but doesn't want to retire. I remember my co-worker Larry would spend far too much time reminiscing about 640k computers and showing pictures of his grand kids. He didn't seem to want to work much. They let him go, and though I liked him personally, I think management made the right decision.
looks like this https://thenextweb.com/news/science-corp-neuralink-co-founde...
Co-worker renamed all of my queries [closed]
If your version of Android supports it, consider installing any app from the Play Store and disabling its internet access. I did that for Google keyboard since it's the only way to get proper swipe-typing.
Criteria and new timing extension for App Store Improvements process
Thanks - from HiGHS
A Renaissance of SF Hacker Houses
Since `doctree` will be a static Go binary you can run locally, the idea is to have a "get docs straight in the terminal" via the CLI in the future. But probably a little ways away from that since we're just a week into it!
It is a blatant contradiction. "We don't discriminate," directly followed by discrimination against men, whites, asians, and the old. But since it's 2022 now, still advocating for strict meritocracy means I'm a nazi. I never thought it would happen so accidentally!
I think you're displaying an unconscious bias here by implying the 'top tier of musical talent is virtually identical in ability' and that this somehow excludes various groups from that pool. First, that claim is highly questionable, and second, you are implying that some groups are less talented than others based solely on their identity. This kind of bias is rather common, it's rather redolant of paternalistic attitudes towards 'naturally inferior groups' who need 'inclusive policies' because they just can't make the grade on their own.

If you happen to be unfamiliar with this argument, I'd recommend this:
https://tarahenley.substack.com/p/bad-news
I love zero values, I just wish Go was better at realizing I was using one.