Sign in

Stephen Checkoway

@stevecheckoway.bsky.social
479 followers 455 following 856 posts

Associate Professor of Computer Science at Oberlin College. No kings, no nazis, no war.

PostsRepliesMedia
Stephen Checkoway @stevecheckoway.bsky.social · 07/10/2026
I do like teaching with chalk. I don’t like this so much.
My right hand held up to the chalkboard. It’s covered in a nauseating mix of green and yellow chalk
220
Stephen Checkoway @stevecheckoway.bsky.social · 07/10/2026
Doggo.
The dog looks up at me from under the table. He is resisting my attempts to take photos.
010
Stephen Checkoway @stevecheckoway.bsky.social · 07/10/2026
Today is this sweet doggo’s final day. Poor guy. He’s not my dog, but I’ve spent a lot of time dog sitting him. I’m gonna miss him.
A very old black dog lies down on the floor. He has a faded red collar and the fur on his feet is white.
110
Stephen Checkoway @stevecheckoway.bsky.social · 03/10/2026
Subskeet
Photo of Bluesky’s post interaction settings. Replies are turned off. Quote posts are turned off.

Control your own experience.
000
Stephen Checkoway @stevecheckoway.bsky.social · 29/09/2026
Oops. Alt text on the previous photo was wrong. I promoted two queens and delivered ladder mate with that. Amazing how I forgot what piece was what 1 minute after the game concluded.
Same picture but using normal pieces. White has queens on f1, h2; a knight on c5, pawns on a4 and g4, and a king on d4. Black has pawns on a5 and c6 and a king on b1.
000
Stephen Checkoway @stevecheckoway.bsky.social · 29/09/2026
Neat! @chess.com added a checkers piece set and a set of bots you can play with varying levels of pieces replaced by checkers (or even "blindfolded"). My only gripe is I wish it supported more bots. (Nelson plays garbage openings, the next bot is 2000 Elo which is too strong for me.)
Final position of a chess game against the Nelson bot where all pieces (but not pawns) have been replaced with checker pieces. White has rooks delivering a ladder mate on f1 and h2. The black king is on b1.
100
Stephen Checkoway @stevecheckoway.bsky.social · 29/09/2026
I’d get my laptop or go upstairs to my office but this is happening.
A white and orange cat is sleeping on my lap while I lie on the couch. He’s facing away from me. Perspective makes him appear nearly as long as my legs. 

I can’t move. I’m not a monster after all.
030
Stephen Checkoway @stevecheckoway.bsky.social · 28/09/2026
www.lawdork.com/p/doj-scotus... Well this is bad.
While the case is over trans people in federal prisons, let there be no doubt: The Trump administration is seeking to use the presumptive unpopularity of this group — and lack of coverage that such cases garner — to advance extreme gender-restrictive policies that could apply to all trans people and, ultimately, to everyone.
010
Stephen Checkoway @stevecheckoway.bsky.social · 27/09/2026
Best I can do. And it was from 2016 in Argentina.
Mario dressed as Hunter S Thompson with a cigarette in holder holding a briefcase of mushrooms and stars painted on the side of a van. It seems to be marketing for the van rental company whose url appears at the top of the van.
070
Stephen Checkoway @stevecheckoway.bsky.social · 26/09/2026
Me: I played great in that endgame! I used my king to prevent promotion. I turned a passed pawn into a game-winning queen. Stockfish: You got lucky.
chess.com analysis graph of who had the advantage over the course of the game. There are very clear dips in the graph where I screwed up and turned an equal endgame into a losing endgame before eventually exploiting my opponent's mistake and winning.
000
Stephen Checkoway @stevecheckoway.bsky.social · 25/09/2026
No no! It’s a PiDP11. A fun kit powered by a Raspberry Pi. I meant to write a blog post about building it in late Feb. 2020 but, uh, you know. Something came up.
The PiDP11 circuit board. Some discrete components (diodes—light emitting and otherwise), and some resistors have been soldered on.A more complete view of the board. Switched are on. More LEDs are on. The rotary switches (without hats) have been soldered on.
210
Stephen Checkoway @stevecheckoway.bsky.social · 25/09/2026
Good timing for my timeline.
Hunter’s post in my timeline just above a Darth repost of “A tale of two pugs” with a picture of said pugs. One pug is looking big-eyed at the camera.
0153
Stephen Checkoway @stevecheckoway.bsky.social · 24/09/2026
My collection of editions of Sipser’s “Introduction to the theory of computation” is now complete! The first edition is in my home office. The (newly acquired) second edition–the best edition imo—and third edition are in my school office.
Second and third edition of Sipser on a shelf next to a PiDP11.
120
Stephen Checkoway @stevecheckoway.bsky.social · 15/09/2026
I know, I know. I'm doing it wrong. I'm using the wrong models. Or asking the wrong questions. Or not using the thinking mode or something. … Er, in the middle of writing this, I discovered that chatgpt silently _changed_ its answer! I got it to reproduce the original answer.
Me: I said it gave an error and you agreed that your original output (which you have now reproduced) was wrong.

