davidfstr
With a type checker on, types are fantastic for catching missed cases early.
Oh yikes. I did not know.
Issue counts always go up
For me it's not uncommon for AI to draft an initial solution in X minutes, which I then spend 3*X minutes refactoring. Here's a specific example for a recent feature I coded: https://www.youtube.com/watch?v=E25R2JgQb5c
Designing Software in the Large
Edit: Perhaps this is a reminder that custom fonts are a potential attack vector for security-sensitive websites since font rendering runs highly-complex programs, probably in a language that isn't memory safe.
Redis relicensing: Why is this a problem?
1. Maybe -> Optional[T]
2. Result -> Union[SuccessT, FailureT]
3. Future, FutureResult -> concurrent.futures.Future[T]
4. IO -> don't use this; none of the standard library I/O supports it
I do appreciate the use of "container" as a term instead of "monad".I also appreciate the typechecker enhancements being put forward by their custom plugins.
> It's tempting to imagine some rules like: no ads, no popups of any kind, government mandated or not, especially no cookie banners, no paywall, but even sites like Wikipedia fail at those criteria today.
This sounds like the approach that the Marginalia (https://search.marginalia.nu/) search engine is taking. My understanding is that its algorithm favors text-heavy sites. And additions to its index are done via GitHub Pull Request so it's effectively using an approve-list (whitelist).
BBEdit I still use for multi-file search & replace since I prefer its interface for that. It also has the fastest typing speed.
PyCharm I use exclusively for identifying & removing unused imports in Python.
VS Code I don’t use at all. Relatively slow typing speed. Relatively slow navigation.
This way I can focus on what I want to watch and not worry about how I will watch it.
Much of this complexity I eliminate by using the Immutable Server pattern:
Specifically I deploy my app as a Docker container hosted on a virtual machine cluster managed by AWS ElasticBeanstalk. OS upgrades and patches (outside the container) are done by AWS.
If anything goes wrong with a VM I just terminate it and a different fresh VM spins up to take its place.
I prefer the “explicit is better than implicit” norm in the Python community over the “powerful yet mystifying magic” I find in Rails. (This is personal preference.)
I also appreciate Python source code being easier to manipulate with tools than Ruby, since Ruby did not have a formal grammar the last time I checked. Any tools that did exist appeared to usually include the yacc/bison file from MRI (the main Ruby implementation) as the best approximation of a language definition.
* BetterSnapTool for window snapping and maximization (although I prefer Moom for better control).
* Afloat to force a particular window to always be on top.
* TinkerTool to mess with various other settings.
Sure, these may not be “built-in” as first party capabilities, but Apple has a history of slowly bringing such capabilities into the OS over time. Flux (for altering screen tint at night time) became standard. So did TextExpander (for auto-expanding abbreviations).
<hot-take> More programmer-focused, less UI/normal-folk focused. </hot-take>
I'll put it in my same mental bucket of "things that I no longer worry about", along with buffer overflows, wild pointers, etc that are eliminated by memory-safe languages.
Show HN: Crystal Web Archiver – a website downloader
You might not need centralized continuous integration
For example:
* About 5 years ago I happened to read about the Material Design Lite library on HN which I then used for my then-nascent startup to get our initial website up and running quickly in the Material Design UI language. (And for that purpose it has worked quite well.)
* Emscripten & WASM-related tech has been useful for implementing some of the “secret sauce” at my startup.
* The recent attention given to Cosmopolitan has unlocked a specific technical hurdle (around multi-platform support) for a digital preservation venture I’m planning to start as a side project soon.
That seems like a waste if there would be otherwise be projects around with a nonstandard license that was acceptable to a subset of users.
For example the CPython interpreter (the official interpreter for the Python language) does not use a standard license. Would you not want Python to exist?
https://github.com/katharostech/ldtk-rs/blob/master/LICENSE....
Most OSes have a license restricting use in nuclear power plants. This license adds similar restrictions like “cannot use in adtech”. :)
For example I cannot use GPL at work (based on my own rules as team lead) but am open to it in personal projects.
And other folks would consider having something NOT GPL licensed to be suspect.
It is not possible to provide a uniform license that will be acceptable to all in all circumstances.