HNHacker News
TopNewBestAskShowJobs

jksmith

804 karma · joined August 27, 2007

submissionscomments
jksmith··on Pack: A new container format for compressed files
Yep, optional range checks and a variety of other compiler defines to accommodate programmers coming from a C background who preferred to disregard compile time checks in the name of speed of execution. So sure, you can still to this day make pascal act like C. You even get comment delimiters. Kind of adds credence to the influence of C that I'm suggesting.

Wirth languages are about constraints. For instance, when I started writing code in TSM2 and Stonybrook, my general impression was that they both emitted 10-30% more compile time bugs than BP did. If that's too much of a hassle for C programmers, well ok.

Also to add, all the wordiness of Wirth languages, the block delimiters, yes I get it. But all this stuff is just another constraint for sake of correctness. M2, being case sensitive, is even worse about this than Pascal. But the point is to make you look at your code more than once, to proofread it and think about what's going on, because the syntax screams at you a little bit. Of course, with compiler defines, you can turn pascal into C and assume the responsibility for yourself. That's what runtime debuggers are for anyway, yes?

Ok, whatever, but we're missing the point that Wirth was trying to get across, which is to turn the language itself into implicit TDD, starting with first line of code written. C/++ may give you speed, but for the average programmer, all that speed is taken back in the end, due to maintenance costs. IMO, M2 was even better at shifting maintenance costs left of what the C tack did than pascal in the value delivery stream.

Sure, mission critical code can be written even in C/++. Most of SpaceX's code is a C++ codebase. So how did they pull that off? IMO, what they did was write C in the spirit of what Wirth was trying to accomplish. For the sake of maintenance costs, speed is now less of a metric thanks to hardware advances, and correctness is far more of an issue. Which makes sense, because all business is mission critical now and all business runs on more and more software. Would you turn off bounds checks in the compiler now? How about for the programmer who you'll never meet who is writing autonomous driver code for the car you drive?

Way too much money was wasted on the near-sighted value of C. Time to move on, according to Rust developers, who undoubtedly have an impressive background as C/++ programmers. So yeah we all have to follow this C dominated narrative even today, and my charge is, this narrative has retarded the art of programming. So I stick to my original proposition: Whatever you think is great about Rust, like ownership and borrowing, would have been available in production M2 code 20 years ago if we had just given Wirth languages a chance to advance the art in the commercial world. But that narrative would have been too wordy and constraining.

jksmith··on Pack: A new container format for compressed files
https://en.wikipedia.org/wiki/Argumentum_ad_populum can be a mistake of the youth. Just sayin.
jksmith··on Pack: A new container format for compressed files
But yeah FPC supports ref counted dynamic arrays with "+" operator.
jksmith··on Pack: A new container format for compressed files
Let's say the tyranny of the C children has diverted our attention. I'll make a wild ass statement: If Modula-2 (Wirth family with Pascal) had caught on, you would have had whatever you wanted from Rust 20 years ago. But the C noise dominated the narrative.

Use the language that makes you money and encourages you to write code that addresses domains requiring more than just bolting together framework pieces. AI can do a measurable chunk of that work.

jksmith··on Pack: A new container format for compressed files
Hell yeah some fpc stuff showing its moves. Devs even put together an lpk to load up -bravo! Look for more of this stuff in the future as companies look for alternatives to corporate commodity programming and dbs tethered to major cloud resources. I have a major FPC effort going on right now that I hope to be able to offer on four platforms: browser, win, linux, and mac.

I wrote a similar general purpose pack way back in the early 90's in TopSpeed Modula-2 and run from the command line. Needed to span multiple disks and self launch. Algorithm was fast, but not nearly the same compression ratios. Wore out Mark Nelson's classic, "The Data Compression Book" along the way.

jksmith··on Experience with an Uncommon Lisp (1986) [pdf]
Just a fanciful quote with some license. But one might argue the defn of civilization as applied to general programming with so much of it being commodity programming these days. Additionally, I believe an argument could be made that the long-term tyranny of the C bubble has actually retarded the advancement of the art.
jksmith··on Experience with an Uncommon Lisp (1986) [pdf]
An elegant weapon for a more civilized age without the C language legacy.
jksmith··on AI Is Starting to Threaten White-Collar Jobs
A double-digit percentage of the white collar jobs were bureaucratic bloat anyway. Part of why F250's are so operationally mediocre, since these jobs are generally filled with mediocre to incompetent workers.
jksmith··on Cloud Egress Costs
So let's assume also that their costs are dropping as well due to the deflationary nature of hardware costs. Seems like a pretty damn good business model to me. All they have to do now is get you hooked so you can't leave.
jksmith··on Short history of all Windows UI frameworks and libraries
I'd tend to agree, but you didn't include MSFT in "desktop UI train wreck." Several frameworks, some windows native (delphi, lazarus), some not, all the way back to DOS (TurboVision, lazarus, NEXTStep) still provide an arguably superior programming experience, in spite of their age. And web ui is still mushy for dense business apps, IMO. Me smells a bit of the C myopathic tyranny here, like how Rust is meant to solve programming issues, when it would be more accurate to suggest it solves C, and C++ programming issues.
jksmith··on Sudo for Windows
If you'd like to use sudo, it's available in Linux.
jksmith··on How to deal with receiving a cease-and-desist letter from Big Tech
My attorney always said:

