HNHacker News
TopNewBestAskShowJobs

heinrichhartman

2,496 karma · joined September 28, 2015

Blog: HeinrichHartmann.com Keybase: https://keybase.io/hartmann Twitter: @HeinrichHartman http://twitter.com/Heinrichhartman GitHub: https://github.com/HeinrichHartmann/
submissionscomments
heinrichhartman··on Git commands I run before reading any code
I personally use git commit -m "." for: "Just snapshots this state real quick" on a feature branch.

main branch is advanced on PR level, with squashed commits.

So the "." should never make it to main, and have PR description as commit message.

heinrichhartman··on Google Workspace CLI
Can someone explain to me, why Google can't (or does not want to) implement the same auth flow that any other SaaS company uses:

# API Keys in Settings

1. Go to Settings -> API Keys Page

2. Create Token (set scope and expiration date)

# OAuth flow

1. `gws login` shows url to visit

2. Login with Google profile & select data you want to share

3. Redirect to localhost page confirms authentication

I get that I need to configure Project and OAuth screens if I want to develop an Applications for other users, that uses GCP services. This is fine. But I am trying to access my own data over a (/another) HTTP API. This should not be hard.

heinrichhartman··on Mathematicians disagree on the essential structure of the complex numbers (2024)
Agreed. To me it looks like the entire discussion is just bike-shedding.
heinrichhartman··on Logging sucks
A post on this topic feels incomplete without a shout-out to Charity Majors - she has been preaching this for a decade, branded the term "wide events" and "observability", and built honeycomb.io around this concept.

Also worth pointing out that you can implement this method with a lot of tools these days. Both structured Logs or Traces lend itself to capture wide events. Just make sure to use a tool that supports general query patterns and has rich visualizations (time-series, histograms).

heinrichhartman··on Uv is the best thing to happen to the Python ecosystem in a decade
Well Python Language should be seen as an UI layer for C++/C. Not out of character to use Rust for "heavy lifting"
heinrichhartman··on Gaussian Processes for Machine Learning (2006) [pdf]
Why would you learn Gaussian Processes today? Is there any application where they are still leading and have not been superseeded by Deep NNets?
heinrichhartman··on LLMs should not replace therapists
> The real question is can they do a better job than no therapist. That's the option people face. > The answer to that question might still be no, but at least it's the right question.

The answer is: YES.

Doing better than nothing is a really low hanging fruit. As long as you don't do damage - you do good. If the LLM just listens and creates a space and a sounding board for reflection is already an upside.

> Until we answer the question "Why can't people get good mental health support?" Anyway.

The answer is: Pricing.

Qualified Experts are EXPENSIVE. Look at the market pricies for good Coaching.

Everyone benefits from having a coach/counseler/therapist. Very few people can afford them privately. The health care system can't afford them either, so they are reserved for the "worst cases" and managed as a parse resource.

heinrichhartman··on It's the end of observability as we know it (and I feel fine)
> New Relic did this for the Rails revolution, Datadog did it for the rise of AWS, and Honeycomb led the way for OpenTelemetry.

I find this reading of history of OTel highly biased. OpenTelemetry was born as the Merge of OpenCensus (initiated by Google) and OpenTracing (initiated by LightStep):

https://opensource.googleblog.com/2019/05/opentelemetry-merg...

> The seed governance committee is composed of representatives from Google, Lightstep, Microsoft, and Uber, and more organizations are getting involved every day.

Honeycomb has for sure had valuable code & community contributions and championed the technology adoption, but they are very far from "leading the way".

heinrichhartman··on Test Postgres in Python Like SQLite
Can you explain this? What is the compilation target? What is the compiler? How does being a "python extension" help?
heinrichhartman··on Why Does My eBPF Program Work on One Kernel but Fail on Another?
From my experience most DTrace users rely on DTrace "providers" [1] and Static Trace Points [2] rather than directly probing kernel structs. Also these days the Solaris kernel is not moving all that much.

[1] https://www.illumos.org/books/dtrace/chp-syscall.html#chp-sy... [2] https://www.illumos.org/books/dtrace/chp-sdt.html#chp-sdt

heinrichhartman··on Most-Watched Software Engineering Talks of 2024
Regular speaker here (who is also on the list).

I was never payed for a talk, and I have very rarely heared of people being payed by the conference itself -- appart from some "rock-star" keynotes.

Generally talks are sponsored by the person you currently work for - i.e. they pay for travel, and sponsor your time. If you work for a vendor in the space, this runs under marketing expense. If you work for a "regular" company this runs under personal development, employer branding & industry exchange.

