HackerTrans
TopNewTrendsCommentsPastAskShowJobs

majewsky

15,650 karmajoined 11 tahun yang lalu
This process emits code when Premium Cola is present on standard input.

https://xyrillian.de (podcasts and blog) https://github.com/majewsky Mastodon: https://digitalcourage.social/@xyrill

What I say is often colored by my work experience, but opinions are always my own and not those of my employer.

comments

majewsky
·kemarin·discuss
> But to force these beliefs on others through laws is crossing a line you will regret at some point in your life.

Where did they argue for a policy solution?
majewsky
·6 hari yang lalu·discuss
If this is a thing you need to beware of, you should more importantly beware of using a version of Go that's been outdated for over 1.5 years and EOL for nearly a year.

Context: https://github.com/golang/go/issues/70000 fixed in 1.23.3 (released 2024-11-06), EOL for 1.23.x was 2025-08-06
majewsky
·24 hari yang lalu·discuss
Go and try to create 40000 VMs on Hetzner. The cloud may look infinitely big, until it suddenly isn't.
majewsky
·bulan lalu·discuss
If the system cannot adjust its answers to the role it's currently serving, then it would evidently be significantly less intelligent than a human.
majewsky
·bulan lalu·discuss
Of course the degree doesn't help with that. What helps is accountability. When a bridge collapses, and it turns out the engineer who drew the plans made a mistake, they can be and often are held criminally liable.

When's the last time you saw a software engineer prosecuted for criminal negligence after a design error took down Cloudflare or whatever? Attitudes in software development will not change until that becomes a viable scenario that people anticipate when making design and implementation decisions.
majewsky
·3 bulan yang lalu·discuss
Also, regardless of what you think of LLMs, it makes tech support for Linux a whole lot more accessible to the average person. There is going to be less of an expectation now that you need to have a Linux guru on speed dial for the occasional weird edge case situation.
majewsky
·3 bulan yang lalu·discuss
That's assuming that each fix can only introduce at most one additional defect, which is obviously untrue.
majewsky
·3 bulan yang lalu·discuss
Well, about the free-software part, anyway.
majewsky
·4 bulan yang lalu·discuss
> But in my cause we're still on 1.24.13 which was released by the Go team less than two months ago.

Yes, and then one week later the entire 1.24 branch entered EOL: https://endoflife.date/go
majewsky
·4 bulan yang lalu·discuss
I still saw the same bug just now (Firefox on macOS).
majewsky
·4 bulan yang lalu·discuss
> It is very unclear whether the output of an AI tool is subject to copyright.

At least for those here under the jurisdiction of the US Copyright Office, the answer is rather clear. Copyright only applies to the part of a work that was contributed by a human.

See https://www.copyright.gov/ai/Copyright-and-Artificial-Intell...

For example, on page 3 there (PDF page 11): "In February 2022, the Copyright Office’s Review Board issued a final decision affirming the refusal to register a work claimed to be generated with no human involvement. [...] Since [a guidance on the matter] was issued, the Office has registered hundreds of works that incorporate AI-generated material, with the registration covering the human author’s contribution to the work."

(I'm not saying that to mean "therefore this is how it works everywhere". Indeed, I'm less familiar with my own country's jurisprudence here in Germany, but the US Copyright Office has been on my radar from reading tech news.)
majewsky
·4 bulan yang lalu·discuss
Not exactly the same, but "sb." and "sth." are common abbreviations in dictionaries, e.g. "to meet sb." or "to pick sth. up". To those familiar with this convention, "s.o." can generally be inferred from context.
majewsky
·4 bulan yang lalu·discuss
This does not square with especially Apple's unending obsession to make phones as thin as possible. Which is doubly stupid when it makes them so fragile that the first thing you do after taking it out of the box is to wrap it in a thick rubber shell.
majewsky
·4 bulan yang lalu·discuss
> Klopilot

I like "Copy-lot".
majewsky
·4 bulan yang lalu·discuss
The problem with the zero value business is that it also makes adding these QoL things in libraries difficult or outright impossible. Case in point, I tried building a library for refinement types, so you can have a newtype like,

  type AccountName string
except you write it like (abridged)

  type AccountName refined.Scalar[AccountName, string]

  func (AccountName) IsValid(value string) bool {
    return accountNameRegexp.MatchString(value)
  }
and that enforces an invariant through the type system. In this case, any instance of type AccountName needs to hold a string conforming to a certain regular expression. (Another classical example would be "type DiceRoll int" that is restricted to values 1..6.)

But then you run into the problem with the zero value, where the language allows you to say

  var name AccountName // initialized to zero value, i.e. empty string
and now you have an illegal instance floating around (assuming for the sake of argument that the empty string is not a legal account name). You can only really guard against that at runtime, by panic()ing on access to a zero-valued AccountName. Arguably, this could be guarded against with test coverage, but the more insidious variant is

  type AccountInfo struct {
    ID int64 `json:"id"`
    Name AccountName `json:"name"`
  }
When you json.Unmarshal() into that, and the payload does not contain any mention of the "name" field, then AccountName is zero-valued and does not have any chance of noticing. The only at least somewhat feasible solution that I could see was to have a library function that goes over freshly unmarshaled payloads and looks for any zero-valued instances of any refined.Scalar type. But that gets ugly real quick [1], and once again, it requires the developer to remember to do this.

[1] https://github.com/majewsky/gg/blob/refinement-types-4/refin...

So yeah, I do agree that zero values are one of the language's biggest mistakes. But I also agree that this is easier to see with 20 years of hindsight and progress in what is considered mainstream for programming languages. Go was very much trying to be a "better C", and by that metric, consistent zero-valued initialization is better than having fresh variables be uninitialized.
majewsky
·5 bulan yang lalu·discuss
Because they are only allowed to review what the LLM has come up with.
majewsky
·5 bulan yang lalu·discuss
> Claude is now forbidden from using `gradlew` directly, and can only use a helper script we made. It clears, recompiles, publishes locally, tests, ... all with a few extra flags. And when a test fails, the stack trace is printed.

I think my question at this point is what about this is specific to LLMs. Humans should not be forced to wade through reams of garbage output either.
majewsky
·5 bulan yang lalu·discuss
We've finally figured out how to spread ossification from network protocols to programming languages! \o/
majewsky
·5 bulan yang lalu·discuss
> "I have said many times that the Russian and Ukrainian people are one nation, in fact. In this sense, all of Ukraine is ours [...] But you know we have an old parable, an old rule: wherever a Russian soldier steps, it is ours."

https://www.aljazeera.com/features/2025/6/27/putin-confirms-...
majewsky
·5 bulan yang lalu·discuss
76k gross per year in Germany is basically the same as that. 100k gross comes out to about 5.5k net per month. The big question is how much is already covered once you're down to the net pay.