skysight-inc/HackerNews huggingface dataset:
"There are only two hard things in Computer Science: cache invalidation and naming things." - Phil Karlton [0]

Based on the above statement, I find it extremely weird to see such git command named "blame", then I realized I'm not the only one:

What does 'git blame' do? [1].

Blame someone else for your bad code [2].

Git blame should be called git credit [3].

Does Git Blame sound too negative? [4].

______________________________

0. https://skeptics.stackexchange.com/questions/19836/has-phil-...

1. https://stackoverflow.com/questions/31203001/what-does-git-b...

2. https://news.ycombinator.com/item?id=27963868

3. https://dev.to/damcosset/git-blame-should-be-called-git-cred...

4. https://www.reddit.com/r/ProgrammerHumor/comments/r5lzyo/doe...
"Being a Lisp" or "being a dialect of Lisp", these are two different things for me.

But even the "dialect of Lisp" actually is more like "spiritual dialect of Lisp".

Clojure was from the beginning designed with exactly ZERO backwards compatibility to Lisp. Exactly ZERO of the existing Lisp programs/libraries could work. It was even difficult to port them. It's basically a kind of "dialect" with new operators and data structures, which interprets prior concepts in new ways and mixes in new stuff.

But it was designed with compatibility to Java and the JVM -> one could not reuse existing Lisp code, but one could reuse existing Java code -> since Clojure was hosted on the Java and had integrated calling Java code. Reusing Java was more important, because the goal was to work in a Java industry. Thus there wasn't a version of Clojure on top of Lisp, only versions on top of languages/infrastructures like JavaScript or .net, because there was another source of reuse.

If we look at the above linked paper "The Evolution of Lisp", then "Evolution" actually meant "Evolution", not "Restart" -> the language evolved by improving, adding, extending, removing, ... around a core design.

Clojure was designed as a new dialect, free of the baggage from the past, with a completely fresh start. Reusing existing code or evolving an existing language was a non-goal. It was newly designed as a hosted implementation (-> the Lisp runtime was gone), it was designed with lazy data structures at its core (-> the Lisp linked lists were gone), it was an opinioned new design, based upon of what Rich Hickey liked about Lisp and what would help him to be employed as a consultant in a Java world -> by developing upon and within the Java stack of standards, tools and libraries.

And that's fine for him. Rich Hickey had his goals and succeeded with them. Other people found it useful, too.
How to reverse a Substack ban on publishing?
Hey YC! Substack arbitrarily did a temp ban on my publication with 8 subscribers - killing my SEO - when I attempted to publish a new article after a few months.

What is this nonsense? How do I reverse it, and what's the best way to get in contact with them?

Thank you for your help...!
Unironically that might be the best available option
Its like a door opener.

The Fed already offers banking services to banks. That infra can be reused by everyone not just the banks. But why isn't it?

Its an old question that the banks get very jittery about. But it came back to the fore when a couple banks collapsed last year and the Fed had to step in and save everyone's deposits. The entire amount. Even though its not even obligated too. Everytime this happens, people start asking more and more loudly, with the tech infra we have today, why can't those of us who want to, just bank directly with the Fed?

Big banks will oppose furiously so attempts will be made to do it in ways that don't appear to be a threat to them. Hey man we just interested in the banking unbanked poor people. But obviously once postal infra can be reused to open a bank account with fed then Anyone can start using it...
In addition to the reasons already stated, WSL2 is a heavy dependency. Compared to PowerShell:

1. Typical WSL2 distros require far more disk space.

2. RAM used by WSL2 may not be immediately freed when your script exits.

3. WSL2 distros don't auto-update, so telling someone to install, e.g., Ubuntu via the Microsoft Store is insufficient to ensure a well-maintained WSL2 instance.

4. WSL2 requires enabling Windows hypervisor support, which can be difficult (KVM) or impossible (non-bare metal EC2 instances) in virtualized Windows instances.

While (1) is probably not a big deal and (2) and (3) have reasonable workarounds, (4), where relevant, tends to be a showstopper.
You also might need to:

