The stream of profanity coming from @doctormo working in the other room is impressive #programming
The stream of profanity coming from @doctormo working in the other room is impressive #programming
I wrote a step by step tutorial on coding a Sudoku solver in just 100 lines of Rust. What do you think?
Zellij 0.42.0 released: stacked resize, pinned floating panes and new Rust plugin APIs
https://zellij.dev/news/stacked-resize-pinned-panes/
Discussions: https://discu.eu/q/https://zellij.dev/news/stacked-resize-pinned-panes/
Today, I was awarded the title of Java Champion!
It’s a huge honor, and I’m grateful for everyone I’ve met in the Java universe, especially those who taught me how to code. I’m feeling happy and a little proud.
One of the things you learn in many art classes as an adult is that the product is much less important than the process. Take pleasure in the process, and the outcome will take care of itself.
The artists I know draw and paint and sculpt (and since I know techie artists) “make” for the sheer pleasure of it.
Having said that, having programmed for fifty years, there’s a lot of boilerplate involved in programming. AI tools help one turn a human-language description of a problem and potential solutions into a partial solution in a matter of minutes.
One might ask: why is there so much boilerplate? Maybe our programming systems should seek to eliminate boilerplate by being more expressive?
To that, I agree. But one of the ways of being more expressive is using an expressive language to describe problems and possible solutions — and what is a coding-specific LLM if not that?
Of course, one can write buggy code in any language. The LLM does not free you from that, so walk through the output carefully, suggesting changes, asking for reasons of particular constructions. The LLM is also a pattern completer, so it will insert unnecessary, but frequently used things. The LLM has limited attention, so it may lose track of the project goal when down in the weeds.
#formalMethods #gamedev #programming #commonLisp #acl2 #itch https://lispy-gopher-show.itch.io/lispmoo2/devlog/907091/formal-game-logic
Since yesterday I advocated strong use of defgeneric, defmethod and McCLIM's define-command, here I present
just giving lisp's defun to acl2's first order #logic.
I present a batch processing style for using acl2 both in #shell and in #lisp with a worked example.
Thoughts and opinions, gamedevs and logical types?
You can download a live image of gparted and work with the latest version with ease. My debian based distro has GParted 1.3.1 which is quite behind v1.7.0-1
Im downloading the latest right now!
log
$ wget -c https://cfhcable.dl.sourceforge.net/project/gparted/gparted-live-stable/1.7.0-1/gparted-live-1.7.0-1-amd64.iso?viasf=1
--2025-03-16 11:54:11-- https://cfhcable.dl.sourceforge.net/project/gparted/gparted-live-stable/1.7.0-1/gparted-live-1.7.0-1-amd64.iso?viasf=1
Resolving cfhcable.dl.sourceforge.net (cfhcable.dl.sourceforge.net)... 146.71.73.5
Connecting to cfhcable.dl.sourceforge.net (cfhcable.dl.sourceforge.net)|146.71.73.5|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 589299712 (562M) [application/octet-stream]
Saving to: ‘gparted-live-1.7.0-1-amd64.iso?viasf=1’
gparted-live-1.7.0-1 9%[==> ] 55.49M 286KB/s eta 28m 15s
^Z
Giving credit to the programmers of GPARTED(8)
gparted works its magic, by entering correct parameters to a suite of partition control & editing commands, which are sh envoked, so you can easily manipulate your partitions on all your SSDs HDDs from the comfort of your UI
When you want to batch manipulate partitions, you can study the log output and make sh scripts yourself, controlling partitions anywhere.
You also have the convenience of running gparted from sh so it still works its magic for you, without the UI!
I usually run cfdisk gdisk fdisk when I partition a fresh mechanical or SSD, later on I invoke gparted when I want to resize or move them
it also runs important commands at the end so that the kernel gets to know your new partition layout, which makes rebooting your machine to use them unneeded
I shrunk and resized a partition where I installed a program, which needed 75GB (*1024!) as installation space but only uses 56GB in the end. I left 12GB of breathing room on the partition after the shrink and of course grew the partition before with the same size, minus the alignment snip of 1MB
log:
myserver kernel: JFS: nTxBlock = 8192, nTxLock = 65536
myserver kernel: SGI XFS with ACLs, security attributes, realtime, scrub, repair, quota, debug enabled
myserver kernel: sdb: sdb1 sdb2 sdb3 sdb4
myserver kernel: sdb: sdb1 sdb2 sdb3 sdb4
^Z
#itch #gamedev #programming #devlog https://lispy-gopher-show.itch.io/lispmoo2/devlog/906389/my-programming-principles-for-game-dev-12 concerning #softwareEngineering
Listing and defending the best conjunction of #commonLisp packages and programming strategy I can muster. A part one out of two or possibly three.
TO HEAD OFF CONTROVERSY
At one point I say "lisp is the best" and then give a specific example of some python changes over the last ten years. Please consider my whole point, which is clearly and specifically about LISP's age compared to other languages.
Just built PIDgeon, a PID controller in Rust! Handles smooth control with efficiency and safety.
https://crates.io/crates/pidgeon
Discussions: https://discu.eu/q/https://crates.io/crates/pidgeon
"Is not a bug but an undocumented feature", is one of my favorite phrases in software development.
Other is, "if you have a problem that gets solved with regular expressions, now you have two problems".
Any others SFW?
When explaining an assignment statement which of these phrases do you use? (assuming we're using the verb "assign")
I'd like as large a sample size as I can get, so please feel free to boost for reach.
Hey everyone involved in #ComputerScience, are you looking for a #job in #academia?
Aalto University in Finland has several positions open for assistant professors. The topics include #MachineLearning, #Programming, #ComputerArchitecture, #CyberSecurity, #SoftwareEngineering and Human-Computer Interactions.
https://www.aalto.fi/en/department-of-computer-science/assistant-professor-positions
I got myself interested in the Euphoria language again, downloaded OpenEU and wrote some code. The language basically works as well as ever - somewhere in between Basic and Lua, with the idea of "one data structure that does everything" (nested, ref-counted lists) but designed towards average-case, less-is-more speed and easy access to I/O and memory, rather than abstract capability or deeply engineered compile-time optimization.
Instead of static type checks or reflection it provides a simple contract mechanism used at runtime, which can be disabled for performance. It has pokes and peeks, it can support self-hosted assemblers, and it can be run in interpreted or compiled-to-C modes. When I think of "games languages", it always comes to mind, because it's shaped right for that, more so than any of the GC stuff that is now common. Coming back to it, I understand all of its design decisions and am very impressed.
The only problem Euphoria had is that it was a "microcomputer language" sold commercially, that started having to chase after post-Web ways of thinking about computers. It never gained a package manager, but it still has an "Archive" of user code with antiquated pages like this:
https://rapideuphoria.com/lan.htm
And the Archive in turn is a kind of historical record of what people saw in the language. A lot of people wanted OOP extensions - they saw that hype and were convinced it would solve their hobby coding problems. And they wanted bindings for this or that gigantic cross-platform C library, which inevitably fall out of date - a majority of forum posts now seem to be "getting the dependencies to work". But the actual place where it shined was as a convenient alternative for "accessing VGA mode 13h and banging on the buffers" - DOS-era game coding where you could still just talk to hardware. The problem is that the world kept moving farther and farther away from that.
However...I think it could be interesting again, if one were targeting microcontrollers. A less-is-more language that is also made to do real-time things instead of being Lisp again.
I added the following snippet to my website:
<noscript>Thank you for not using JavaScript</noscript>
You see, that's what's called grateful degradation...
I tried pico.css and although I love the simplicity, it was too barebones. Any CSS framework recommendations that are not hundreds of files and require to install tools?
A very nice paper on 4 taboos of #programming (explicit control transfer [#GOTO], low-level programming [#assembly], #flowcharts, and global variables) - with a neat theoretical background in #anthropologic taboo theory.