skysight-inc/HackerNews huggingface dataset:
After 20 years of software development in a variety of languages and projects, I've come to the opinion that recursion really should be relegated to being a novelty.

Few languages offer tail-call optimization. If we look at popularity of languages, then the likelihood any particular solution is going to end up in such a language is vanishingly small. For the remaining languages, fitting into the stack depth is easy to get wrong. It's easy to end up in an infinite loop that ends in an obscure error with a confusing, verbose, needle-in-hay-stack stack frame that over complicates debugging. And frankly, lots of programmers don't have a good handle on it, even the ones who studied CS in college, so asking them to maintain recursive code written by someone else usually ends pretty poorly.

So when we consider that, actually, no, it's not true that using an explicit stack takes "a lot more code" (it's like, three extra lines), recursion starts to look more and more like a code smell, a smell indicating the originating programmer is more a temporarily-embarrassed mathematician than an engineer.

To be clear, I have no problems conceiving of and implementing recursive solutions to problems. But every single one of my recursive solutions has eventually failed to survive contact with real life data. It might be next week when the code goes to production or it might be a year from now when the data processing needs grow, but I've eventually replaced them all.

I'm not the only one with this opinion. Many safety regulations covering vehicles from cars to spacecraft explicitly ban recursion because of these issues. We need to just stop with the fetishising of math in software development.
In my (rather limited) experience, the poor specification of Pulumi's libraries is almost entirely down to the fact that they are exposing equally poorly specified functionality from cloud providers.
We still don’t have vertical basketball hoops. https://en.m.wikipedia.org/wiki/Maya_Ballgame
I just wish they would fix basic usability of strings and protocols in Swift.

Why can't I have a variable that has a protocol as type?

Why can't I pass a substring to a function that wants a string?

Why is string parsing so much harder than it should be?
Tyrants understand local police may be hesitant to act against their neighbors under questionable orders. This is why tyrants bring in non-local police who don't have local connections. Outside police will crack skulls and not care because they and their families live elsewhere.

'... Emergency Act allowed other regions to add to the police force without the whole normal process.'

Yes, outside enforcers were needed because local police were not doing it.

Trudeau is one of Schwab's young leaders and has embarrassed Canada.
https://www.weforum.org/people/justin-trudeau
So... unless Grinnell does things very differently, the author did not learn Racket, they learned (Beginning/Intermediate/Advanced) Student Language, and that's the point.

Racket is a complicated language, designed primarily in order to support the easy creation of other languages: it would be as bad a choice (perhaps worse) for a first language as any other. All of the simplicity, focusing on learning to program, programming structurally based on data, that comes out of HtDP, is enabled by the restricted language.

It's too bad that this naming confusion persists, as I think it hurts the effort to focus on teaching _programming_ in intro classes, vs. teaching X language (I don't want to teach people Racket any more than I want to teach them Python or Java. They can learn those on their own -- they'll probably learn at least a half dozen other languages over their career, all on their own, if they stick with it). This curriculum is about figuring out how to most effectively teach people to program: the language was created, after the fact, to support that.
Ahh! That's why it sounded so familiar! Thank you pointing that out or I might've missed it.
Seconding Chris Molnar's excellent writeup. I also find the readme & example notebooks in Scott Lundberg's github repo to be a great way to get started. There are also references there for the original papers, which are surprisingly readable, imo. https://github.com/slundberg/shap
You’re right it reads like it’s trying to be the next Theranos expose
In my (abandoned) Racket book (which had a very specific positioning), I was going to introduce some of the non-Scheme iterators like `for/list` at the start, to help people do commercial work on the first day... and then later teach some more old-school Scheme-idiomatic ways to do things, with named-`let` and avoiding mutations to shoehorn. (Then, once people were comfortable with the less-familiar way, they could decide when to use which.)
Good, because those sanctions would hurt Europe badly and pull it into a deep recession while it would not affect the US much.
Yep.

