Jay McGavren's Avatar

Jay McGavren

@jaymcgavren

Author of the O'Reilly Media books Head First Ruby and Head First Go. Software developer with 20 years of experience. Portrait by https://dribbble.com/drawsgood

15
Followers
22
Following
191
Posts
20.11.2024
Joined
Posts Following

Latest posts by Jay McGavren @jaymcgavren

If you've got elements that need to remain the same throughout your #Inkscape design, consider "cloning" them rather than duplicating them. When the original object is modified, all its clones are as well, making it easy to keep elements consistent. inkscape-manuals.readthedocs.io/en/latest/cl...

08.03.2026 17:51 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Gambonanza is Balatro, but chess - the best version of that imaginable.

You start with only 3 pieces on a 5x5 board, but you can buy more. There are also tiles with special effects, and abilities like skipping opponents' turns.

Demo's only live until Monday!

store.steampowered.com/app/3509230/...

28.02.2026 06:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I can't believe I have to say this in 2026, but please always watch media in its original language with subtitles. Dubs are inevitably dumbed down and so much is lost in translation.

I don't know why companies think it's okay to release streaming movies with only a dub track available.

15.02.2026 05:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Hopefully, 20 years from now, creatives will have lots of paying work creating content used to train AI.

Or, we can just keep regurgitating the slop that AI companies pirated in the last 3 years, and forever destroy the creative class.

15.02.2026 04:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

"...and an opt-in licensing gateway to acquire and pay for copyrighted work used in training, built and used jointly by the companies needing training data, could have happened."
whatever.scalzi.com/2026/02/14/1...

And IS GOING to happen. Well, unless we stick with the "rampant IP theft" version.

15.02.2026 04:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

John Scalzi: "There were and are ethical ways to have trained generative β€œAI” but because they weren’t done, the entire field is suspect. Generative β€œAI” could easily have been trained solely on material in the public domain and/or on appropriately-licensed Creative Commons material..."

15.02.2026 04:34 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Those among us with any intelligence know the guy at the drive thru doesn't give a damn how we're doing today. Yet he's been ordered to waste his time and mine by asking. Because in the past he didn't, and some Karen yelled at his boss.

14.02.2026 05:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I thought this was gonna just be a dumb cash grab and it is NOT. They absolutely nail the look and make a bunch of cool gameplay innovations on the Survivors-like genre too.

Free demo but I'll be buying the full game, zero-day! #IndieGame #IndieDev

store.steampowered.com/app/4320630/...

13.02.2026 23:56 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Economic numbers LOOK good BECAUSE of Republicans' rampant corruption. For now. www.youtube.com/watch?v=jOR4...

13.02.2026 21:06 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image Post image

We received printer proof copies of The EGM Compendium.

Still feels crazy to hold an actual copy of the book. Working for magazines, you get used to seeing the results of your efforts soon afterward. This has been a long time coming.

4.5 pounds of EGM + gaming history overload!

12.02.2026 20:10 πŸ‘ 45 πŸ” 10 πŸ’¬ 8 πŸ“Œ 2

In its early days, the Freakonomics podcast introduced me to concepts that still have an immense influence on my entire worldview. "Nudge" is a big one, for example. freakonomics.com/podcast/all-...

10.02.2026 18:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

#Inkscape 's "Convert Dashes to Path" extension (formerly "Convert to Dashes") is great. Previously I was using "Stroke to Path" (wouldn't work without it) followed by "Break Apart", which left a bunch of tiny rectangles, not short paths. community.glowforge.com/t/inkscape-c...

10.02.2026 16:04 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Cardstock that was cut and scored on a Silhouette Portrait 3 vinyl cutter and folded into a 3D scene. The result looks like boxes resting in a divot cut into another box.

Cardstock that was cut and scored on a Silhouette Portrait 3 vinyl cutter and folded into a 3D scene. The result looks like boxes resting in a divot cut into another box.

Cardstock that was cut and scored on a Silhouette Portrait 3 vinyl cutter and folded into a 3D scene. The result looks like boxes resting in a divot cut into another box.

Cardstock that was cut and scored on a Silhouette Portrait 3 vinyl cutter and folded into a 3D scene. The result looks like boxes resting in a divot cut into another box.

A set of paths in the Silhouette Studio program, ready to be cut. It's a series of nested rectangles. The vertical sides of each rectangle are solid lines (for cuts), while the top, bottom, and middle of each rectangle are dashed lines (for folding).

A set of paths in the Silhouette Studio program, ready to be cut. It's a series of nested rectangles. The vertical sides of each rectangle are solid lines (for cuts), while the top, bottom, and middle of each rectangle are dashed lines (for folding).