ChatGPT: You’re right. I misunderstood “original answer” and reproduced the first, already-discredited command. That was plainly the wrong referent.

The answer that subsequently changed was:

Neovim expands % as the current filename, even inside shell quotes. Escape it:

:%!awk 'NR \% 8 == 2'

This keeps lines 2, 10, 18, etc. My previous command missed the required Vim-level escape.

That is the version you were asking to recover. I should have inferred that from the sequence of messages instead of calling the first response “the original answer.”
100
Stephen Checkoway @stevecheckoway.bsky.social · 09/09/2026
"Impressive knockout blow! Let's review what led to this checkmate win." I won by resignation @chess.com
Chess.com "You Won!" pop up telling me I won by resignation and then the AI "coach" said I won by checkmate.Screenshot of the board showing that I just played …Rxa3 and no kings are in check. The AI coach's words about this being a checkmate win are repeated.
100
Stephen Checkoway @stevecheckoway.bsky.social · 09/09/2026
Hey, it's DON'T TELL THE JOKE ON THIS SLIDE/TELL THE JOKE day in my class today! (The "joke" is why do programmers confuse Christmas and Halloween?)
Screenshot of PowerPoint showing a slide with the tital: Octal: Base 8. The slide explains octal. The notes field reads DON'T TELL THE JOKE ON THIS SLIDE!A screenshot of the next slide with a question asking the students to work out what 31 base 8 is in base 10. The notes field says to TELL THE JOKE.
120
Stephen Checkoway @stevecheckoway.bsky.social · 08/09/2026
Sure. Sometimes.
ChatGPT fails to multiply two numbers correctly. It tries again, realizes it was wrong before. It’s still wrong. Third time’s the charm. It gets it right.
121
Stephen Checkoway @stevecheckoway.bsky.social · 31/08/2026
Didn’t we all switch to mobile first like a decade ago? Reading this article was impossible on my phone. The page kept reloading. I got this 3 separate times.
Ad wall by Admiral on the Rolling Stone article.
010
Stephen Checkoway @stevecheckoway.bsky.social · 14/08/2026
“The BWI Thurgood Marshall Airport Fire and Rescue Department will conduct a fire training exercise this morning, beginning at approximately 9:00 a.m.”
010
Stephen Checkoway @stevecheckoway.bsky.social · 14/08/2026
Photo of Google Maps showing BWI fire & rescue in the direction I’m looking.
100
Stephen Checkoway @stevecheckoway.bsky.social · 14/08/2026
It briefly looked like it was out but now it seems to be going again. (Assuming it is a fire.)
Looks like the smoke is lessening.And now there’s more.
100
Stephen Checkoway @stevecheckoway.bsky.social · 14/08/2026
A few seconds later.
Much more black smoke
100
Stephen Checkoway @stevecheckoway.bsky.social · 14/08/2026
Is this a good sign?
Thick cloud of black smoke rises from BWI.
110
Stephen Checkoway @stevecheckoway.bsky.social · 09/08/2026
Source material:
Arthur wearing headphones image.
0250
Stephen Checkoway @stevecheckoway.bsky.social · 06/08/2026
The RISC-V J-type instruction format is truly bonkers. A 21-bit offset is from pc is encoded in the immediate fields per this diagram. Bit 0 isn't encoded (it's always 0). The other bits are, in order from MSB to LSB, 20, 10–1, 11, 19–12. Does this actually make the hardware simpler?
RISC-V J-type instruction encoding. The most significant 20 bits of the instruction are the jump target offset in the order described in the post. Instructions bits 11–7 are the link register rd, and as usual, instruction bits 6–0 are the opcode.
000
Stephen Checkoway @stevecheckoway.bsky.social · 27/07/2026
Here’s the analogous page from the 3rd edition.
Photo of the book. There are NOT and NOR call outs but they appear in a sidebar rather than interrupting the main text.
000
Stephen Checkoway @stevecheckoway.bsky.social · 27/07/2026
The MIPS edition (sixth edition) of the textbook has the same poor call out design with no colored background, but at least it doesn't appear in the middle of a sentence. I only seem to have physical copies of editions 1 and 3 of the MIPS version. Ed 3, at least, doesn't have an AND call out.
A screenshot of a very similar passage of text. This time, the AND call out appears before the paragraph rather than in the middle of the paragraph. It's still confusing because the AND text followed by the horizontal rule makes it look like it's the start of a section titled AND. But better than the RISC-V edition.
100
Stephen Checkoway @stevecheckoway.bsky.social · 27/07/2026
I try not to make my students buy textbooks when doing so doesn't hurt the course's learning objectives. They have access to many textbooks for free through O'Reilly. The number of typesetting errors is little frustrating though. This one isn't an error so much as just really poor design.
Screenshot of Computer Organization and Design RISC-V Edition (first edition). The key issue is the sentence that starts "For example, if register x11 contains" is broken after that point by a call out describing the operation of the AND operation as "A logical bit-by-bit operation with two operands that calculates a 1 only if there is a 1 in both operands." The sentence continues after the call out with a code block displaying a 64 bit number.