Fun fact: parenthesis / parenthetical can mean 'a word or phrase inserted as an explanation or afterthought into a passage which is grammatically complete without it, in writing usually marked off by brackets, dashes, or commas.' (Merriam-Webster) - so you can have a parenthetical statement without using actual parentheses.
My friend Mike and I recently started a YouTube channel with this exact thinking in mind! It's the two of us doing pair programming and TDD. I can't promise it's "good pair programming", but we do both have about a decade each of experience with collaborative software development.
We only have 3 videos posted so far, but we have quite a few more we've recorded and just need to edit and post them.
https://youtube.com/channel/UCPeEnPwRkqmF-_1rCbE7-lA
Nitpick: Google Docs uses the server-mediated Operational Transformation (OT), not peer-to-peer CRDTs.
The Masses, Not the Classes – Irving Berlin
> There's no world where phone makers stop customizing the software they ship

This is exactly what Pine64 is doing with their Pinephone. They probide no software at all, just hardware.
Declarative UI works amazingly well when done properly (see Flutter). But Apple has a tendency to half-ass development tools, so it is what it is.
Get Unstuck by Taking Action with Samanta Aquino – Low Fidelity Ep.6
Grifters gonna grift anyway they can. For anyone interested in knowing what the emergency act actually entails, and why it's not the war measures act, Elizabeth May has a fairly decent, if not long, speech during the debate: https://youtu.be/-iPsgfuum2c
Completely random: I love the site design.

I guess it shouldn't surprise me that a site dedicated to scientific information would be dense in well, information (not trendy with flashy graphics, little content nor confusing color schemes where you can't figure out what is a link or not)
Behaviors also don't exist in a vacuum, they exist as responses to things, and while some of us want more professionalism at work and some of us less (often for good reasons), there are probably also situations in which shouting loudly in response to something, is way less "toxic" that not pushing back against it.

I would say that in a healthy work environment, there is both an awareness that both actions and intentions matter, and that we all bring our own sensitivities to the table, and it matters less whether a person is "right" or "not", that the feelings that come up can be addressed.

For example, I have seen people, from my perspective, take code reviews far too personally. I have also seen people, from my perspective, be far too personally insulting in code reviews. I am sure from others perspectives those lines would have been drawn in different places. But that's less important than can that be resolved - maybe it can be resolved by getting someone to change their PR style, and maybe it can be resolved by helping someone understand that no one on the team thinks they are dumb and actually understanding that no one meant any comment personally is an important part of growth...

But in my experience in both organizations and relationships is that "what comes up" is less important that "how it is resolved" - because stuff always comes up - we're humans, with our big messy selves that feel lots of things, whether we want to or not or whether the feeling even comes from this circumstance or not
Another trip down memory lane today ... I owned one of those HP-200s back in the day (before I got a Psion Series 5) and was it ever useful. I kind of regret selling it on eBay back in the early 2000s.
Competent evil is usually civil in public and uses civility as a weapon to suppress any kind of frustrated dissent that isn't expressed perfectly calmly.
I was really excited about Swift when it was first introduced, and I hoped it could grow beyond the confines of Apple's specific needs and ecosystem requirements. Unfortunately, that never really seemed to happen, and rather than Swift actually get better in the areas I care about (coming from a background in very expressive, dynamic languages like Ruby), in some ways it got "worse" (aka lots of verbose syntax all over the place simply to placate compiler-level concerns). SwiftUI was a bizarre advancement in that it attempted to add a very dynamic DSL mindset on top of a language which was far more rigid. Needless to say, everyone I've heard from who's tried to build production-grade UIs using SwiftUI has ended up feeling pretty burned. It's a grab-bag of cool ideas yet remains a buggy nightmare in practice.