heinrichhartman··on Show HN: Heap Explorer
OK. RTFM. You already did! Wonderful.
heinrichhartman··on Show HN: Heap Explorer
Can you modify this to listen to a signal (e.g. SIGUSR) instead, for triggering the REPL?
heinrichhartman··on Nearly all binary searches and mergesorts are broken (2006)

    int mid =(low + high) / 2;
> Specifically, it fails if the sum of low and high is greater than the maximum positive int value (2^31 - 1).

I would really challenge calling this kind of effects "bug" or "breakage".

It's like calling Newtons law of gravity broken, because it's not accurate at predicting how galaxies move.

Things are engieered and tested for a certain scale.

Knowing which tools to use at which sacle is part of the craft of engineering.

heinrichhartman··on A ChatGPT clone, in 3000 bytes of C, backed by GPT-2 (2023)
What's the point of art?
heinrichhartman··on The Paradox of the Distance Runner
Hi horv,

For Courtney Dauwalter are we talking "won" as in across all starters or across all women starters?

Winning against a mixed field would be beyond impressive!

heinrichhartman··on Interactive NixOS Tests
Can someone here provide some more context on how this is supposed to be used, and what is great about this approach?

Concrete Questions:

- Is this about the official test suite, or general testing with Nix?

- Is this only about Python applications or general?

- How does this compare to testing / debugging flows on Debian, Alpine, CentOS?

- When would I care about this?

heinrichhartman··on "Doors" in Solaris: Lightweight RPC Using File Descriptors (1996)
> Conceptually, during a door invocation the client thread that issues the door procedure call migrates to the server process associated with the door, and starts executing the procedure while in the address space of the server. When the service procedure is finished, a door return operation is performed and the thread migrates back to the client's address space with the results, if any, from the procedure call.

Note that Server/Client refer to threads on the same machine.

While I can see performance benefits of this approach, over traditional IPC (sockets, shared memory), this "opens the door" for potentially worse concurrency headaches you have with threads you spawn and control yourself.

Has anyone here hands-on experience with these and can comment on how well this worked in practice?

heinrichhartman··on Faer-rs: Linear algebra foundation for Rust
Thanks for pointing this out. Looks like only the python bindings are not included in nunpy.
heinrichhartman··on Faer-rs: Linear algebra foundation for Rust
This does not seem to depend on BLAS/LAPACK.

Good to see LU decomposition with full pivoting being implemented here (which is missing from BLAS/LAPACK). This gives a fast, numerically stable way to compute the rank of a matrix (with a basis of the kernel and image spaces). Details: https://www.heinrichhartmann.com/posts/2021-03-08-rank-decom....

heinrichhartman··on Show HN: I made a discrete logic network card
What does "discrete logic" mean in this case? Why would this prevent interrupts?
heinrichhartman··on The Emacsen family, the design of an Emacs and the importance of Lisp (2023)
> lost the editor wars

What does that even mean? Both editors have large&strong communities. I don't see them going anywhere.

heinrichhartman··on The Emacsen family, the design of an Emacs and the importance of Lisp (2023)
Direct Link to "Lem" the Common Lisp based "Emacs" discussed in the talk.

https://lem-project.github.io/ https://github.com/lem-project/lem

heinrichhartman··on How is a binary executable organized? Let's explore it (2014)
I started my blog in 2012, when I shifted my academic career from Mathematics to Computer Science. This topic was literally the first thing that I studied:

https://heinrichhartmann.com/archive/Dissecting-Hello-World....

Never regretted going down this deep rabbit hole. IIRC, Julia also has a math background. Maybe it's the desire for bottom-up reasoning that leads math folks towards experiments like this. Great to see her making this approachable for a large audience.

heinrichhartman··on After more than 11 years, I've decided to move on from HashiCorp
Is he still on the board?
heinrichhartman··on GNU Parallel, where have you been all my life?
As the answer to the question was not actually given in the post:

    /usr/bin/parallel
heinrichhartman··on Show HN: Send Emails from Your Terminal
As other's have pointed out, sending emails from the command line is a solved problem [1]:

    sendmail user@example.com < email.txt

    mail -s "Test Subject" user@example.com < body.txt
What keeps me from actually using this, is the lack of Address Book, as I don't memorize email addresses from all my friends and colleagues. Any suggestions on how to integrate my Gmail Address book into a command line workflow?

[1] https://stackoverflow.com/questions/57410259/how-to-send-an-...

heinrichhartman··on Creative people enjoy idle time more than others: study
I am pretty sure the study is not able to distinguish causality from coronation. To me, the reverse implication seems more likely: Downtime makes you creative.
heinrichhartman··on DevOps Is Bullshit (2022)
If this is true, why are you not moving into "DevOps" roles as well?
heinrichhartman··on Show HN: Homelab Monitoring Setup with Grafana
I use Grafana Cloud with OpenTelemery without problems.
Page 1 of 15Next →