HNHacker News
TopNewBestAskShowJobs

dcassett

213 karma · joined January 5, 2019

A fan of HN, in awe of the mind share that it provides
submissionscomments
dcassett··on Show HN: Interactive Common Lisp: An Enhanced REPL
Thanks for troubleshooting my installation issue as well as fixing all of my other issues!
dcassett··on Show HN: Interactive Common Lisp: An Enhanced REPL
Perhaps because I'm still on Debian 12 (or more likely I did something wrong), I had trouble getting it working by compiling the icl/ocicl sources with sbcl. It complained "Failed to connect to Slynk after 10 seconds". I tried running a Slynk server in sbcl, but icl froze up, and the server said "slynk:close-connection: end of file on #<dynamic-extent STRING-INPUT-STREAM (unavailable) from "#A">. Then I tried running a swank server, and got the icl prompt (good), but then tab completion invoked the debugger: "Package SLYNK does not exist". Finally, I ran the swank server after first running "(asdf:load-system :slynk)" and everything seems to work.

One thing I immediately miss (that rlwrap provides) are the keyboard functions such as reverse-search-history (usually mapped to C-r) and history-search-backward (have this mapped to M-p). History recall only seems possible with the up arrow.

Also, be in for some surprises if you try to paste some lisp code into the REPL, especially if there are long lines. The interaction is apparently meant for a human typing, not pasting.

dcassett··on Unusual circuits in the Intel 386's standard cell logic
> Espresso PLA minimizer

You can still find the software for Espresso (I ran it a few years ago):

https://en.wikipedia.org/wiki/Espresso_heuristic_logic_minim...

dcassett··on Unusual circuits in the Intel 386's standard cell logic
> (Note 4) But to write a value into the latch, the switch is enabled and its output overpowers the weak inverter.

This implementation is sometimes called a "jam latch" (the new value is "jammed" into the inverter loop).

dcassett··on Unusual circuits in the Intel 386's standard cell logic
> However, the 386 uses a different approach—CMOS switches—that avoids a large AND/OR gate.

Standard cell libraries often implement multiplexers using transmission gates (CMOS switches) with inverters to buffer the input and restore the signal drive. This implementation has the advantage of eliminating static hazards (glitches) in the output that can occur with conventional gates.

dcassett··on The patent office is about to make bad patents untouchable
The form gives the option to identify as an individual, an organization, or anonymous, and below the selections gives this note: "Note: If you choose to identify as Anonymous, the option to enter your email address for submission confirmation is not available."
dcassett··on The patent office is about to make bad patents untouchable
As of now the web page indicates "Comment Period Ends: 12 Days"
dcassett··on Yt-dlp: External JavaScript runtime now required for full YouTube support
https://github.com/yt-dlp/yt-dlp/blob/2025.09.23/supportedsi...
dcassett··on VLC's Jean-Baptiste Kempf Receives the European SFS Award 2025
Have used VLC for at least 20 years. Recently I upgraded an old Dell 9400 laptop that dates from around 2006 to Debian Bookworm (the end of the line for the 32-bit machines). It has a nice 1600x1200 display, but the Nvidia Graphics (Geforce Go 7900 GS) is poorly supported and mpv now requires --hwdec=no, making 720p videos barely playable. VLC now uses a fraction of the CPU as mpv does for video, which makes even 1080p videos playable. For some reason VLC chokes at the beginning of every video (tries to play before everything is ready), but by pausing the video and backing up to time zero it plays perfectly. All of this to say that VLC has saved the day as it frequently has over the years.
dcassett··on Dillo, a multi-platform graphical web browser
Dillo was included in the historic Damn Small Linux [1], a 50MB distro.

[1] https://damnsmalllinux.org/old-index.html

dcassett··on Scripts I wrote that I use all the time
Apologies, mistook for NATO. Maybe the alphabet is for fonts :)
dcassett··on Scripts I wrote that I use all the time
I find that I like working with the directory stack and having a shortened version of the directory stack in the title bar, e.g. by modifying the stock Debian .bashrc

  # If this is an xterm set the title to the directory stack
  case "$TERM" in
  xterm*|rxvt*)
      if [ -x ~/bin/shorten-ds.pl ]; then
    PS1="\[\e]0;\$(dirs -v | ~/bin/shorten-ds.pl)\a\]$PS1"
      else
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h:   \w\a\]$PS1"
      fi
      ;;
  \*)
      ;;
  esac
The script shorten_ds.pl takes e.g.

  0  /var/log/apt
  1  ~/Downloads
  2  ~
and shortens it to:

  0:apt 1:Downloads 2:~

  #!/usr/bin/perl -w
  use strict;
  my @lines;
  while (<>) {
    chomp;
    s%^ (\d+)  %$1:%;
    s%:.*/([^/]+)$%:$1%;
    push @lines, $_
  }
  print join ' ', @lines;

That coupled with functions that take 'u 2' as shorthand for 'pushd +2' and 'o 2' for 'popd +2' make for easy manipulation of the directory stack:

  u() {
    if [[ $1 =~ ^[0-9]+$ ]]; then
      pushd "+$1"
    else
      pushd "$@"
    fi
  }

  o() {
    if [[ $1 =~ ^[0-9]+$ ]]; then
      popd "+$1"
    else
      popd "$@" # lazy way to cause an error
    fi
  }