- never take your precious Apple laptop outside
- somehow make sure there is no other open WLAN nearby
Thanks for correcting my memory about three copies of the Sims 3.

> [...], which was then mistaken by an officer on the scene for being meaningful.

Well, my narrative here is that one way or another the officers were incompetent. Either in staging (more likely), or in assigning meaning (less likely).
They are probably right about the coders. Extrapolating from my brushes with big corp IT efforts and confidently generalising it to BP too, it is likely that the standard of what they have today is so underwhelming that an AI will do no worse.

This is because the corporate culture and reward structure incentivise using the cheapest labour to spend as much money as possible delaying delivery for so long that accountability doesn't come home to roost and the system can instead be scheduled to be replaced by a bigger worse new project before it ever gets finished.

Yeap I'm cynical but there are precious few 'wow they are doing it right' 'efficient and effective' stories from big corp IT.

They are probably right about their help desks too. And so on.
The problem with the validation part is that the human has to go through all the code written by AI. Guess what, understanding someone's code takes almost as much effort as writing the code yourself. Therefore you require just about the same amount of human beings verify AI's code.
Ironic that you would pick that metaphor because I happen to have both a pilot's license and a Ph.D. in computer science. So I really snookered someone.
From the earnings PDF, reference 2

> Due to GenAI and in-house built developer productivity tools, we have increased the
output of our software developers by around 70% year-over-year. In parallel, we have been
carrying out a large-scale digital talent transformation, accelerated by our in-house AI +
human-powered code-reviews-as-a-service capability. As a part of this we have been
reducing 3rd party software engineers in our organization by around 60% percent in the
last 6 months.

They have increased in-house developers' productivity, which means they are less reliant on 3rd party developers.
Of course I mean the fact they use the JBIG2 part of Xpdf. You don't have to use Xpdf for processing PDF in order to use these `class JBIG2*` and you don't even need to patch it.
Recommending glue on a pizza is a stupid answer.
Oh, definitely. But that would be a very different game, not Counterstrike.
This is not the first time programmers became more efficient. We've had that happen before; usually because of new languages, tools, and other things that help people become more productive. AI is just another productivity enhancing tool.

Some studies suggest that the lines of codes produced per time unit is more or less constant across different languages. What matters is what those lines do. If you are programming in assembly, it's going to take ages of very verbose programming to get anything done. Do the same in Haskell and you might reduce it to a couple of lines of code.

Based on what happened in the past, we might expect programming work to outgrow the efficiency gains. That's what has happened every time there was a step change reduction in cost for producing software. The community of developers keeps expanding and isn't shrinking.
The IT is almost certainly outsourced. It's all contractors.
Automatic SaaS Contract Analysis for detecting Actual ARR
My partner and I are working on a startup focused on simplifying SaaS contract analysis. Using OCR technology, we extract your expected ARR, highlight potential issues, and provide insights into product variations.