I don't really know what Apple can do per se to turn this ship around, but Swift "as a brand" has definitely lost its luster. I'd considered wading back into Apple app development when SwiftUI was first introduced (at the time I hadn't touched any of the dev tools since early-era Mac OS X Cocoa/Objective-C), but I have no interest at this point. (The App Store being a real s**show also doesn't help matters!)
Usually it is as simple as being connected through eduroam (the university wifi) or VPNing into the university network. Sometimes you have to log in to the university library portal and get it through there. Some journals want you to create accounts to access, and don't let you download, only read in the webviewer (without highlights or annotations of course).
Ask HN: What is something exciting you're working on?
The more I advance in my career, the more frequent are the phases when all novelty and excitement about software development, and tech in general, starts to fade away.

I'm looking for inspiration, so what's something really exciting that you're working on? (day job, hobby project, whatever...)
people won't change but if the gif library were updated then maybe browsers could support a modern rev with unambiguously defined behavior and compression improvements, maintain compatibility for older gif87a and gif89a files, and then a path would exist for gif authoring tools to eventually output gif222 by default at some point in the future (instead of throwing our hands up and letting this crusty old tech define our internet forever)
The US Copyright Office says an AI can’t copyright its art
Insistence on this site that iOS devices are "only for consumption" (or similar) baffle me. The things are I/O powerhouses. They're out-of-this-world. The only way that can be true is for people with weirdly tiny notions of what "creating something with a computer" looks like—like, say, using it as a tool to create 3d models of a house on-the-fly and produce (create!) new designs for that house, as in your example. I can't do that shit with my laptop—not without peripherals and a lot more hassle.
> BLM protestors flying "antifa" flags ... are just as bad as Nazis

Let's be clear about what you're saying: people who are vehemently opposed to Nazis are just as bad as Nazis. This is the definition of "fake centrism" or (sarcastically) "enlightened centrism". You're really saying that a new flag created to express opposition to Nazis, fascism, authoritarianism, and genocide is as bad as a flag that has been used for almost a century to represent those exact things? They're just as bad as each other? Are there good and bad people "on both sides", too? You need to seriously take a hard look at yourself in a mirror if you believe this. One group is expressly saying "we should subjugate and genocide non-whites" and the other group is expressly saying "we should not tolerate genocide and subjugation" and they are just as bad in your eyes!?
> It comes with one month warranty (within EU, warranty must be 2 years).

Retail version will be available soon, $100 more expensive, with the right support. See here: https://www.pine64.org/2022/02/15/february-update-chat-with-...
For 6502 fans, there's a new port of Clang and LLVM that seems to be doing some nice code generation. See https://llvm-mos.org/
Neither did I :)
> Invoking the Emergencies Act after 3 weeks was warranted after the police failed doing it's job.

This is what I don’t get. The Canadian police had the power to stop the protestors who crossed the line from protest to riot.

But they didn’t.

I don’t understand why. Why did they allow the ambassador bridge to be shut down so long?

They had the power to stop it. They just chose not to.
Swift is really one of the most enjoyable languages I've used. I've worked in five languages full-time over the last 10 years, and Swift was the most elegant and productive for me.
>async was somewhat rushed into [Rust]

My understanding is this is a FUD meme that has been passed around. Async isn't finished yet, but was debated for years and considered with incredible care and input from the community.

more context in the comments here: https://news.ycombinator.com/item?id=26406989

specifically https://news.ycombinator.com/item?id=26407565
Thank you, great page and article!
Just wait until you have to manually type "what's new" in each release in each different language your app supports that perhaps adds an invisible fix the user couldn't care less to know about. Oh, and appstoreconnect is designed to prevent you from automating this. This huge time waster is what really makes my blood boil when I think of Apple
I actually think that when they are young is the most expensive period - unless you have family nearby to help, either one of you gives up work or you pay a large amount of money on childcare, or some combination thereof if you work part-time. Although we haven't reached the teenage years yet so I am prepared to change my mind!
Moving to Mars is a fantasy now and for the foreseeable future, so it would have to be a fantasy event, like Sauron rising again to rule over the earth.
> curious what you find so atrocious.

