Sign in

Ross A. Baker

@rossabaker.com
237 followers 10 following 546 posts

Never daunted. #Rustlang #Python #Typelevel #Emacs #Nix #Indieweb Languages: en,de,es 🌉 bridged from ⁂ social.rossabaker.com/@ross, follow @ap.brid.gy to interact

PostsRepliesMedia
Ross A. Baker @rossabaker.com · 1h
Dentist: Are you feeling numb? Me: For the last decade or so. I guess she meant my mouth, specifically.
100
Ross A. Baker @rossabaker.com · 10h
Conventional commits aren't reliable for semver automation, don't result in good release notes, and carry a faint stench of agent. Write your commit summaries for people.
201
Ross A. Baker @rossabaker.com · 29/09/2026
I called a brazenly offside forward a scrutinee at soccer practice tonight, marking the word's first use outside the Scala compiler.
000
Ross A. Baker @rossabaker.com · 27/09/2026
My thoughts tonight are with the casual concertgoer who saw Beethoven on the program, bought tickets, and got Stravinsky in the second half. Both were fabulous. #IndySymphony
000
Ross A. Baker @rossabaker.com · 24/09/2026
There should be a name for a run where you suddenly regain your former pace, and realize the struggles over the last several weeks were not the irreversible decline into old age, but just a summer that was too damn humid. It is chilly and gray and I feel alive again.
000
Ross A. Baker @rossabaker.com · 21/09/2026
I wasn't sure whether to say "platitudinal" or "platitudinous" or if I made both up. They're both in Merriam-Webster, along with my new favorite adverb, "platitudinously."
001
Ross A. Baker @rossabaker.com · 19/09/2026
My Forgejo instance is down for a rethink. I have once again lost the upper hand in the anti-scraper arms race and lost 180GB of disk space while I slept. It wasn't even an adequate sleep. Remember when open source was a communal act of learning instead of a stubborn act of defiance?
100
Ross A. Baker @rossabaker.com · 16/09/2026
Deleted a couple cantankerous posts in favor of positive action: I have archived three http4s repositories and will archive 7 more in 30 days unless someone else steps forward. This is a direct consequence of AI security advisories. The surface area will continue to contract until […]
social.rossabaker.com
Original post on social.rossabaker.com
001
Ross A. Baker @rossabaker.com · 15/09/2026
"Deathslop" should have instead been a music genre I ignore.
010
Ross A. Baker @rossabaker.com · 12/09/2026
[Indianapolis HVAC recommendations?] My air conditioner survived multiple heat waves this summer, but failed between two, less than 48 hours after a maintenance tuneup. Had a similar experience with the furnace. Who has an HVAC company in #Indianapolis that they like?
211
Ross A. Baker @rossabaker.com · 10/09/2026
Trying to register a fourth-level "locality" .us domain. I see no evidence Indianapolis has had one since 2007, but we've got 900,000 people, and I think at least one of us ought to have a website. Stay tuned. #Indianapolis #Indiana #IndieWeb
221
Ross A. Baker @rossabaker.com · 08/09/2026
I am stepping back from http4s-1.x maintenance, including security patches. Withdrawals will continue until burnout improves. github.com/http4s/http4s/discussion… #http4s
github.com
Stepping back from 1.x, including security releases · http4s http4s · Discussion #7945
In the Age of Slop, security releases are consuming most of my time. It's getting worse. Preparing releases locally so there is a patched version before disclosure is laborious, and doing so on par...
010
Ross A. Baker @rossabaker.com · 08/09/2026
There's a fork late in the morning walk path, and I let my coonhound decide whether we go left or right. Sometimes she gets confused and gets her leash wrapped around a tree. This morning she confidently plowed forward and stuck her nose in a pile of poo. This ritual helps prepare me for another […]
social.rossabaker.com
Original post on social.rossabaker.com
013
Ross A. Baker @rossabaker.com · 07/09/2026
Up until 2am the night before Labor Day preparing security releases and barbecue. Those who pointed their Slop-o-Matic 2000™ at me will receive credit in the CVEs but are ineligible for my smoked salmon.
010
Reposted by Ross A. Baker
Ben Zanin @gnomon.mastodon.social.ap.brid.gy · 04/09/2026
Every time I choose to upgrade emacs - and it IS a choice, I'd be well served by the project still even if I ran a version literally years behind current - it runs faster, requires less memory, comes with better documentation, includes thoughtfully designed features *which I get to learn about […]
mastodon.social
Original post on mastodon.social
113
Ross A. Baker @rossabaker.com · 02/09/2026
I've been up late the last three nights triaging security advisories. I received eight more in the last hour. I don't review standard PRs anymore, and now functionality is going to start getting cut. github.com/http4s/http4s/discussion… The most sure way to secure something is to […]
social.rossabaker.com
Original post on social.rossabaker.com
000
Ross A. Baker @rossabaker.com · 31/08/2026
Mentioned a former job with a large team in Dublin, which I shall henceforth refer to as working at the Craicer Barrel.
000
Ross A. Baker @rossabaker.com · 31/08/2026
The assertion here is that a license can be changed by removing contributions whose git blame on HEAD points to a non-consenting author. Ridiculous. You could launder an entire file with typo fixes and whitespace by that standard. The maintainer then replaces the reverted code with a […]
social.rossabaker.com
Original post on social.rossabaker.com
101
Ross A. Baker @rossabaker.com · 31/08/2026
Since enabling `completion-eager-update` in Emacs 31, I've been mercilessly dinged during non-strict completions. Try this: ``` (define-advice minibuffer-completion-help (:around (orig-fn &rest args) suppress-ding) "Silence the bell during minibuffer completions that may not be strict." […]
social.rossabaker.com
Original post on social.rossabaker.com
000
Ross A. Baker @rossabaker.com · 31/08/2026
I built a reputation for patiently in nurturing new contributors in open source, back when new contributors tended to be interested in the project. I can swing my banhammer today, but a few dozen other projects will merge their slop, they'll get their GitHub greenies, and there'll be a new […]
social.rossabaker.com
Original post on social.rossabaker.com
110
Ross A. Baker @rossabaker.com · 30/08/2026
I'm at the art museum tonight, and guess what's playing once it gets dark.
Big screen at at amphitheatre.  There are trees behind the screen.  It is dusk, with orange peaking behind the trees and below the clouds.
000
Ross A. Baker @rossabaker.com · 28/08/2026
A colleague wondered if he is safer from phishing attacks by not updating his LinkedIn for a few years. I think he just invented the resume cooldown period.
001
Ross A. Baker @rossabaker.com · 27/08/2026
I remember `scalaz.\/`, which was in many ways nicer than `Either`. My first contribution to Cats was the short-lived `cats.data.Xor`. It didn't survive to 1.0, because having multiple representations of a foundational type was worse than standardizing on the lesser. Here we go again […]
social.rossabaker.com
Original post on social.rossabaker.com
010
Ross A. Baker @rossabaker.com · 26/08/2026
A key difference between me now and me 25 years ago is that now I'm compiling Emacs at 6:30am because I'm up early instead of compiling Emacs at 6:30am because I'm up late.
000
Ross A. Baker @rossabaker.com · 25/08/2026
RE: front-end.social/@stefan/1171557399… Me too, button2. Me too.
front-end.social
000
Ross A. Baker @rossabaker.com · 24/08/2026
If the IndieWeb is punk, writing a manifesto with Claude is Good Charlotte.
020
Ross A. Baker @rossabaker.com · 23/08/2026
Always check the water bucket for guppy fry before watering the house plants.
000
Ross A. Baker @rossabaker.com · 21/08/2026
Bruce Springsteen's "Radio Nowhere" from 2007 is about the alienating experience of software development in 2026.
010
Ross A. Baker @rossabaker.com · 17/08/2026
GitHub appears to be entering its uptime window for the day. Cancel your meetings and push while the pushin's good.
011
Ross A. Baker @rossabaker.com · 17/08/2026
Reading about wildfires around the globe while the local river crests at historic levels.
000
Ross A. Baker @rossabaker.com · 15/08/2026
As the weather guy for a soccer league in Indiana, I've been missing the balloons we used to launch over the Great Plains. It's not just the weather that's getting worse: it's also our ability to forecast it.
010
Reposted by Ross A. Baker
mx alex tax1a - 2020 (6) @atax1a.infosec.exchange.ap.brid.gy · 09/08/2026
`git blame`, or as they say in france, `g'accuse`
01966
Ross A. Baker @rossabaker.com · 08/08/2026
For HTML Day 2026: a tasting menu, assembling as wide an array of HTML elements as practical into a single page. Intended as a test bed for your base CSS rules. tasting-menu.rossabaker.com #HtmlDay #Html #IndieWeb
tasting-menu.rossabaker.com
HTML tasting menu
001
Ross A. Baker @rossabaker.com · 06/08/2026
The school's new bus app has animated raindrops falling onto the map. What it does not have is the location of the bus. Also, it is not raining.
000
Ross A. Baker @rossabaker.com · 06/08/2026
I was the guitarist of a band called the Damn Pigeons in high school. We had no songs, talent, or transportation to even all meet together at once. But our first album would have been called "Don't Shit on my Sidewalk" and it would have been fucking rad.
000
Ross A. Baker @rossabaker.com · 04/08/2026
Rust Book for Scala Developers, Chapter 7: packages, crates, and modules rossabaker.com/blog/rust-book-ch07 #Rust #Scala
rossabaker.com
Rust Book, Chapter 7: Packages, Crates, and Modules
The way Rust organizes code can be tricky for Scala developers. The concepts do not map one-to-one. Further confusing matters, Rust packages are not the closest thing to Scala packages. There are loose translations to Scala to help us get our bearings. ## Packages and crates # In Rust, a crate is the unit of compilation. It’s either a binary crate or a library crate. The binary artifact is either one executable or one library. It’s a bit like a Scala `.class`, which is runnable if it’s an object with the right `main` signature, or may be added to the classpath to be loaded and linked with other code. A crate is coarser: multiple Rust files may compile into one crate, while it’s common for a single Scala file to compile into multiple clases. Rust crates are bundled into a package. It may have multiple binary crates and optionally a library crate. This is close to a Scala `.jar`, which bundles library classes, any number of which may be runnable. ## Modules # A Rust module is closer to Scala packages than Rust packages are. It’s a means to organize code into logical namespaces. Scala pcakages are typically organized into files according to Java conventions, but a single package can be split across arbitrary files on the source path. Rust modules are more prescriptive: the module name is reflected in the filename, and the hierarchy in the directory structure. ### Visibility # In Rust, visibility is private by default. In Scala, it’s public. If a definition is public in Scala, it can be imported and accessed anywhere. The Rust equivalent is `pub` on the definition within the module plus `pub mod` where the module is included. If a module is included with `mod` instead of `pub mod`, it’s similar to declaring it package private in Scala. Because Rust does not have subtyping, we are spared the complications of Scala’s `protected`. ## `use` # Rust’s `use` is about like Scala’s `import`, where `::` is the delimiter instead of `.`. Importing the full path of structs and enums in Rust is idiomatic, but that functions are typically referenced via their parent. This is different from Scala, where functions are often imported into the current scope either to be found implicitly or to be referenced tersely. Rust has `pub use` to re-export definitions as though they originated in the using package. Scala 3 introduces `export` for similar functionality, but it requires manual forwarders in Scala 2. The wildcard import in Rust is `*`. Scala 2 uses `_`, but many projects use `*` via a compiler flag for Scala 3 compatibility. ## `foo.rs` vs. `foo/mod.rs` # Rust allows module `foo` to be declared in either `foo.rs` or `foo/mod.rs`. Scala package objects may similarly live in either `foo.scala` or `foo/package.scala`, but also `something/nonsensical.scala`. The book prefers `foo.rs`, but not all Rust developers agree. If `foo` has its own submodules, it will be a directory anyway, and `foo/mod.rs` is nice. Some developers may find many files named `mod.rs` awkward, and it’s more common than `package.scala`. My opinion in both Rust and Scala is agree to one convention on the project, be consistent, and pick your battles elsewhere.
001
Ross A. Baker @rossabaker.com · 03/08/2026
My wife figured out the discolorations I sometimes get in my clothes. It's Prime, the dechlorinator I use changing water in my fish tanks! #Aquariums
000
Ross A. Baker @rossabaker.com · 31/07/2026
Rust for Scala Developers, Chapter 6, on `enum`. rossabaker.com/blog/rust-book-ch06 Not new if you follow my RSS, but I just added a section on how Rust variants are not types. #Rust #Scala
rossabaker.com
Rust Book, Chapter 6: Enums and Pattern Matching
Chapter Six I am still primarily a Scala 2 developer, so I’ll continue to lean into sealed traits in these examples. Scala 3 `enum` covers many of the same ideas, and in a syntax closer to Rust’s! ## Defining an enum # A Rust enum implements sum types, as Scala 2 does with sealed traits. The variants `V4` and `V6` are like the case classes and objects that extend the trait. CC-BY-SA-4.0 enum IpAddrKind { V4, V6, } CC-BY-SA-4.0 sealed trait IpAddrKind object IpAddrKind { case object V4 extends IpAddrKind case object V6 extends IpAddrKind } All the struct types we saw in the previous chapter are available here. The Scala `Write` is not a zero-cost newtype like Rust’s mostly to avoid a lengthy digression into Scala 2’s various encodings and tradeoffs. CC-BY-SA-4.0 enum Message { Quit, Move { x: i32, y: i32 }, Write(String), ChangeColor(i32, i32, i32), } CC-BY-SA-4.0 sealed trait Message { case object Quit extends Message case class Move(x: Int, y: Int) extends Message case class Write(value: String) extends Message case class ChangeColor(r: i32, g: i32, b: i32) extends Message } ### `Option` # Rust’s `Option` is familiar to Scala’s. CC-BY-SA-4.0 enum Option<T> { None, Some(T), } CC-BY-SA-4.0 sealed trait Option[+A] case class Some[+A](a: A) extends Option[A] case object None extends Nothing A couple headaches are gone in Rust: * Rust has no `null`, so there is no `Some(null)`. This doesn’t come up often in practice in Scala, but it’s a cost of Java interop. * No variance or quirks thereof! ## Pattern matching # Rust’s pattern matching is syntactically different from Scala’s, but conceptually almost identical. As a new Rustacean, this made it frustrating to write but intuitive to read. The important bits are the same: * Matches are exhaustive. This is good today when you forget one, and great tomorrow when you add another variant and the compiler tells you what you need to fix everywhere in your app. * Matches can bind values: `Some(x) =>` safely gets `x` out of the `Option` if and only if it’s `Some`. The only tricky bit here is that Rust’s ownership rules still apply. * Literal values can be matched. ## Rust variants are not types # Scala’s sealed trait model is based on on subtyping. `Some(42)` is both a `Some` and `Option`. `None` is both a `None.type` and `Option`. Rust enums are more like having just `apply` and `unapply`: we can construct and pattern match `Some` and `None`, but because there is no subtyping, the values have just one type: `Option`. ### Nested sum types # Scala’s model easily extends to multiple levels. A URI may have an authority, which is either a registered name or an IP address. The IP address may be either IPv4 or IPv6. CC-BY-SA-4.0 sealed trait Authority case class RegName(value: String) extends Authority sealed trait Ip extends Authority case class IpV4(…) extends Ip case class IpV6(…) extends Ip We can just as easily define functions that accept or return `Authority`, `Ip`, and `IpV4`, operating at the right level of abstraction for the task at hand. In practice, what Rust gives us is often enough: how often does a Scala signature explicitly refer to `Some` or `None.type`? In cases that it’s not enough, we can define structs for each concrete data type, and then each variant can wrap either a struct or another enum. CC-BY-SA-4.0 enum Authority { RegName(RegName), Ip(Ip), } enum Ip { IpV4(IpV4), IpV6(IpV6), }; struct RegName(String); struct IpV4(u32) struct IpV6(u64, u64); ## Control flow # Rust has two control flow syntaxes that are unfamiliar to Scala developers. ### `if...let` # Rust: CC-BY-SA-4.0 let config_max = Some(3u8); if let Some(max) = config_max { println!("The maximum is configured to be {max}"); } In Scala, we have to explicitly map the `None` to `()`. CC-BY-SA-4.0 val configMax: Option[Int] = Some(3) configMatch match { case Some(max) => println("The maximum is configured to be {max}") case None => () } As a functional Scala developer, I’d use `IO`. #+begin_aside I’d actually use `Console[F]`, but we’re here to learn Rust, not fight the old Scala wars. println(“The maximum is configured to be {max}”)#+end_aside CC-BY-SA-4.0 val configMax: Option[Int] = Some(3) configMatch match { case Some(max) => IO.println("The maximum is configured to be {max}") case None => IO.unit } Because `Option` can be traversed and `IO` is applicative, we can turn the `Option` into an `IO` by giving a function of what might be in the `Option` (`Int`) to `IO`: CC-BY-SA-4.0 configMatch.traverseVoid(max => IO.println(s"The maximum is configured to be $max")) Imperative Scala is more verbose than Rust in this case, but once we get back to working with pure values, Cats can be more concise!
121
Ross A. Baker @rossabaker.com · 31/07/2026
Whereas I will be salty forever.
Display on water softener: "Salt Status (NaCl): Out of salt in 246 days"
010
Ross A. Baker @rossabaker.com · 27/07/2026
Busco sitios IndieWeb en español. ¡Estoy perdiendo práctica! #IndieWeb
010
Ross A. Baker @rossabaker.com · 26/07/2026
Spent a hot afternoon indoors answering 100 Questions for Webmasters: rossabaker.com/blog/100-questions-f…
rossabaker.com
100 Questions for Webmasters
100 Questions for Webmasters seemed like a good way to spend a day where the heat index is approaching 100°F. Please introduce yourself. Check my About page or Mastodon intro. How long have you been making websites? My first was in 1996. It was named after my dog. I spent some time in the silo wilderness, but got serious again in 2022. And what got you into the hobby? I’ve been a programmer at heart since I was a young child. As soon as our computers could talk to other computers, it was a rather obvious thing to do. What kind of website are you most interested in? The IndieWeb. Designs from any decade through the present are great, but I want that retro feeling of hope that the IndieWeb represents. What’s your workflow? Do you plan your websites out thoroughly or do you come up with the design as you go along? Organic, but Cool URIs don’t change, so I’ve got a shamefully long redirect file. Please link to your biggest inspirations. * ArtLung, who has been doing it for as long as I should have been doing it. * BurgeonLab, who is newer to the scene but has many shared tastes. * A Scripter’s Notes, who welded Org with Hugo. What’s your favourite part about making websites? Giving back to the digital commons, from which I’ve learned so much. And the thing you struggle with the most? Getting stuck on one paragraph for hours, and the final version not being much better than it was hours ago. Do you keep the same layout on all of your pages? Or do you use different ones? Mostly, though as I gain confidence in design, I’m branching out. How confident are you with CSS? Technically, quite confident. Artistically, terrified. Do you know how to correctly use <dl>? Yes. It’s my favorite tag. What is your favourite HTML element? Maybe mine should have been 99 Questions for Webmasters. If you’re making a new web page from scratch, what is the first thing you do? `git init`. Do you know JavaScript? My old line is “I can make it work on Internet Explorer 4 _and_ Netscape Communicator.” I avoid it, but I can handle the baiscs. How about PHP? Enough to have maintained a couple sites over the years, but I went from Perl to mostly static sites today. Does your website have a theme that you stick to? I’m a proud Indiana Hoosier, so I try to work in the cream and crimson stripes somewhere. Are you more focused on content or design? Neither. I’m obsess over the process: writing in Org, building deterministically with Nix, defending with Iocaine. I _should_ focus on the content. Do you own a domain name? If not, would you ever want to? I do. It’s a critical tenet of the IndieWeb. What do you think of nostalgia-focused or “retro” websites? Love them. Made one. It’s like classic rock: enjoy them forever, but try new things, too. Is your HTML valid? Do you even check? My site does not deploy if the check fails. I even integrated the CSS and feed validators into my build pipeline. What are your opinion on buttons and banners? I just created my own. What do you think of button walls in particular? They’re fun. I’m at an awkward place now with ten buttons on every page, and wonder if I should consider fewer in the footer and a dedicated button wall where I go nuts. If you started over again, would you make something similar or completely different? Starting over is my biggest regret. Evolve. Are you envious of other people’s websites? Deeply. Not the famous ones, but the ones with longevity. What text editor do you use? Emacs. Why do you use that one? * I am a tinkerer, and it lets me tinker. * I am text-first, and Emacs is text-first. * It has been around longer than me, and it will be around longer than me. Do you host your image files on your web server, or on another host? Self-hosted. This might not be relevant to you, but what’s your opinion on the Neocities vs. Nekoweb debate? Irrelevant. How much server space would you estimate your main website takes up? I can do better than estimate. $ du -sh /var/lib/www 228M /var/lib/www Do you keep local backups of your files? Cloud backups and source control. Do you prefer simple or highly visual websites? I like that people can and do make both. Do you stick to certain colours? Do you do that on purpose, or is it your subconscious? I mentioned the cream and crimson above. I prefer light mode. Have you ever thought about quitting? Why? Yes. I want to exchange ideas with people, not bump the weights of the next LLM. Sometimes it feels like the open web is no longer the place, but I’m still fighting back. Do you have many webmaster friends, or is it a solitary hobby? I have enjoyed attending the Homebrew Website Club events almost weekly for the past couple years. Do people in your real life know about your website? Some. I don’t hide it. Do you update your website very often? How often is “very often”? It ebbs and flows with my schedule. I try to keep it fresh without making it an obligation. And the overall design, do you change that much? Why or why not? Rarely. I am trying to level up, but design will never be my strength. Is your website more you-focused, hobby-focused, or outside world-focused? Mostly hobbies. The combination of them is arguably me. Do you do web design professionally? Even the good ones are underpaid. I’d starve. If not, would you like to? And if you’re comfortable answering, what do you do for work? I am a software engineer and much more useful on the backend. Do you communicate with people by email very much? Not as much as I used to. Personal contacts migrated to text, and most of my online discourse moved to social networks. Some people reject social media and use websites as a replacement. Do you keep social media outside of your website? I do keep social media, but I also try to syndicate back the original posts. How about instant messengers? Do you use a mainstream one like Discord or Telegram? Or something like Matrix? Do you avoid them? I consider Matrix the least worst. I lament the move of so many discoverable conversations to walled gardens, and particularly detest Discord. Do you listen to music while you work on websites? If so, what kinds of artists? Yes. I don’t like electronic dance music, and prefer my religious music to be at least a couple hundred years old. Aside from that, most anything goes. Do you keep everything you make on one website, or do you have more than one? I have more than one, but I’m trying to make this a hub, even if it’s syndication. On a similar note, do you keep to one topic on your site, or many? Many. The topic is “things I wanted to share.” Do you present your real self, or at least try? Or do you construct a persona on purpose? I’m not done documenting my real self. Who has time to be fake? Have you ever made a good friend thanks to your website? Yes. Are you happy with the way HTML and CSS currently work? Much more so than when I started. I spend less time tuning to specific browsers, and mostly sat out the era of Sass. What are practices that you think people should avoid? * Coupling markup and design. * Not owning your data. * Thinking nobody will be interested. What about under-utilised practices, or things you think people should do more? Invert the previous answer. Do you use a lot of semantic HTML? Or are you guilty of generic structure? I lean heavily into semantic HTML. The Emacs Lisp header at the top of this page is basic headers and a list. The rest is style. Do you consider different browsers? I validate against standards and apply rare fixes as necessary. It’s much more viable than it was 25 years ago. Speaking of, what’s your preferred browser? Convince your readers why they should use it. Firefox. I don’t want to cede more of the Web to Google or Apple. I’m bearish on Mozilla’s direction, but a modern browser is a gigantic effort and I worry about its various forks’ ability to keep up with security. I’m rooting for Servo. And what OS are you on? For fun, NixOS, a Linux distribution. For work, MacOS. Do you have a strong opinion on that, or do you just happen to use it? I have been a Linux enthusiast since I had my first computer that I could escape Windows 95. It fits the same desire to tinker that draws me to the Web. Are your websites mobile-friendly? I try to test them in Developer tools. It’s not my main focus, but I consider it a bug if they don’t work. What are your thoughts on autoplay? What are your thoughts on me walking into wherever you’re sitting and ripping ass? What are your thoughts on webrings? Are you in any? A couple. Particularly as search engines decline into AI slurry, I see them as more than a throwback. Do you have any web shrines? What do you like to see in that sort of page? No. Are your websites “cliche”, in your opinion? Some components, probably. The combination, I hope not. What is your ideal website? Are you striving for that, or for something else? I am striving to remember that there is no ideal. It’s a journey that leaves many crumbs, and I’m embracing that. Are you an artist? Do you draw or design your own assets? I built this Hugo theme from scratch, designed a few of the graphical elements, and even heavily customized the font. I’ll embrace “artist” as long as nobody calls me a good one. What are your favourite resource sites? At risk of needing to amend my answer about cliché, MDN. Is there a habit you just can’t get away from no matter how hard you try? Perfectionism in imperfect pursuits. What’s your biggest advice for a new webmaster? Iteration is cheap. Jump in and start practicing. Do you keep all your styling in CSS? Or do you hard-code some? CSS. What do you think of frameset layouts? I like retro design, but there are limits. How about table-based layouts? I dutifully moved away from them when all we had were floats and buggy browsers and lost a lot of time. I am grateful for the CSS grid model: it no longer hurts! Do you subscribe to the ideas of “one-column”, “two-column” and “three-column” layouts? Do you use any of these? I subscribe to semantic HTML and responsive CSS tricks to use the right number of columns for the browser in question. Do you spend longer on the HTML or the CSS? The CSS. The structure quickly becomes good enough. The CSS can be fiddled with endlessly. Have you ever made a page with no CSS? It’s useful for your thoughts. I made pages shortly before CSS existed, and certainly before it became mainstream. I still like to test pages with it disabled. Do you ever find yourself making layouts with nothing to put on them? Or do you only make layouts when the need arises? I do the needful. Would you consider yourself a beginner? Or advanced? Somewhere in the middle? Advanced. There’s a lot I don’t know, but little I can’t accomplish. Do you have a habit of looking at the source code of websites you visit? Yes. Some to learn from, some to write uBlock Origin rules. How did YOU learn how to make websites? A library book and a plain text editor, until I got far enough to connect with mentors to accelerate my learning. Do you ever force elements to do things they’re not supposed to? If I’m not lying about the semantics of the markup, I’m not afraid to drastically change its presentation. Thoughts on floating elements? I’d tell you, but they’d probably be covered up by some irritating overflow issue. When you’re sizing stuff, what do you use first? Do you use px, em, %, or something else? Mostly `em`, though I’m growing fond of `ch` for horizontal measures. Do you have a favourite font? Yes, my Cromulent Fonts, based on Iosevka. Would you run a website with another person? How would that work? I’ve done it for software collectives. It’s more of a social than a technical challenge: do you share a vision and how do you resolve disagreements? Do you surf the Web to find new personal websites very often? I don’t set out on those walks, but sometimes find myself deep into those woods. Do you bookmark other people’s websites? How would you feel knowing someone else bookmarked yours? I just started a blogroll. I don’t keep score or accept reciprocity, but I am more delighted by a link from a person than from a search engine. What do you want people to be most impressed with when they see your website? I hope they find a shared interest outside the one that brought them here. Are you interested in technology outside of websites? Do you collect? I am interested in programming, particularly free software. I don’t know whether it’s my age or the age in which we live, but I’m generally less hopeful about technology than I used to be. I’m a digital hoarder, but am trying to avoid new physical clutter. How often and for how long are you online? Most days, hours per day. Exercise and dog walks are my breaks. When it comes to your website, who is your target audience? Wayfaring strangers who I hope say hello. Have you ever been interested in XHTML? Yes. XSLT, too. Do you program in general? Have you ever written a program for use with or on your website, not counting simple JavaScript? Yes. My first site that got significant attention was a cgi-bin script that rendered college football schedules in the late 1990s. My most recent was a blogroll randomizer just this morning. Speaking of programs that help you make websites, what do you think of static site generators (SSGs)? Have you ever used one? This site is built with Hugo. Not all content can be static, but I’m a fan of how SSGs reduce moving parts. Do you keep a hitcounter? Why or why not? No. They’re inaccurate, and I value connections over stats. Do you frequent forums? Which ones? Not regularly. I’m more into wikis, and my communities gravitated more toward chats. Do you write your page content directly into the editor, or do you prepare it elsewhere, like a text document or a Word document? Almost entirely in Emacs, unless I’m archiving social posts. Do you think you appear cool to others? A more accurate answer now: do other people ever say you’re cool? A couple people have, but they’re mistaken. Are you embarrassed of your old work? Have you ever deleted everything out of shame? There are some things I with the Internet forgot, but there’s more I wish the Internet remembered. Would you close down your website if you couldn’t update it, or would you leave an archive? I would prefer an archive unless it’s actively misinformative. Do you reveal a lot about yourself on your website? Or are you more secretive? I care for the consent of people I discuss and privacy in a world of scams, but I otherwise want to be me. Are you willing to reveal who your best online friend is, and/or if they have a website? I don’t have a ranking, and if I did, I wouldn’t want to hurt the runner-up. And do you optimise the images on your website? The Hugo asset pipeline does a little. I optimize more by preferring text. We’re out of time! How do you feel after answering 100 questions? ….other than exhausted. Mostly exhausted, but I already was. In case _you’re_ not exhausted, Shen has collected more. *[MDN]: Mozilla Developer Network
000
Ross A. Baker @rossabaker.com · 26/07/2026
Trivial, but I created a Rust service to redirect to a random entry in my blogroll; no JS required. It fits well in my footer with the webrings. codeberg.org/rossabaker/blogroll-th… #Rust #IndieWeb
000
Ross A. Baker @rossabaker.com · 25/07/2026
It's almost 1am and I don't need to start a Rust project to parse my TOML and redirect to a random blogroll entry because I don't want to add JavaScript to my mostly static site. Or do I?
010
Ross A. Baker @rossabaker.com · 25/07/2026
Me, 25 years ago: writing awk scripts to figure out which browsers I need to support. Me, tonight: writing awk scripts to figure out which bots I need to damn.
000
Ross A. Baker @rossabaker.com · 24/07/2026
I initially thought Codeberg's updated terms of service against vibe coding and crypto was a good change, but after reading several critiques, I like it even more. #Codeberg
054
Reposted by Ross A. Baker
chrysn @chrysn.chaos.social.ap.brid.gy · 24/07/2026
Why do serverless agents when you could do agentless servers?
009
Ross A. Baker @rossabaker.com · 23/07/2026
Finally got around to starting a blogroll. Originally, "logrolling" was a sort of mutual aid: neighbors coming together to clear the timber that one family alone could not. It only later took on its more cynical connotations of cronies trading favors. I don't expect anything in return, but […]
social.rossabaker.com
Original post on social.rossabaker.com
220
Ross A. Baker @rossabaker.com · 23/07/2026
I cared about software licensing and added a non-free git submodule. Then I had two problems.
000
Ross A. Baker @rossabaker.com · 23/07/2026
The humidity dropped and the smoke cleared out. On a related note, I finished my 9-mile run 12 minutes faster. #Running
031
Ross A. Baker @rossabaker.com · 21/07/2026
Another 88x31 for your sites, while the scrapers imbibe what they should not. #IndieWeb #Iocaine
Green 88x31 button with black text, "protected by Iocaine" next to a half-full wine goblet
031