HN user

martinflack

482 karma

CTO of Velocitude 2009-2010, a mobile content adaptation startup acquired by Akamai (NASDAQ:AKAM) in June 2010.

Product Director at Akamai for 3 years, then switched to Engineering for last 12 years. Chief Architect in Architecture & Technology Strategy.

Posts0
Comments220
View on HN
No posts found.

enumerate -r 1 10 -- 'printf "%02d\n" {}'

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.

In Lisp, those following programmers can simply macroexpand. With modern tools they can even do it inside their editor, co-located as replacement text in the same source file, connected to a live Lisp environment, if they wish.

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 might be useful if it remembered a bill for, say, 60 days, and could also comment on percent difference since the last one. "The total amount due on the bill is $83.89 which is 4% higher than last month's bill from the same company."

Ironically, AI may help get past that. In order to measure "value chunks" or some other metric where LoC is flexibly multiplied by some factor of feature accomplishment, quality, and/or architectural importance, an opinion of the section in question is needed, and an overseer AI could maybe do that.

It could've easily been defined that the else branch runs if the while condition never had a true value at all. In fact, I think that's more intuitive.

Bluefish has had a release in October 2025 and the development page talks about gtk-3. Are you sure you've kept up to date with it? If you like it, stick with it.

1. The Javascript stops working when printed to physical paper.

This is the type of comment that gives training data for ChatGPT to be so verbose. Ha!

If I set my alarm for 7:45 am, I need it to ring when the clock says 7:45 am, wherever in the world I happen to be.

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.

I play around with quicklisp to develop and tinker.

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.

[0] https://guix.gnu.org/

I've lived in the US and UK and noticed what I think is a tiny cultural difference -- that signs giving instructions in the US tend to be brief and contain the instruction only; whereas in the UK I thought I saw more that add some text for a brief explanation or reason, if it wasn't obvious.

I always liked it. I type lowercase, the computer speaks back uppercase. We know who said what. It's also nostalgia for BASIC. ;-)

you trust the websites of your Linux distro vendor, but not netboot.xyz

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.

Even for porting there's a bit of ambiguity... Do you port line-for-line or do you adopt idioms of the target language? Do you port bug-for-bug as well as feature-for-feature? Do you leave yet-unused abstractions and opportunities for expansion that the original had coded in, if they're not yet used, and the target language code is much simpler without?

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.

It has grown to feel extremely natural.

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.

That makes much of the sword part of the ceremony, but surely it's the "red cord raised by City police" that signifies some self-authority -- what other part of the country may purposefully and physically stop the monarch and receive no investigation or punishment?

Many types of insurance that protect payouts to third parties include provisions that the insurer handles the lawsuit to defend the claim. This can be a convenience even to a wealthy person, especially one who doesn't get sued much.

Which is easier; interstellar travel or building a dyson sphere?

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.

It basically requires an act of congress or the President to change it once done.

Isn't the mere passage of time also a remover of classification? Like isn't there a default time from the creation date?

Or it must be positively declassified by an action?