dcassett··on Scripts I wrote that I use all the time
I've found the NATO alphabet fairly common at call centers, with globalization being a factor.
dcassett··on Scripts I wrote that I use all the time
For me it's when I call customer service or support on the phone, and either give them an account #, or confirm a temporary password that I have been verbally given.
dcassett··on Notes on Geiger Counters
Have an old Victoreen Geiger counter and have seen some interesting things: - Munich: Chernobyl (obvious high background radiation) - Arizona: Fukushima (noticeably higher background radiation)

Also, my wife had a test requiring an injection of a radioisotope and the meter was moving (many counts per second) when placed within several feet of her. So an EDC motive might be to monitor whether a colleague got such an injection and decided to come to the workplace.

dcassett··on Nvidia buys $5B in Intel
> Paulsbo

You probably meant Poulsbo (US15W) chipset

dcassett··on What medieval people got right about learning (2019)
That was at UT Austin, where Dr. Roth was a professor. Another thing about that course - the problems that were given by the TAs for the 90% proficiency checks seemed pretty challenging and weren't in the book. You really had to know your material, yet there were no big surprises.
dcassett··on What medieval people got right about learning (2019)
I had such a self-paced course in the '70s based on the book "Fundamentals of Logic Design" by Charles Roth, Jr. It should be noted that the book was specifically written for self-paced study, and as such acted as a sort of tutor by carefully laying out a sequence of reading short segments, answering short questions about the material, then doing more involved problems. I found this course to be very effective and motivating for me, especially given the undergraduate class sizes.
dcassett··on Intel CEO Letter to Employees
True except for their GMA500 graphics [1]

[1] https://community.intel.com/t5/Graphics/Very-poor-Linux-supp...

Disclaimer: I own a netbook and spent a very long time researching getting it to work with Linux

dcassett··on Proxmox Donates €10k to the Perl and Raku Foundation
Agreed, but prior to the change the "apparently random" as described in the documentation was similar to using random(fixed_seed), rather than the new behavior of random(system_time), which made the output of the script non-reproducible given the same inputs. The change to Perl's behavior was made for security reasons.

(Edited for clarity)

dcassett··on Proxmox Donates €10k to the Perl and Raku Foundation
I remember a breaking change that was not esoteric: "keys %hash" started producing a different result each time the script was run. It required replacing the construct with "sort keys %hash" to get reproducible results.
dcassett··on Debugging Bash Like a Sire (2023)
It mentions ALE [1] as the logical successor to syntastic. I've been using ALE for many years.

[1] https://github.com/dense-analysis/ale

dcassett··on Infinite Grid of Resistors
I saw this question only once, as the first of 4 problems on the final exam for my very first EE introductory course. The course had covered an infinite ladder of resistors, but at the time it seemed like quite a leap to apply that knowledge to this problem.
dcassett··on Building an AI server on a budget
San Francisco specifically:

"I prompted ChatGPT to give me recommendations. Prompt: ... The final build will be located at my residence in San Francisco, CA, ..."

dcassett··on A Spiral Structure in the Inner Oort Cloud
I've been using the links browser for HN and fall back to a full-fledged browser if I get blocked. Links (and Lynx) give me no problems with TFA.
dcassett··on Altair at 50: Remembering the first Personal Computer
The article didn't mention the Mark-8 "kit" featured in the July 1974 issue of Radio-Electronics [1]. My dad built the Mark-8 that year and showed me how he could play the Star-Spangled Banner on the AM radio by taking advantage of the RFI.

[1] https://en.wikipedia.org/wiki/Mark-8

dcassett··on Show HN: I486SX_soft_FPU – Software FPU Emulator for NetBSD 10 on 486SX
> Does NetBSD natively support the 486DX CPUs which still have the FPU enabled?

According to [1] they do

"Any i486 or better CPU should work - genuine Intel or a compatible such as Cyrix, AMD, or NexGen."

[1] https://wiki.netbsd.org/ports/i386/

dcassett··on Show HN: I486SX_soft_FPU – Software FPU Emulator for NetBSD 10 on 486SX
> It's not emulating a crippled chip

"Initial reviews of the i486SX chip were generally poor among technology publications and the buying public, who deemed it an example of crippleware." [1]

[1] https://en.wikipedia.org/wiki/486sx

EDIT: I get your point but this is what OP was referring to

dcassett··on Utah becomes first US state to ban fluoride in its water
> Your teeth aren’t in your digestive tract.

However:

Once ingested, the fluoride has a systemic affect on teeth before they erupt, incorporating into the matrix of developing teeth to increase the mineralization content and decrease the solubility of enamel. [1]

[1] https://www.uspharmacist.com/article/current-fluoride-recomm...

dcassett··on Better Shell History Search
For non-fuzzy options:

I've found bash's history-search-backward and history-search-forward very useful. They complete commands that begin with what you have typed. I have them mapped to M-p and M-n.

I also find myself using bash's insert-last-argument command, which can be repeated to fill in the last argument of previous commands. I have it mapped to M-_.

Another feature I've been using is the dabbrev-expand function, which xterm (and some other terminals) have. This allows string matching on the terminal output including the scroll buffer. It's useful for forming a new command that uses previous arguments that are not last arguments, or that are outputs of previous commands. I have it mapped to M-/. I've tweaked the matching algorithm on my local xterm to allow tokens enclosed in quotes or braces (which programs often output) to be matched (xterm by default only considers non-whitespace).

Page 1 of 3Next →