In the context of the original post, it's a bad target for C — I have no clue about other 6502 use :)
This is full of factual errors, and garbage on the face of it.

Canada is a rule-of-law, democratic society. The so-called protestors blocked off major ports of entry leading to material harm to businesses. They also violated the rights of individuals living within the downtown core (including my family) for weeks on end. They brought weapons with them, they built shanties and filled them with kerosene and propane.

The plurality of Canadians voted for the government and the imposition of its lawful and constitutional restrictions in re: COVID. Were they unlawful or in violation of Charter rights, they could have used the courts but elected not to. Because they are lawful and in keeping with the Charter.

Two thirds of Canadians support the use of the Emergencies Act in breakup up the unlawful protests.

As the elder Trudeau said in the October Crisis re: the use of the military (which the junior Trudeau is not planning on doing):

Yeah, well there's a lot of bleeding hearts around who just don't like to see people with helmets and guns. All I can say is, go on and bleed, but it's more important to keep law and order in this society than to be worried about weak-kneed people who don't like the looks of a soldier's helmet.

If you want to change the Government, vote. Trudeau's Liberals are a minority government meaning they require the support of another major party to continue to be a government. If they fail to pass a confidence bill they will immediately be dissolved and face an election. The average tenure of a minority government in Canada is 1 year, 140 days.

The use of Bitcoin in this manner is anti-Democratic as it seeks to overturn the lawful, constitutional decisions of the plurality - and to overturn the last election.

We have ways of sorting this out in Canada. You vote.

If you see yourself supporting these anti-Democratic viewpoints, ask yourselves: "Are we the baddies?"

[edit] Not only did I not vote for the Liberals in the last election, I'm open to re-evaluating the COVID restrictions too. But not with a boot to the neck. The unlawful protests must end. Then we can talk.
Often these seasonal patterns match up with yearly high school or college entrance exams, and are due to students studying the topics.
Not really. If you can just order someone back to work without sitting down at the negotiating table... You're kinda hosed from the Union/labor front.

Like it or not, even the Government is liable to pay a fair wage. If the Public is so darn stingy they won't even vote in people to seriously fund the execution of crucial services, that's their problem.
In fact the most recent common ancestor of the domestic cat and the leopard lived on the order of 10 million years ago. But in any case, I was not endeavouring to prove that leopards feel pity, only to show that it was not so implausible as to merit such a dismissive response.
I was being ironic on both counts: Venice was overcrowded long before Airbnb, and Miami Beach is incredibly expensive despite Airbnb.

The point is there are systemic issues of housing shortages - Airbnb is at best a manifestation of these symptoms, not a cause.
Both are fully open-source under the OpenJDK umbrella. JFR got open-sourced with Java 11 (also backported to 1.8 since then), and as such is subject to the license of OpenJDK (GPLv2 + Classpath Exception). JMC is also open-source (Universal Permissive License). Note though specific licensing may apply for particular binary distributions.

As usual: I'm not a lawyer, check with you own legal counsel etc.
From my superficial understanding, your goals (e.g. compilation into realistic gates) are very different from the goals of these language designers (study of abstract structure of quantum algorithms). Also, I tend to strongly disagree with your first paragraph: if teleportation was "built-in" for the language, then the language would be useless for anything but "numerics" - it would be a Fortran instead of being a Lisp. When you study abstract algorithmic structures, you want to be able to access such low-level implementations. And once they have defined their `teleport` function (in something like a standard library), they can reuse it wherever they want (hence addressing your worry).
> he gives evidence for why he should not be trusted as an authority-- he goofed and doesn't even know why!

Your comment is very hilarious since Gauss's law is high-school physics. So Feynman would have clearly known how he goofed up.
Bummer. Musk-hyped moonshot or not, I thought Hyperloop presented an incredibly exciting vision for the future of mass transit. Even if it was always going to be a long shot, it’s disappointing to be right.