Ready to see how we can help your business? Book a free 30-minute meeting via Calendly (https://calendly.com/swordsofsteel1/30min)

Special offer: The first 5 customers to schedule a meeting receive their first contract analysis for free. After that, it's just $2 per contract.
They figured out that they are losing money with you and offered to negotiate a new plan which was declined so they made and offer which was ignored and you let them know that you maybe want to change the service so they magically found an violation and after still not accepting their offer they took you down.

Pretty standard behavoir from both sides with room for improvement. They should have been more clear about what's going on and you should have been more insightful what they wanted.

In my opinion they acted to fast and not really cooperative, but if you wouldn't have declined the initial offer and started to figure out why they offer it and what options there are, you would have came out with a better deal than 10k/month and likly without 1 year upfront payment which would have given you the time needed to transition to another service.
Perhaps the eminently useful <PLAINTEXT> tag hadn't been invented in 1994 :-)
This is an earnings call, so take it with a grain of salt. There's a strong incentive to represent expenses as low as possible.
Math Nerds Beware: Peter Thiel Warns AI Is Coming for Your Jobs First
The glue may have been non toxic at room temperature. After baking many things change.
They must have quite the sparkling crystal ball at BP headquarters. What a specific estimate, not even a range.
Most coding is not rocket science, just drudgery. Still, 7/10 implies some very junior level tasks.
In theory it can, but when you work with 20 other devs all working on the same codebase, tracking those changes can become burdensome.

Are we going to add an entirely new testing suite and workflow tools to save 5 lines of legacy CSS in favor of the new version? Probably not in a lot of teams.

You also need to write and maintain code to conditionally load that fallback stylesheet and hope your users aren't using some weird user agent hacks (looking at you instagram in-app browser).

All of these problems can be solved, but obviously nobody wants to because the juice is not worth the squeeze. This is not our first rodeo. I'm gonna wait another 18-24 months and then start using most of the features released this year. It's fine.
> any unchecked array or pointer dereference is a potential security risk.

I take exception to this. Of course if I write once-test never, copying from google results and trying to hit jira metrics, then any safety feature in the language will filter out some of the toxic waste code I am producing.

If secure code is designed and engineered, like any other secure technical system would, the language used does not matter so much, but, unsurprisingly, needs to be easy to reason about formally.
This is silly...
If this number is anywhere near accurate across companies, this might end up having far ranging consequences that we're not ready for. Aside from the obvious unemployment of those replaced by AI, why would anyond still want become CS/IT graduate? Might as well close down 70% of CS/IT departments.
I can hear whatever my PC can output, but I can't hear anything in our Zoom meeting rooms. Maybe it's low volume, though.
This is the least interesting post on this blog. I like this blog and expect to read a lot of it. I would far rather read about why audio goons think memcpy changes the sound of music, than a short take on USB-A vs USB-C.

Oh, the lapsed catholic mass story...
Well, if you are leasing office space, you are likely in a high cost location like Silicon Valley, and so you are most likely also paying your engineers a lot.

If (almost) everyone is working remotely, you can probably get by without office space and also with lower salaries.
How to Detect and Remove Spyware from an Android Phone
Random fact that I completely forgot and didn't even occur to me reading the article. Absolutely this.
This reminds me of the Marylin Manson interview in Bowling for Columbine. Maybe those parents shall take a look at it. /s
thanks! now I understand it, it's fine, but there are definitely some UX things that could be improved to make how it's working obvious from the start.
Yeah, I'd heard good things about the Mercurial UI but bounced off when "how to branch" turned up https://stevelosh.com/blog/2009/08/a-guide-to-branching-in-m... with not one but three radically different answers. Seemed somehow unfinished to me.
> I agree with you we do not only want "very wide SIMD", and it seems to me that 2x512-bit (Intel) or 4x256 (AMD) are actually a good middle ground.

I'd already classify this as "very wide". And the story is far from being that simple. Intel's 512-bit implementation is very area- and power-hungry, so much so that Intel is dropping the 512-bit SIMD altogether. AMD has 4x add units, but only two are capable of multiplication. So if your code mostly does FP addition, you get good performance. If your workflows are more complex, not so much.

The thing is that on many real-world SIMD workloads, Apple's 4x128bit either matches or outperforms either Intel's or AMD's implementation. And that on a core that runs lower clock and has less L1D bandwidth. Flexibility and symmetric ALU capabilities seems to be the king here.

> Sure, it's https://news.ycombinator.com/item?id=40465090

Ah, that is what you meant. Thank you for linking the post! My comment would be that this is not about 128b or 256b SIMD per se but about implementation details.
There is nothing stopping ARM from designing a core with more mask write ports. Apparently, they felt this was not worth the cost. Other vendors might feel differently. I'd say this is similar to AMD shipping only two FMA units instead of four. Other vendors might feel differently.
I think the point of hashing here would be to have a high-confidence equality indicator with a fast comparison speed. Having a low-confidence indicator (like coord count) that still requires significant computation afterward that cannot be cached defeats this purpose.
This post is an “Ask HN” about trying weight loss drugs. I don’t think a comment suggesting that people who want to lose weight have low self-discipline and are lazy is very helpful.
What I don't think the HN bubble is fully familiar with is the fact that probably 70% of programming happening today is boring low paid drudgery (or maybe 50-90%). It's creating dashboards in BI tools, it's tweaking Wordpress themes, it's writing custom business processes in ABAP for SAP deployments, or it's 3-10 engineers doing the work of 1 so that a outsourcing company can bulk up its bills.

This is the sort of work that AI is coming for. It's low impact, low effort, low paid, and importantly it doesn't get automated (often). This means there is a lot of low hanging fruit for automation, whether that's by regular tooling or LLMs.

On the other hand, if you're a highly paid software engineer, it's likely you're already working with highly automated and abstracted systems, so there's much less opportunity for LLMs. If your deployment process is a Word doc specifying the 120 steps you have to run in bash to deploy that takes 1 eng day, that's going to be automated, but if you're git-pushing and having Kubernetes roll it out in your CI/CD flow, automation has already raised the level of abstraction that you need to work at and there are fewer opportunities.

Yes there's Copilot/etc which will reduce boilerplate, but the only way a company achieves "70% less coders" is by wholesale automation of large parts of their process that must be horribly basic already.
Original source:

Page 7 of the "BP 1Q 2024 Results: Webcast Q&A Transcript"

https://www.bp.com/content/dam/bp/business-sites/en/global/c...
From my point of view, the GP -> Specialist pathway is already the "Customer Support" model. The GPs seem to be rote symptoms&statistics memorisers who can't actually reason about the human body the way old school doctors used to. If anyone is ripe for computers to take their jobs it's them.

I would love to see Dr House, suffer his wit and actually get fucking help for once.
1 in 9 American Kids Were Diagnosed with ADHD, New Study Finds
I have seen a bit of production ruby and would say the reverse. Especially the augmentation of types gets confusing fast. With rust at least you have to own a trait or the type to implement it and you have to import the trait to use methods.
My impression is that AI has done more for the accessibility of coding than the efficiency of coding.

Sure, it's much more possible for bob from accounting to throw together some trivial python script than it was a few years ago, but it seems the main benefit more skilled programmers get from it seems to be helping with syntax and pumping out boilerplate. Which is quite a bit of programming work but well less than 70% of it.

When a problem is tricky, it seems people turn off the autopilot.
The supervision is also difficult to do unless people get enough experience actually doing the job, so expect it to take even longer to get people to verify the code once it's written by AI. This is the same concern people have about autonomous driving. If you let the machine take over, then you'll be out of touch when you're called on to do the real tricky bits of work.
the article could have gone into the fact that the main component of Elmer's glue is polyvinyl acetate, which comes in food-safe versions, and is used in chewing gum and chocolate, and is sprayed on apples to make them shiny. also used in sausage casings.
> The Google Cloud situation

What's the Google Cloud situation?
The real problem in my experience is that people who consider themselves to be "real" developers don't care about CSS. I do a ton of code reviews and consulting for companies of all sizes and their JavaScript and TypeScript is almost always at least in a borderline defensible state? But CSS is always one giant file that has been growing since 2002 and is treated as an append-only log of !important. Nobody even tries to fix their CSS because nobody can imagine the concept of "well written CSS". It's like JavaScript in the early 2000s, where the language has (in the minds of developers) to be worked around with stuff like tailwind.
> then we could at the very least freeze the existing code and write everything _new_ in a same language

Sure, if you are willing to help, here's my wishlist:

- I wish we can freeze libssh and write everything new in Rust.

- I wish we can freeze CPython and write everything new in Rust.

- ...

Can you do it for free? At work I'm busy maintaining old projects in C++ and writing new ones in Rust. Since I'm not getting paid to rewrite or maintain our dependencies full-time I can't do above. Oh, I'm not paid to initiate an effort to freeze our old projects either.

If this sounds too harsh:

- I wish we can freeze ZMK [1] and write everything new in Rust (or Zig, though it's not memory safe, whatever).

That's about one of my hobbies and I always wanted to do it.

[1] https://github.com/zmkfirmware/zmk
Someone please help me understand - did KrebsOnSecurity perform the detective work here to hone in on the IRL perpetrator? If so, that's amazing!
These cheat sheets are a great idea spoiled somewhat by the use of an infuriatingly annoying-to-read font.

If your mission is to make hard topics easier to understand, why are you using a hard-to-read font whose only purpose is to make the cheat sheet look folksy?
It was by far one of their most unrelatable escapades. The commentary on the US healthcare system was good, but everything else just felt like Hollywood problems. I think Matt and Trey no longer inhabit the same space as everyone else, and it's showing.

(Other comments: the character interactions felt wrong, Kyle was too willing to help Cartman, and Butters was too willing to help without being cajoled into it first, the shootout scene felt clunky and even gratuitous. It felt very low effort towards the end.)
I assumed it was short for "distribution", stylised.
I think I was extra confused because the HN title says it searches "packages" so I assumed that was what it was doing (in a java sense, where a package is the classes inside a library).
It is very application dependent but this email thread explains one of my problems

https://www.postgresql.org/message-id/315b7ce8-9d62-3817-0a9...
What's a good resource for learning to write a lisp compiler?
Clip: https://twitter.com/heykahn/status/1794699008885350598
I Turned the New 13" iPad Pro into a MacPad and Portable Gaming Display
> Find every commit that added or removed some text
> git log -S banana

I literally spend half an hour the other day having an argument with chatGPT about how I could find versions of a file that contained a specific string. Guess I should have asked for commits and not versions of files.
I remember those as far back as filesystems were 8.3 all caps, so D would not rotate to P though.
I am fairly certain I know the answer to this. They normally do these kind of studies on untrained humans, because the point is to prescribe (or not) exercise to people who need to lose weight, which are typically not athletes. The anecdotal success comes from people who play sports (tautologically). The problem is you cannot compare across these two groups because the metabolism and sheer volume of exercise is not comparable. Even a semi serious athlete will put in 5-6 hours of intense training a week. And their bodies are much more efficient, so they can burn way more calories in the same time. This is NOT the same as “Brisk walk and lift some weights 3-4 times a week” they prescribe the study group in a study of untrained athletes. Not even close.
Maybe "was reductionist cynicism".

Their present day approach makes it seems very plausible that it's just marketing and weasel words, nothing more. :(
LGF, a Terminal Assistant
I'm well aware of this and in those sorts of jobs, most of the work isn't programming, it's sitting in meetings and communicating. While AI might help with this simply by shrinking the amount of people needed to do a job, I'm very dubious about a 70% efficiency gain when you look at the entire scope of what these workers do.

The entire concept that if you make coding 70% more efficient that you'll make coders 70% more efficient is simply wrong.
LFG is a Python script that helps you with Linux and macOS terminal commands. Just ask it a question, and it will use AI to suggest a command and explain what it does. If you like the suggestion, the script can automatically run the command for you in your terminal.
Bring eyeballs to the page to bring food to their table. For me, the ad was in fact for Google's AI itself: "AI that can build apps in just hours. Discover Whats new. - Google Cloud". How well targeted to my interest areas! Perhaps I'll click though...
https://buildyourownlisp.com/ is a good start.
I believe only people with a serious lack of skill and lack of drive to change that are in danger here.

When AI starts to produce compilable non-trivial code, I'll consider changing my mind, but that has yet to happen.

Visual Studio can auto suggest me stuff while I'm refactoring, that easily saves me an hour a week of work during a busy week. The rest of my work can't be automated by any current AI, because most of my work is thinking, debugging and testing.

LLMs can only go "Oh, i'm so sorry, let me just try brute forcing the problem! Heres another variation of the solution, please spend 5-15 minutes testing it to exhaustion!" - "Ah, my bad, heres another fix that doesnt work: ..."...
etc.
I think a better name would be “git praise”
But it requires you to learn emacs. I thought I could just apt-get emacs and then from there do something to the effect of "install magit" and have a easy to use interface to git.

I half a day later I gave up. Never got to install magit.
You don't need to tell others, just consume your own image as a minimalist person. Still vain of course.