529 karma · joined October 19, 2014
To do neon colors, you would need some sort of frequency redirect in your texture data as in "this pixel absorbs 80% infrared, but reemits it as visible red". Then you could have black light light sources and cool poster textures as well.
I think doing textures in this format would take too much space, but doing a 256 color palette that way might be fine.
Thanks!
I'm not a lawyer, but I guess a German posting on Hacker News effectively waives their copyright by sending their comment to the US, where an US company then publishes the comment on a US server.
Fun Java/macos quirk: macos normalizes file names, so you can't have two files called ü in the same directory by writing ü as a single character and as composing characters. But unfortunately, this only happens on write, not on read, so if you type an ü on a German keyboard (produces a single character) into the Java source code file when writing a file name, the file will be saved with the decomposed name instead, but when trying to open the file, it will not be found when trying to open it with the single character name.
If a Minecraft Java server has the special Geyser plugin ( https://geysermc.org/ ), Minecraft Bedrock clients can connect to it, so you can stick to Minecraft Java on Linux and still play together with your kids who are on Minecraft Bedrock on their iPads.
1. Explain how you would do simple accounting with a database
2. Point out which indices you'd create for performance
3. Show how the "double entry" part of double entry accounting is about the indices
1. The way you'd do accounting in a database is with two tables: One table for accounts (e.g. your checking account, or the supermarket account, which you don't own) and another table for transactions. The transactions move an amount of money from one account to another, e.g. from your checking account to the supermarket account. Or if you use it for budgeting, you might split your checking account into a groceries account, a rent account etc. (think "categories").2. For performance, you would create indices based on the accounts in the transaction table, so you could easily check what's going on e.g. in your groceries account or how much you spent at the supermarket.
3. Double entry accounting was formalized in the 15th century, way before computers became a thing, but bound paper books were already somewhat affordable. The way you'd do accounting is like this: During the business day, you would write down your transactions as they happen, into a scrapbook, similar to the transactions table mentioned above. At the end of the day, you'd do the "double entry" part, which means you take your "index" books where each book is about one account and you transcribe each transaction from your scrap book into the two books of the two accounts that are mentioned in the transaction, e.g. if you spent $10 from your groceries account into the supermarket account, you'd double enter that transaction both into your "groceries" book and into your "supermarket" book. Then, when you want to check on how much you spent at the supermarket in a particular month, you could easily look it up in the supermarket book (this would be very tedious when using the scrap book). These account centered books are like the indices in the database mentioned above.
So the double entry part is about clever index building for making it easier and faster to understand what's going on in your accounting system.
It's mainly a distraction from enterprise programming, but it does have some parts that might be interesting to Lua programmers, like automated test suits, functional programming point free style and deploying to a raspberrypi via justfile.
The git README kinda doubles as a blog post: https://gitlab.com/michaelzinn/replicide
Complex tasks are done vibe coding style, like La Forge vibe video editing a recording to find an alien: https://www.youtube.com/watch?v=4Faiu360W7Q
I do wonder if conversational interfaces will put an end to our GUI churn eventually...
We currently use https://github.com/michaelbull/kotlin-result , which officially should work on KMP, but has some issues.
{ foo: "bar" baz: "bak" quux: [a b c d] lol: 9.7E+42 }The vibe coded main invoice generator script then does the calendar calculations to figure out the pay cycle and examines existing invoices in the invoice directory to determine the next invoice number (the invoice number is in the file name, so it doesn't need to open the files). When it is done with the calculations, it uses the template command to generate the final invoice.
This is a very small example, but I do think that clearly defined modules/microservices/libraries are a good way to only put the relevant work context into the limited context window.
It also happens to be more human-friendly, I think?
It worked really well for about half the people, the other half ignored it completely.
I wouldn't mind if today's office chats like Teams or Slack added a microblogging feature where you could subscribe to interesting colleagues.