Edit: replies saying "this never could have worked" are missing the point to a pretty hysterical degree.

You don't know that. No one knows that! Unless you are from the future or are a genius-level mechanical engineer in the specific problem domain of vacuum trains (who for some reason was not already employed by Hyperloop), you cannot say that with 100% confidence.

No matter how unlikely it might have seemed to you, it could have worked! And it's a bummer when extremely-cool-but-unlikely things don't work.
They can also criminalize accepting Bitcoin for payment for goods, in which case you would have no choice but to convert back to dollars (and taxes will likely always be paid in dollars anyway)
Show HN: Trilium.cc – Paid hosting for Trilium Notes, a personal knowledge base
I completely agree. I never thought I'd see so many blatant authoritarian would-be tyrants coming out of the woodwork as I've seen here on HN since the protest began.
It depends if you want them to go to daycare or not and what kind of quality of life tradeoffs you are willing to make.

If you do, then they are going to bring back sicknesses every other week for a couple years, which means lost work time / $150 to $250 for the ones that require doctor visits.

Pregnancy and birth alone will prob take most families to the out of pocket maximum, anywhere from $3k if your employer is generous to $17k per year (legal maximum) if it is the cheapest insurance.

I assume licensed, inspected daycare in even the cheapest COL areas is $10k per year. But this is where grandparents who are willing to serve as backup or guardians while you work can make a world of difference.
I'm fairly convinced that GC is the reason that Android phones need much more RAM and much more CPU to generally be worse than Apple phones in terms of performance.
True, good points
This is not true. The occupy movement did block main roads. When they were doing their thing, my drive to work (and back) tripled. BLM did the same.

Police need to be able to stop those who break the law, while simultaneously protecting those who are merely protesting. Even if they’re part of the same crowd.
What I have repeatedly found with GA is that I can solve some problem I have using some other brute-forceish tools with a few pages of tricky error-prone scratch-work that balloons out to a complicated mess before simplifying back down at the end, and then afterward think about it a bit and come up with 2–6 lines of simple GA identities showing the same thing in a much higher-level coordinate-free way, and with most of the steps geometrically interpretable, rather than just opaque calculation. But coming up with the simple version at the beginning is hard.

The tricky part about it is that there are a lot of useful identities that can be written down, and properly learning a decent number of them and figuring out which ones to apply in which situation takes probably years practice, ideally with some guidance/support from someone who knows more than you. (I do not feel like I have mastered the subject.) The same thing happens using whatever other formalism, with the difference that many identities that are pretty short to write down in GA are much more complicated to write down, so people don’t even try to use them.

I’m not sure if there’s really a good beginner source, but I haven’t ever really sat down and tried to go comprehensively through the exercises in any books pitched at a relatively elementary level. You could try Alan MacDonald’s book Linear and Geometric Algebra which is designed as an intro undergraduate textbook. If you want to also learn some mechanics, you could try Hestenes’s book New Foundations for Classical Mechanics.
I think you have your CEOs mixed up.

https://twitter.com/dhh/status/1375128958056988673
Google doesn’t care about Android’s experience or the Play Store. It came out in the Oracle lawsuit that Android had only made Google around $25 billion in profit during its existence. Android was already the dominant platform around then. Apple makes more from Google in mobile by Google paying it to be the default search engine than Google makes from Android.

Android is only a defensive play for Google not a profit center
> 1) The people begging for the right to die a slow brutal death that resembles a month long water boarding session.

This is a disingenuous interpretation of what is essentially a peaceful worker's sit-in.

> 2) The people that trust that medical doctors around the entire plant earth aren't part of some super secret cabal hellbent on implanting mind-controlling microchips in them

This is a disingenuous character smear of anyone who decides to question the status quo.
My final straw was when I was asked to code this problem in 20 mins :

https://leetcode.com/problems/reverse-nodes-in-k-group/

Maybe I'm just too stupid.
Latest Photoshop 23.2 supports WebP format natively