News for hackers. Stuff that matters.

bogomog

In the early 90s I was doing IT type C with SQL database software. There was one pattern of goto usage common: clean up at the end of a function if something went wrong (close db cursor, log something, return error code, and the like). When that space went to Java and to some extent C++ (and later C#) exceptions could be used instead. A defer statement would have been a more direct replacement for the pattern, though.
Re:Google Maps Showing 'Lake America' in U.S. on Monday August 31, 2026 @12:30PM (#49511652)
Corporations are extensions of the government? I think an argument can be made for the opposite view (lobbying, the military-industrial complex, regulatory capture, DOGE) but I suspect the reality is tentacles of influence going in both directions.
Re:Emacs, how it all started (for me) on Thursday June 18, 2026 @06:05PM (#48592282)
I was mildly disappointed the other day when I did a <C-h a>, and instead of "apropos" I saw "search for command". Apropos was one of those killer features that was, as far as I know, unique to emacs (until the "command palette" appeared in one of the newer editors).
Re:Even more batteries included with Emacs on Thursday June 18, 2026 @02:02PM (#48589091)
20 or 25 years ago it almost never crashed. Now I might see a crash or freeze once a week or so. And slowdowns several times a day. Of course I'm running more modes now in a more customized environment. Hopefully this new version with more in it will improve the situation.
Re:Laws of Software Engineering on Wednesday April 22, 2026 @08:38AM (#47862719)
A modernization, really.
Re:How Tube Amplifiers Work on Monday November 17, 2025 @02:20PM (#45957050)
My favorite, kind of ironic, advantage of tubes over transistors is that it's easier to source replacements.
Re:How Tube Amplifiers Work on Monday November 17, 2025 @02:12PM (#45956922)
But capacitors may hold high voltage DC, if there's no path to discharge them.
The arc of the U.S. economy over the last 80 years contradicts your position. There has been reduced regulation since the Reagan administration, and also reduced competition. A few blips when internet companies "disrupted" an existing industry, but those industries fairly quickly consolidated on a small group of players.
Re:Formatting code should be unnecessary on Monday September 08, 2025 @06:12PM (#45174720)
And to add to this, you rarely need to read a log message when just visually scanning code, its fine going off the screen.
Re:Formatting code should be unnecessary on Monday September 08, 2025 @06:06PM (#45174655)
That's why Python should have gone all-in on significant spaces: tabs for blocks, spaces after tabs for line continuation
Re:Formatting code should be unnecessary on Monday September 08, 2025 @05:51PM (#45174503)
I find it jarring compared to commas after the words, making the commas unnecessarily prominent.
Re:Formatting code should be unnecessary on Monday September 08, 2025 @05:41PM (#45174401)
+1 to this. Why throw away an extra dimension of expression available by choices in formatting in the name of consistency? I find it helpful to use blank lines to separate code into "paragraphs". A complex conditional may be made more readable by extra space in some places an not others. A series of single line if statements might be clearer formatted lined up vertically, like a table.
Re:Nyxt: The Emacs-like web browser on Monday August 18, 2025 @05:55PM (#44945740)
yes
Re:Nyxt: The Emacs-like web browser on Monday August 18, 2025 @05:54PM (#44945729)
Aye.
Re:Dev Compass – Programming Philosophy Quiz on Monday August 18, 2025 @05:17PM (#44945445)
Yeah, that stood out to me as a virtual tie also. When I got pretty good at debugging was when I began to recognize which of these approaches would likely be most effective in a given situation, and when to back out and use another approach, or mix approaches.
Re:The Grug Brained Developer (2022) on Wednesday June 18, 2025 @01:38PM (#44311829)
I think graphical debuggers are a big help: 1. It separates the meta-information of the debugger into the graphical domain. 2. It's easier to browse code and set/clear breakpoints using the mouse than the keyboard.
That's why I gave the caveat that if using a language with the ternary operator, one should know that operator. Python tried using English words for a ternary, but I think that's awkward from a readability perspective. A limited set of symbolic syntax improves readability over using words in my opinion, there's less text to scan.

  function getOddness(n: number):
    return (n % 2 === 0)
      ? "Even"
      : "Odd";
Lowest boilerplate makes it the most readable. If working in a language with the ternary operator it ought to be easily recognized!
Exactly. And a certain amount of maga are still in favor of a coup, and then a certain amount of blissfully ignorant new voters.
How is not a big deal that a few thousand citizens were various levels of conscious and unconscious participants in an organized coup attempt?
Stopping payments authorized by congress, for one.
Arguably, they aren't government officials, because DOGE isn't a legitimate part of the executive branch.
Re:Find the oldest line in your repo on Friday January 31, 2025 @09:41PM (#42895132)
I forgot it existed, was using it at a couple of jobs circa 1989-1992. Completely blocked it out of my mind.
Re:Using 2 Editors Because Xcode Is Dumb on Thursday January 23, 2025 @06:32PM (#42809150)
I never felt real comfortable with Xcode. Working on a medium sized c++ project now, and mostly using emacs. Xcode only for the debugger, which I much prefer in a GUI. CMake sets up the project, so low pain there. If on Windows, I would do the same but with Visual Studio. Usually I close the project when not debugging so I don't have 2 language servers running at once.