Simple prototype, manually composed. And look how much space I still have to work with!
Next step is hopefully to write a program to do it so I can get MOAR BLOCKS. Wonder what level of detail the cardstock will support?
#VinylCutter #Cricut #SilhouetteCameo #Inkscape

10.02.2026 03:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

You CANNOT label multiple objects at once, but you can do it to one object and then duplicate it. Requires planning ahead, unfortunately.

10.02.2026 01:22 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

In #Inkscape it looks like you can select an object, open it in the integrated XML editor, and add an "inkscape:label" attribute with any string value you want (e.g. "perforation"). Later you can use the Find dialog, search for your label, and all matching objects will be selected in the GUI.

10.02.2026 01:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This command just reduced a 550MB .mp4 movie (that I didn't need high-res on) down to 15MB for me. Unchanged from when I last used it many years ago.

$ ffmpeg -i ~/Downloads/input.mp4 -c:v libx264 -pix_fmt yuv420p -crf 28 -vf scale=-2:720 ~/Downloads/output.mp4 # Downscale video to 720p height

10.02.2026 00:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

There must, and shall, be justice. It's in society's best interest for that justice to be provided by the COURTS. Equally, to ALL races and classes.

But if the courts can't or won't, well, there are other ways.

08.02.2026 17:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I was cutting 5mm notches in 10mm-thick cardstock strips, BTW, so kind of an extreme case. I'm sure single cuts would work okay on thicker materials. (Though again, if your piece is meant for display, the cardstock needs not to be bent!)

08.02.2026 16:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Sheet metal is a lot less forgiving than cardstock, which is probably why they've come up with specific rules: "Notches should have a width of at least 0.040 in. or the material thickness, whichever is greater, and a depth limited to 5x its width."
www.protolabs.com/resources/bl...

08.02.2026 15:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

My session tonight has me thinking the Silhouette Portrait is actually pretty decent hardware (precision-wise), controlled by absolute shit software.

08.02.2026 07:49 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Instead, in your drawing program, you need to draw the slots with a stroke about 0.3mm thick, then run "stroke to path" on them, so each notch becomes a very thin rectangle. I don't know if the resulting cut notches are actually 0.3mm wide, but they slide together much more easily!

08.02.2026 07:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Discovering that if you want to join multiple sheets of cardstock cut on a vinyl cutter together using the slot-and-notch method, you can't just cut single lines for the slots. The cardstock is actually about 0.24mm thick, so you'll bend it to heck trying to insert the slots in each other.

08.02.2026 07:39 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

There's a quote (can't find the source) that says "Any tool that is incapable of making something ugly is also incapable of making something beautiful."

I think of that a lot when trying to work with Silhouette Studio. It's a toy, not a tool. #VinylCutters

www.reddit.com/r/silhouette...

08.02.2026 05:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ChatGPT says it's from Don Norman and the original phrasing is "Any tool that is not capable of producing ugly things is also not capable of producing beautiful things." Still can't corroborate with web searches.

08.02.2026 05:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

There is a great quote: "Any tool that is incapable of making something ugly is also incapable of making something beautiful."

I'm trying to find its source.

Google AI has by turns attributed it to John Carmack, Bjarne Stroustrup, and Frank Lloyd Wright. And won't give me any sites quoting it.

08.02.2026 05:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Personally I like Kind Words a lot better than Kind Words 2. And 1/3 of this demo is "street conversations", which I think is the most awkwardly-designed feature of Kind Words 2. But if it gets more people to try Kind Words, I'll share it! store.steampowered.com/news/app/107...

08.02.2026 02:44 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Need to inline images or sound clips in a .html file? I vibe-coded a #Ruby script that Base64-encodes multiple files in JSON. gist.github.com/jaymcgavren/...

06.02.2026 00:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I don't like this (yet), but zsh errors by default if no files match a glob:

% echo *.gif *.webp *.jpg *.jpeg
zsh: no matches found: *.jpg

"setopt NULL_GLOB" disables the error:

% setopt NULL_GLOB; echo *.gif *.webp *.jpg *.jpeg; unsetopt NULL_GLOB
carlton.gif cool-doge.gif werecow.webp

05.02.2026 21:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The how-dishwashers-work guy does your homework for you again, this time on the electric grid vs. fossil fuels.

"The basic realities of economics mean that photovoltaics are... frankly, unstoppable."

youtu.be/KtQ9nt2ZeGM...

31.01.2026 05:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Trying to follow individual news stories is useless in the face of Republicans' spammy "flood the zone" distraction strategy. Instead, actions need to be reviewed in aggregate, like this: www.nytimes.com/interactive/...

It's exponentially harder, of course, which is why so few outlets can do it.

29.01.2026 20:26 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0