The problem is the call out contains a header, "AND" with a rule across the page. The physical book has the call out in a colored box. See next image.Screenshot of the same snippet of text from some PDF of the textbook I found on GitHub. The call out has a light gray background. Other aspects of the typesetting (specifically strange spacing and line wrap) make me think the actual book is better still.
101
Stephen Checkoway @stevecheckoway.bsky.social · 12/07/2026
Hmm. Agree?
Cropped screenshot of a web page showing the privacy policy agree/disagree buttons. It reads, "Privacy Policy" and the two buttons are "Disagree" and "Agree." There is nothing else. None of it is a link to the actual privacy policy.
000
Stephen Checkoway @stevecheckoway.bsky.social · 09/07/2026
I find @chess.com puzzles to be really demoralizing. Get a puzzle right and you get 2–5 points. Get one wrong and you lose 12–15 points. Correctly solve two thirds and you lose points. The hint button is an immediate loss.
Screenshot of my puzzle rating over my most recent 22 puzzle attempts with 15 correct solutions and 7 failures (including the one I solved correctly using a hint). My rating dropped 37 points over all.

The most annoying part is this number doesn’t matter _at all_. It shouldn’t be demoralizing. And yet.
010
Stephen Checkoway @stevecheckoway.bsky.social · 08/07/2026
I went to log in to a website and this is what my browser popped up for suggestions for the username input field.
Most of the suggested options are reflected cross-site scripting attempts. The final one shown in the screenshot is incorrect. The list of suggested completions is the following.

