Category Archives: Computers

I have a machine with SSH exposed on one high-numbered nonstandard port forwarded through a NAT. A few days ago I noticed some log noise about failed SSH logins and turned on fail2ban with sane defaults. It banned almost 300 … Continue reading

Posted on by pappp | 1 Comment

Macintosh SE Health Check

I had my dear old Macintosh SE out for a health check as I slowly extract my vintage computer collection from the (unconditioned) place I’ve been keeping it at my parents house to the basement of the place I’m renting. It had a couple interesting findings that seem worth putting online, including another floppy drive rebuild and a slightly elaborate fan replacement.

Continue reading
Posted in Computers, DIY, Electronics, General, Objects | Leave a comment

SC’19

Even though I haven’t done any work in that area in years, I got pulled into the Supercomputing conference again this year.  Can’t complain, it’s always fun.  UK’s combined booth looked good this year

Far corner is a little updated TinyTitan style Raspberry Pi cluster with a interactive CFD demo running on it that the CCS folks have been playing with, that thing in the leading corner is a cute flip-dot “quantum computer” model we built as a front-end for a 16-bit instance of Hank’s parallel bit-pattern computing system that can do quantum algorithms efficiently on a conventional platform – set in the corner of the booth like

You don't need quantum physics to perform quantum compution. Change my mind.

He did surprisingly well with this approach.

The exhibit floor was even more dominated by cooling tech this year. Exciting finds are the coming of very open (Open Compute Project, Coreboot + Open Network Linux) white-box 100GBE switches at reasonable prices, Fujitsu’s A64fx ARM with SVE and obscene memory bandwidth parts actually landing in systems, and (just because it tickled me) pre-wired fully populated Clos topology 100G cable harnesses.  The other dominant species was AI woo; my body is ready for AI Winter 3.0.

Google photos album of my annotated show floor photos is here.

Posted in Computers, General, School | Leave a comment

Server Updated

The server that hosts this page was updated from Debian Jessie (8) through Stretch (9) and onto Buster (10) over the course of a few hours today. It involved surprisingly little suffering and should not affect functionality, please let me know if you find anything left in a broken state.

I didn’t realize how long it had been since I did any manual maintenance here, apt unattended upgrades, certbot, and a few scripts for user-installed package upgrades and backup had done such a good job maintaining things just visibly enough to know it was being taken care of that I’d let it get past-due. Most of my other individually-installed boxes are Arch rolling-release machines that require a few minutes of attention every month or two, so they don’t have the periodic major breaking maintenance issue to the same degree.

Now I can let it take care of itself again until 2022 or thereabouts.
A few notes that may be useful to others under the fold.
Continue reading

Posted in Computers, DIY, General, Meta | Leave a comment

Masters in Electrical Engineering (Finally) Collected

That MSEE that I was going to finish in 2011, 2013, and 2015? I blew a couple months in the last year to get all the ducks in a row and actually collected it before the credits expired.  Huge thanks to Dr. Aaron Cramer, the current DGS for UK’s ECE department who went to great lengths to deal with the bureaucratic issues my lackadaisical attitude about credentials created.

Thesis is “A Compiler Target Model for Line Associative Registers” document and defense slides with notes linked.

The LARs design is fundamentally interesting, but the compilation work the MS is based on is not my favorite work I’ve done.  The core initial assumption (that LAR allocation and register allocation were more-or-less the same problem) turned out to be very, very wrong, and the implications of that wrong assumption turned out to be far reaching, turning a 2-year MS into a decade-long ramble. It’s not as depressing as I thought it would be when I tried to finish in 2015 (and was blocked by bureaucratic fuckery) because I did eventually determine that LARs aren’t subject to the “you can’t statically schedule around dynamic memory behavior” thing that doomed VLIWs, and in fact LAR allocation can be done greedily in ways that register allocation cannot.

The thesis is more or less assembled from three false starts plus the final effort; my initial research start with the wrong assumptions, my “oh, we’re wrong, but it’s OK” pass, and my “oh shit, we’re screwed, this won’t work and there his historical evidence to show it” pass, plus the final “I’ve figured out how this is tractable and possibly even desirable, but I’m out of time and fucks, so here’s the rough solution” pass.

I formatted the thesis in LaTeX (of course), using the ukthesis.cls class I found on the UK Math site that Eric Stokes, a former student, made a decade and change ago since UK is too chickenshit to provide a valid one of their own.  I did have to hack it a little bit, turn off some features, tweak the front matter, etc. to make it acceptable to the graduate school, and update a few things (eg. adjusted to use biber for references).  There are a few things in the document that should be in the class, and things in the class that should be in the document, but the easy-to-fix stuff is fixed.  Minimal example pulled from the accepted version with makefile and such here to save future students the extra annoyance.

The presentation is in beamer using the Owl theme, which was a delightful recent discovery – someone has made a beamer color scheme with a dark background and colors that actually look good on a projector. I (much to one of my committee member’s disappointment) went with the bullets-to-keep-me-on-track-while-I-talk style slides instead of my usual “amusing semi-relevant pictures to key off of” scheme.

It’s nice to be done and only have one, significantly less depressing, long-term academic project people are grumpy about my progress on.

Posted in Announcements, Computers, General, School | Tagged | 1 Comment

E7250


