HackerLangs
TopNewTrendsCommentsPastAskShowJobs

pgt

3,640 karmajoined vor 12 Jahren
Petrus G. Theron

BEng Electrical Engineering w/Comp. Sci (Stellenbosch, 2010). Former CTO of CloudAfrica, weFix.

Making software professionally for 20+ years, ideally with Clojure, Electric Clojure & Datomic. Based in Cape Town, South Africa.

Links:

- EACL is a ReBAC Authorization based on SpiceDB, built in Clojure & backed by Datomic (https://github.com/theronic/eacl)

- Grug's Guide to Sound (I sell high-fidelity amplifiers): https://petrustheron.com/posts/2024-12-12-grug-guide-to-sound.html

- ExplainGame: The Party Explanation Game (explaingame.com) (mobile-friendly, built in Electric Clojure)

- BraaiSim: Braai Simulator (braaisim.com) (mobile-only, Electric Clojure)

- Essays: http://petrustheron.com/

- Twitter: https://twitter.com/BraaiEngineer

- GitHub: https://github.com/theronic

- Top 2% on StackOverflow: https://stackoverflow.com/users/198927/petrus-theron

- Wallfly Smart Volume Control — https://wallfly.webflow.io/

- Music: http://theronic.com/

(Old HN account was @FreshCode)

comments

pgt
·vor 4 Tagen·discuss
This is helpful, because practically many functions in the wild have assert-like checks at the top of the function, e.g.

`(if-not key1 (throw (Exception ...))`

...and pre-conditions, e.g. `:pre [condition1 condition2]` do not run when `assert` is off.
pgt
·vor 7 Tagen·discuss
Previously: https://news.ycombinator.com/item?id=40248231

tldr; Starlink doesn't work in South Africa, Elon's home country, because the ANC and its lawfare arm ICASA demands they hand over 30% to the State because of BEE laws.
pgt
·vor 12 Tagen·discuss
Very cool! Idea: show the definition of the word when you find it, so you can learn new words.

(edit: ah, I see they are shown later)
pgt
·vor 13 Tagen·discuss
This is such an obvious feature for Glassdoor, but needs verification to avoid abuse.
pgt
·vor 21 Tagen·discuss
In case you want to view the menu, press Tab. Click outside menu items to resume game.
pgt
·vor 22 Tagen·discuss
Only a fool would enter their name in this.
pgt
·vor 26 Tagen·discuss
I’m surprised to see the model names hardcoded as an enum (e.g. `.sonnet4_6`), instead of a string with model discovery so that the user can select their preferred model without having to get a new app version through the App Store to support newer models.
pgt
·vor 28 Tagen·discuss
How to shoot? I can't figure it out. Perhaps made harder by typing on Colemak.

Edit: OK, spacebar shoots, but it's hard to see the cannons flying due to low contrast. And it shoots in the direction of the enemy.
pgt
·letzten Monat·discuss
AI threatens the programmer identity.
pgt
·letzten Monat·discuss
Ooh, thanks for this. I'm going to try quercetin for my histadine sensitivity in red wine, which causes a skin reaction. I thought it was the sulphites, but after trying older wines (which have fewer sulphites), it made it worse. So I've narrowed it down to histadines. The dilemma here is that wines tend to improve with age, but they contain more histadines.
pgt
·letzten Monat·discuss
> "I do wish there were an easier way to move in the ]}]})))}-ness of block ends though."

If he means navigating the AST, there is Parinfer: https://shaunlebron.github.io/parinfer/

Paredit / Parinfer ruined other languages for me. It lets you navigate up/down/in/out of the Clojure AST with keyboard commands and mutate those expressions, e.g. "Split" will split open the current data structure you're in: `(a| b)` =Split=> `(a)| (b)`, where | is caret. Join is the inverse, and it works for all data structures.
pgt
·vor 2 Monaten·discuss
Iocaine powder is a fictional, odorless, and tasteless poison from The Princess Bride.
pgt
·vor 2 Monaten·discuss
Not a Rogue-like specialist, it's hard – I haven't made it out of level 1 yet.
pgt
·vor 2 Monaten·discuss
If query strings are banned, tracking parameters will simply move to the URL, or use `?t=` & `?h=` if those are whitelisted.
pgt
·vor 3 Monaten·discuss
This reminds me of the META [^1] II paper [^2]:

> META II is a domain-specific programming language for writing compilers. It was created in 1963–1964 by Dewey Val Schorre at University of California, Los Angeles (UCLA). META II uses what Schorre called syntax equations.

The interesting part of META II is that it can be defined in itself on one page (refer page 8 of the paper).

[^1] Wikipedia https://en.wikipedia.org/wiki/META_II

[^2] Paper: https://dl.acm.org/doi/epdf/10.1145/800257.808896
pgt
·vor 3 Monaten·discuss
Datomic was the reason I switched [^1] to Clojure as my primary language in 2014. It was a gamble, but it paid off in the end.

I maintain that Clojure is the best AI-first language due to the lightning-fast iteration via the nREPL and Clojure's token efficiency.

[^1]: https://petrustheron.com/posts/why-clojure.html
pgt
·vor 3 Monaten·discuss
thx that looks much better, but I'll forget that syntax in the next 3 months. nowadays I am just casual commenter on HN spending points on contrarian views that I know will be downvoted and I know no one else will say it.
pgt
·vor 3 Monaten·discuss
Your device is the ultimate edge. The next frontier would be running models on your wetware.
pgt
·vor 3 Monaten·discuss
You need to curate your algorithm. Took me 10 years before I started blocking aggressively and now my feed is amazing with 90% bangers. Twitter is by far the best product in this space. Every other platform is 2+ weeks behind. Twitter is where the news breaks.
pgt
·vor 3 Monaten·discuss
@dang, pleaaase can we get proper markdown formatting on HN? I tried adding two spaces after each line, but I don't want paragraphs between code