1) Good problem to have. 2) If they had something, they wouldn't threaten you, they'd just act.

It's the risk/reward ratio. Unless it's worth reacting to, file 13 that shit.

jksmith··on PinePhone review after a month of daily driving
Yeah agree with similar experience, and yeah, made me pine (no pun) for my Key2 with a physical keyboard, which was generally bulletproof. There's a reason BB dropped out of the phone business, I get that, but I'd pay iphone prices for a new BB Key2 that was de-googled. But I would not pay iphone prices for an iphone.

If the market was still free, the future would be a BB committed to trust reciprocation. But it's too late now. So aside from de-googled provided by some specific vendors, just fuck phones.

jksmith··on ChatGPT for Teams
You'll own no words and be happy.
jksmith··on BC Supreme Court bars man from calling himself an 'engineer'
Would you not be able to access the domain name "engineer.com" in Alberta if bill is passed?
jksmith··on Programming Bottom-Up (1993)
Extreme reinforcement of your point: Read Leo Brodie's classics "Starting Forth" and "Thinking Forth."
jksmith··on How to Work Effectively with Someone You Don't Like
Those five qualities are all great if they can be codified into a delivery system. Don't hate the player, hate the game. If you don't like the game, only one thing to argue about, which is changing the rules of the game. But then the fifth quality kicks in, which is "Letting Go." Trust/improve the process for the sake of using less energy.
jksmith··on They're Made Out of Meat (1991)
https://youtu.be/T6JFTmQCFHg?si=cfIs3_mZ9bI_WtX4
jksmith··on Starship will attempt a launch this Friday
Did I read that right? Three launches in one day? That is breathtaking execution.
jksmith··on Cold war satellite images reveal unknown Roman forts
Well, looks like Pythagoras was common knowledge by that time.
jksmith··on The negative impact of mobile-first web design on desktop
I could say the same about web on desktop. Desktop native is still the best for desktop. Browsers insert friction and are rent seekers.
jksmith··on Return to Office Is Bullshit and Everyone Knows It
Remote work is deprecating the Bill Lumbergs. RTO is driven by a mediocre middle management layer that most orgs can do without.

If Musk tells me to come back to work, well ok. But I've done lots of work for F500s and my response to them is "do you deserve having me in the office for more than just paycheck leverage?" Maybe, but in my experience not really.

jksmith··on CRISPR silkworms make spider silk that defies constraints
That's called a context attack...
jksmith··on Maybe Rust isn’t a good tool for massively concurrent, userspace software
>When I finally get my code to compile, it “just works” without crashes. I’ve never felt so confident in my code before.

This isn't a new idea for a desirable state. Same experience with Modula-2 three decades ago. A page or more of compiler errors to clear, then suddenly adiabatic. A very satisfying experience.

jksmith··on Double Commander – Changes in version 1.1.0
Freepascal/Lazarus with some compression code in C.
jksmith··on Developers are building communities that act as their own miniature power grids
Yeah I'd like to know that myself. Would still like to contribute to that business model.
jksmith··on Developers are building communities that act as their own miniature power grids
I pitched an energy arbitrage system back in 2005, but it was just too far in front of the available technology. The idea was to build small grid co-ops, where endpoints could buy/sell computing power, even just electricity based on demand. Batteries, even idle smart-washing machines and IOT stuff endpoints could provide energy and cycles for whatever.

The tech is becoming possible now, but expect utility companies to launch a threatening offensive against people to stop the de-centralization movement from happening. Nicholas Carr's "The Big Switch" in reverse.

jksmith··on Show HN: Adapt framework – build privacy-by-design peer-to-peer applications
Yeah takes Vegas to the next level.
jksmith··on The night an audience member filled in for Keith Moon (2016)
From my amateur ear, Moon and Bonham are the only ones who both played match grip but were exceptional and were members of popular bands. Even Peart is a bit of a yawner compared to these two. Compare to all those great drummers not playing match grip, like a dozen including Buddy Rich, Keith Carlock, Steve Gadd, other great jazz drummers, and with the exceptions I mentioned, match grip doesn't hold up as well to my ear.

One more match grip exception would be Tony Thompson, who exemplified why xor decisions suck for just about everything in life.

Oh yeah, Modula2 foundationally rules. Just needed some more iterations.

jksmith··on Outlook now ignores Windows' Default Browser and opens links in Edge by default
Outlook doesn't display that behavior in Linux. I checked.
← PreviousPage 3 of 20Next →