<script>alert(document.cookie)</script>
Steve
<script>alert("hi")</script>
<b>Steve</b>
<script>alert("hi!")</script>
<img "x.png" onerror="alert(document.cookie)">
030
Stephen Checkoway @stevecheckoway.bsky.social · 20/06/2026
He’s up to 14 socks now. (That’s Kirk in the photo.)
Kirk, a white and orange cat, examines Reg’s handiwork. Nine socks are visible next to an Ashford Traditional (partially out of frame). Most socks are hand knit. Reg prefers the hand knit socks but will move any type of socks or, if none are available, shirts, sweaters, shorts, or underwear.
030
Stephen Checkoway @stevecheckoway.bsky.social · 11/06/2026
Anil Dash and I have something in common. (Probably multiple things, but this one is key.)
Photo of a newly installed dishwasher that I just installed without consulting YouTube.
120
Stephen Checkoway @stevecheckoway.bsky.social · 11/06/2026
Hey look. An actual upside of Bsky’s ridiculous age verification: I don’t have to disable chats.
Screenshot of bsky’s Chat settings page. It reads,
We’re sorry, you cannot access this screen at this time. 
Due to laws in your region [which apply to porn sites and not to social media], certain features on Bluesky are currently restricted until you’re able to verify you’re an adult.
000
Stephen Checkoway @stevecheckoway.bsky.social · 04/06/2026
There’s a barred owl hanging out in my yard. 📷 by @pinkhairedcyn.bsky.social
Photo of a barred owl on my power lines. The background is green tree leaves lit by the afternoon sun.
020
Stephen Checkoway @stevecheckoway.bsky.social · 31/05/2026
Bsky thinks my age is under 18 and also that my birthday is 1/1/1970 (neither are accurate).
Bsky moderation settings page. At the top: Your declared age is under 18. Some settings below may be disabled. If this was a mistake, you may edit your birthday in your account settings.Bsky account setting page. The My Birthday field is showing 1/1/1970.
010
Stephen Checkoway @stevecheckoway.bsky.social · 31/05/2026
I played 1.e4. Kirk, perhaps unsurprisingly, hasn’t played a move yet. If he isn’t careful, he’s going to lose on time.
A white and orange short hair cat snoozes on a wooden folding chair. The chair is placed in front of a chess set and everything is in front of a soot-stained fireplace.
030
Stephen Checkoway @stevecheckoway.bsky.social · 20/05/2026
Faithful hound snoozes.
A black lab/pointer/mutt lines on a parquet floor. He’s unwilling to stray far from his human (my father-in-law).
040
Stephen Checkoway @stevecheckoway.bsky.social · 29/04/2026
The two programs differ by only 3 bits confined to a single character. I don't know if I should find that surprising or not, but I do.
Screenshot of the two programs with the differing character highlighted.

Program 1:
#!/usr/bin/env python3
# This is a very special string
x = b"""
6gJ|SQKGv}HhJ[vs,QJUaow>VVqmrXVet{n9:CTmXk~Mo_WqBW#p:##pr&<0l;W|v+(-jCmzJC,74GmE3PJHKoQt0mMuU_g&pQ?kG>i99dG2U0{2R2lF####&###>,_m
"""

Program 2:
#!/usr/bin/env python3
# This is a very special string
x = b"""
6gJ|SQKGv}HhJ[vs,QJUasw>VVqmrXVet{n9:CTmXk~Mo_WqBW#p:##pr&<0l;W|v+(-jCmzJC,74GmE3PJHKoQt0mMuU_g&pQ?kG>i99dG2U0{2R2lF####&###>,_m
"""

