

Email validation for a form should at most look for
- at least one character
- followed by @
- followed by at least one character
- followed by .
- followed by at least two characters
Sending an email can take a few minutes. Form validation is instant.


Email validation for a form should at most look for
Sending an email can take a few minutes. Form validation is instant.


Often only a few special characters are accepted. Punctuation yes, emoji no.


Just yesterday my library required a new password. The password requirements were:
When borrowing from the library physically, I need to enter this password on a touchscreen keypad. So no copy and paste from a password manager.
They used to have birthdates as the assigned password for everyone. If you request a password reset, it resets to the birthdate. You have to change it on first login.
A little better than before, but doesn’t feel secure.
On the other hand, abuse is kinda difficult.
For physically loaning books, you need the library card with its RFID chip. For anything digital, there’s no incentive or possibility for abuse really.


Someone else will point out the typo and ask a question about it.


I simply dump the installed packages into a text file and then use that on the next install.
Pseudo terminal commands:
packagemanager list installed -nodeps >> myfacorites.txt
packagemanager install `cat myfacorites.txt`


NextCloud is pretty meh. Worst cloud storage I have used so far. A hosted NextCloud with just a few users is also surprisingly expensive. Self hosting is only an option for people with too much time.
Linux actually has a couple usable DEs.


NetNewsWire started as a closed source app.


I use a dependency manager, so I don’t need to think about “it depends”.

Real Swedish fish is made from licorice.
Flexible Mailbox


Excel (all spreadsheet applications) are an integrated environment for non linear functional programming with flexible data structures, where you can see all memory and data at the same time. It’s a marvel.


Depending on the language exceptions are used in many different ways. Some use it liberally for all kinds of error handling.
A good feature of Exceptions is you can throw them all the way up the stack and handle them there, giving you loose coupling between the code that calls the dangerous code and the one that catches it.
Exceptions have a big runtime overhead, so using them for normal control flow and error handling can be a bit meh.
Using return types can be great, if the language has good support for. For example swift enums are nice for this.
enum ResultError {
case noAnswer;
case couldNotAsk;
case timeOut
}
enum Result {
case answer: String;
case error: ResultError
}
func ask(){
let myResult = askQuestion(“Are return types useful?”);
switch myResult {
case answer:
print(answer);
case error:
handleError(error);
}
}
func handleError(error: ResultError) {
switch ResultError {
case noAnswer:
print(“Received no answer”);
case couldNot:
…
}
}
Using enums and switch means the compiler ensures you handle all errors in a place you expect.


A friend has had good results using AIDD as an agent framework. It’s basically a built in project/product/scrum master that creates tickets and with that constraints.
Have you tried something like this?


The available libraries, operating system, and hardware platform pay a bigger role than the programming language. Often the choice of language follows the tool chain and frameworks that fit with the intended program.


And love reading ten pages of Java stack trace.


Reasoning about memory use is kind of hard though.


For LLM generated code, it can also take a whole to read and understand. When I write code myself, I understand the intention, architecture, and so on. Machine written code is very different. I need to understand how it works. There’s often extraneous stuff in there or weird patterns.


Write a program that reads or writes a simple binary file format. I recommend midi, TIFF, BMP.
For example write a generator for fractal images.
Let the AI do the review as well.