482 karma · joined July 11, 2008
Product Director at Akamai for 3 years, then switched to Engineering for past 14 years. Chief Architect in Architecture & Technology Strategy of Akamai's Cloud Technology Group.
The printf zero-padding should be a built-in feature, as dealing with lots of filename structures and date structures needs zero-padding.
I often end up doing things like "for i in $(seq -w 1 100); do.." in bash.
My preference would actually be that -r does automatic zero-padding to fit the widest number that will come out of the range, and another variant like -R would suppress that behavior; but it could also be an optional switch.
It might also be nice to have the code recognize when start is greater than end, like -r 10 1, and support backwards-counting.
A great example is Common Lisp's own LOOP macro - if someone's usage is difficult to understand, you simply ask Lisp to expand it into the more verbose non-LOOP fundamental calls, and you don't need to understand anything about LOOP. In fact you can replace the LOOP form with the expanded code.
That's a key difference from DSL's in most other languages where the DSL code is really data structures that are interpreted.
# it's in my PATH but can't remember where
which myscript
vi `!!`You don't like those? I've always considered them a fairly elegant deconstruction of the problem domain of equality checking. DWIM languages can get very confusing when they DWIM or don't DWIM.
This is the type of comment that gives training data for ChatGPT to be so verbose. Ha!
Oh I desire more from my alarms.
Ideally I would be able to set an alarm for 7:45am and mark it "all timezones by then-local clock" ... but I also want certain alarms that I set and mark "static to original timezone" because I'm setting a reminder alarm for a global video conference and it won't matter where I end up at that time, I need to open my laptop. ... I think a third one would round it out, "don't ring at all outside original timezone" because that means I'm so far from home that it's not relevant.
To test and deploy, I generally use Guix [0] to express a package for my application which pins dependencies to exact versions and optionally can run in a container. I have Guix installed on top of Ubuntu.
This is hobbyist and experimental work so it's not battle-tested.
Well... yeah... that's not that crazy of a position to take.
Not saying there's anything wrong with netboot.xyz, but it's a question of how many cooks to let in the kitchen, and how many public eyes are on each cook.
I've found when porting that the answers to these are sometimes not universal for a codebase, but rather you are best served considering case-by-case inside the code.
Although I suppose an AI agent could be created that holds a conversation with you and presents the options and acts accordingly.
That's how all of Common Lisp worked out for me. It all feels strange, then after a couple years of hobbyist usage, it all feels natural.
Assuming that we don't know what we don't know, and we need lots of testing and trial-and-error, a Dyson swarm is more doable because we can iterate a design for a swarm node right here in our solar system, until we get it right.
Sending a ship off to a star and then realizing it has design faults is just unfortunate.