I picked up a refurbished Dell Latitude E7250 (Dell’s “Premium” 12.5″ laptop, just over a generation out of date) because the little loaner Inspiron 11-3000 I’d been using as my carryin’ around laptop had become unacceptably shitty at essentially all the things I wanted to use it for. The E7250 is Superb, with notes:
Continue reading

Posted in Computers, General, Objects | Leave a comment

SC17 Notes

I’m back from SC’17, and to complete annual tradition, some thoughts:

  1. Chinese manufacturing is winning the day: The Nov’17 Top500 shows three of the top 5 and roughly 60% of the total compute power on the list are Chinese machines. Especially domestic-design Chinese machines (The ShenWei SW26010 in #1 are pretty thin on public details, but smell a lot like a better implementation of the Cell idea). Last time this kind of trend started (in Japan) the US spent a boatload of money on development, but I don’t think there is the political will for that sort of thing right now.
  2. Linux all the things: 100% Of the Top500 are now running some sort of Linux. Linux is a nice thing, but the mono-culture is sort of alarming.
  3. Singularity: Greg has a long history of solving real problems in the ecosystem (Warewulf, CentOS, etc.) in very pragmatic, very open ways. About 18mo ago he posed about a prototype container scheme suitable for HPC apps he’d been playing with. It’s now everywhere and running on everything because it solves compatibility problems, portability problems, reproducibility problems, archiving problems, workflow problems, verifiability problems, administration problems, and, unlike most containerization schemes, isn’t made of inefficient ill-conceived web-hipster bullshit. They’ve formed a little company to support it, which was second only to Nvidia in terms of brand presence. It has moved considerably up my list of things I need to learn.
  4. Fidget Spinners: So many fidget spinners on the show floor. With LEDs. And branded metal bits. Chinese mass production has also overtaken the swag in the industry.

Also, a pile of pictures from the show floor.

Posted in Computers, General | Leave a comment

MicroChorder

I hacked together an Arduino Micro firmware that is a drop-in replacement for a Spiffchorder, long version and code below the fold.
Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Leave a comment

New Backup Scheme

I’m finally not living so dangerously with the data outside my Seafile-synced live set and doing proper backups of all my machines, including laptops. I’m also now storing my various media files on a RAID instead of a single large USB hard drive dangling from whatever machine is attached to my TV. Now that the semester is over and I’ve had time to put some finishing touches on the system, here are some process docs under the fold for the use of my future-self and others – the first part is about my new home server, the second part covers the (likely more transferable) set of borg and rclone incantations, scripts, unit files, etc. that make it all work.
Continue reading

Posted in Computers, DIY, General, Objects | Leave a comment

Ebay DB25 Arduino Nano grbl Adapters

A second consecutive CNC post, because I haven’t had time to write up long-form posts for months, and something requiring documentation came up today.

While I’m still quite happy with LinuxCNC (especially since I discovered NativeCAM), my adviser bought himself a GRBL-DB25 adapter board for his 3040T mentioned in my previous post. He has been unsurprisingly unsatisfied with the performance of the terrible old SFF P4 box he has been using to drive it with LinuxCNC, and we’ve (read: I’ve) become reasonably comfortable with grbl due to the several shitty diode laser cutters that have recently proliferated around here (One or more of the involved parties will be posting about those shortly). As I’ve noted elsewhere, grbl is not my first choice, but has reached baseline required functionality in versions >1.1 and is unarguably convenient.

In particular, he went with one of the Arduino Nano based boards floating around ebay with titles like USB 3-Axis CNC TB6560 Driver Board Controller Converter GRBL Arduino Nano DB25, which are unfortunately both undocumented and (as it turns out) unsuitable. He asked me to help set it up, and this post serves to document and warn based on my findings.

It seems like it should be a great solution, but it will not work with the typical black control boxes that come with many little aluminum CNC machines or most other common 3 or 4 axis breakout boards. It has the (dead) URL www.getlofi.com/grbl-to-3axis on the silkscreen, and while getlofi.com does appear to be a valid page run by some hackers mostly into circuit bending, I couldn’t shake any mention, much less relevant documentation out of the page. What I did find with a continuity tester and some patience is the following unfortunate arrangement:

The problem is that the designer decided to tie DB25 pins 2,6,and 14 together to nano pin 11 (D8) with traces on the adapter. This renders it completely unusable with the 2-7 StepX/DirX/StepY/DirY/StepZ/DirZ pinout the vast majority of boards use, as StepX and StepZ are wired together. If I’m inferring which shitty blue TB6560 3-axis board it’s designed to work with correctly, 2, 6, and 14 are intended to be per-axis stepper enable pins, but that is not a particularly common configuration.

For contrast, I picked up one of the Arduino GRBL to DB25 CNC Shield Kits available from “Ron” on Tindie to throw in my parts bin for testing. It’s actually documented, supports the pin-out most parallel control boards I’ve encountered use (with the default grbl pinout no less), and has each individual pin broken out like a sane designer, so it should support any reasonable configuration. I tried my tindie board with the machine that was supposed to get the fail board, and it seems to work fine, so I’m going to encourage picking up one of those instead (unless we get ambitious and just cut our own DB25-Nano board).

Posted in Computers, DIY, Electronics, General, Objects, School | Leave a comment