The comment is meaningless. I just needed to pad the common prefix to a multiple of 64 bytes. The MD5 collision was produced by hashclash in a few hours without a GPU.
250
Stephen Checkoway @stevecheckoway.bsky.social · 25/04/2026
I think about this from time to time. Here’s my copy.
Photo of the first page of the forward to Neuromancer titled The Sky Above The Port. Quotes from this are in the OP’s thread.
0171
Stephen Checkoway @stevecheckoway.bsky.social · 03/04/2026
When I went to bed last night about 03:00 EDT, the Orion capsule only had 3 working PCDs (the tablets) and Outlook still wasn't working properly. Did those ever get resolved? (Yes, I stayed up very late watching the moon mission. Also, my cats were doing this.)
A large black cat—Tasha Yar—sits on top of a white and orange cat—James Kirk. Kirk is licking her. Kirk's back feet are sticking out from under Tasha.
010
Stephen Checkoway @stevecheckoway.bsky.social · 01/04/2026
Me to my wife (showing off my 13 move premove win against the @chess.com Yoko Ono bot): I have the white pieces.
Screenshot of the game against the bot. The gimmick is all pieces are white. I have a king on b2, a pawn on h4, and a queen on g8. The bot has a king on e4 and a pawn on h5.
010
Stephen Checkoway @stevecheckoway.bsky.social · 30/03/2026
Floating point is neat! Here's one of my slides for my class today.
Image of a slide (-1)^s * 1.x * 2^e
• 1 bit for sign s (1 = negative, 0 = positive)
• 8 bits for exponent e
• 0 bits for the implicit leading 1 (called the "hidden bit")
• 23 bits for significand (without hidden bit)/fraction
And then Wikipedia's image of single-precision floating point numbers showing the sign, exponent, and fraction fields in a 32-bit word.
120
Stephen Checkoway @stevecheckoway.bsky.social · 25/03/2026
San'yaku (三役) (three ranks) referring to either the top four ranks or to the bottom two of the top four ranks in sumo.
San'yaku (三役)
'Three ranks'. The titleholder ranks at the top of sumo. There are actually four ranks in san'yaku: yokozuna, ōzeki, sekiwake and komusubi, since the yokozuna is historically an ōzeki with a license to perform his own ring-entering ceremony. The word is occasionally used to refer only to sekiwake and komusubi.
0470
Stephen Checkoway @stevecheckoway.bsky.social · 24/03/2026
I quietly read this aloud to my wife just now in the vet waiting room (routine check up/shots) in rural OH. (Jim Jordan’s former district for what that’s worth.) A woman in the waiting room responded, “Hell yeah!”
A black cat’s golden eye is barely visible through the mesh of the carrier.
020
Stephen Checkoway @stevecheckoway.bsky.social · 22/03/2026
The cats are eating crumbs from each other’s bowl. Neither cat was interested in eating their own crumbs.
In the foreground, Tasha Yar, a black cat, eats from a metal bowl. In the background, James Kirk, a white and orange cat, eats from a second bowl.
030
Stephen Checkoway @stevecheckoway.bsky.social · 09/03/2026
Great. Another way to hide disfavored content from adults.
Bsky’s bullshit age assurance that blocks adults from seeing non-adult content that has nevertheless been marked as adult. Things like pictures of prosthetics.
100
Stephen Checkoway @stevecheckoway.bsky.social · 02/03/2026
Every so often @chess.com releases new bots. The Yoko Ono bot is the most interesting I've seen. Both sides play with white pieces. (Deleted and reposted to add alt text. First time I've forgotten. My bad.)
Screenshot of a chessboard with only white squares and white pieces. In the game, the player with the white pieces has checkmated the player with the white pieces.
010
Stephen Checkoway @stevecheckoway.bsky.social · 20/02/2026
The finish isn’t very good (I may sand it a bit and apply another coat later), but I’m really pleased with how my chess board turned out! Now I just need to turn some pieces* and it will be complete. “Just.” * I’ll probably buy some pieces, at least for now.
Maple and walnut chess board on a table.
140
Stephen Checkoway @stevecheckoway.bsky.social · 16/02/2026
C is a great programming language.
Screenshot of a slide: Integer overflow checking in C is difficult

On the left, a C function int safe_add(int a, int b) checks if a > 0 && b > 0 and if so, then if a + b <= 0, abort(). Otherwise, if a < 0 && b < 0, then if a + b >= 0, abort(). Otherwise return a + b.

On the right, the x86-64 assembly code produced by gcc. It's two instructions long:
safe_add:
        lea eax, [rdi + rsi]
        ret
It is adding a and b and returning the result.

The overflow checks have been optimized away. You know, for efficiency. The compiler produced no indication that it had done this.
000