Tag Archives: door

The college basketball bracket … in ANSI

Title screen for “Bracket Browse,” an informational BBS door that lets you explore the NCAA tournament bracket.

Eleven years ago, when I worked as a designer of news and sports pages at a daily newspaper, I created a system to automate the production of our college basketball brackets in print. One year prior, data journalist Aaron Bycoffe pointed out on Twitter that NCAA.com was using a nice, clean JSON feed to power its basketball bracket.

I resolved to write a script that could parse the feed, and output the content we needed for our bracket as InDesign tagged text. It took a lot of work to set up, but I succeeded. I remember that first Selection Sunday, breathing a sigh of relief that my code worked.

The college basketball bracket, as published in the St. Louis Post-Dispatch, in March 2017.

And for the next six or seven years, that’s how we made the bracket each year. Instead of teams of people typing in team names and records by hand, then double-checking it against the website, my script did all the work. But the nights were still stressful. Each year, I worried that the NCAA would change its JSON format, and I wouldn’t know for sure until they began updating the bracket. Thankfully, they really didn’t make any significant changes until 2022.

Each year, when March Madness would come up, I would think to myself: “I should find a way to make a college basketball bracket in ANSI for my BBS.” (As one does, right?)

But by the time I had that thought, it was already too late … the tourney was underway, and I didn’t have enough time to work on it. March was always a very busy time for me at the newspaper: I’d be producing our voters guide, preparing for live election night coverage, and finishing a bunch of other features that usually run in the spring.

But I finally broke the cycle in 2022. I remembered early enough to make a coding sprint, and “Bracket Browse” was born. It’s a BBS door that comes in two parts.

The first part is a Python script that fetches the latest tournament results from the NCAA on a regular schedule (every 15 minutes, to avoid hammering their site), simplifies the data, and saves it as a JSON file on my BBS server.

The second part is the door itself, written in Javascript, which runs on my BBS. It displays the bracket, puts the team names, seeds, and scores where they’re supposed to go, then scrolls the bracket in response to user input.

This screenshot show the East region portion of the 2024 NCAA Tournament bracket. Only 11 games within the bracket will fit on the screen.

Since I already knew how to parse the data, the main challenge was designing the ANSI bracket itself, figuring out the smallest I could make it, as well as working out the positioning on the screen for all the elements. This was tough because of the limited real estate of a standard terminal (80 characters across, and 24 lines down).

I ultimately landed on a solution similar to that used by the NCAA’s web designers: let the bracket overflow the screen, and require the user to scroll to see the overflowing parts.

Anyway, projects like this are always fun for me. I love finding ways to take modern data streams and make them work within the limitations of old terminals: few colors, low resolution, no mouse. It’s very satisfying when you can make it work.

If you’d like to see “Bracket Browse” in action, you can telnet to my BBS at guardian.synchro.net. Once you’re at the main menu, the following sequence will launch Bracket Browse:

  • Press [X] for “External Programs”
  • Press [2] for the “Information” category
  • Press [1] to launch “NCAA Bracket”

If you’d like to see the code, or install it on your own BBS, check out Bracket Browse repo.

Who needs SVG when you’ve got ANSI?

Presidential election years are great times to work at a news organization. As a designer at a newspaper, I love to explore the cool election maps developed by folks at places like the New York Times or the Guardian.

FiveThirtyEight's Election Forecast map

My favorite is probably the 2016 Election Forecast from FiveThirtyEight.com, which is full of cool visualizations, and great analysis.

The explosion of great apps like this is made possible by modern libraries like D3.js, and formats like SVG. But what if you took away all the visual horsepower?

What would a retro BBS version of such an app look like, with all the inherent limitations of an ancient terminal: few colors (16, with caveats), low resolution (80×24), etc ?

Continue reading

Introducing our first special collection: Door World Magazine

Today I’m adding a new section of special collections to Break Into Chat. These are going to be small, targeted collections unique to this website.

The first such collection is Door World Magazine, a monthly online magazine about BBS door games, which was published from 1995-96 by RoAnn Vecchia and Dave Wendling of the N.U.G.I. ConSorTium.

Continue reading

Jewels, bats, and balls

A mockup showing how the NBA standings might look in Sports Stats.

A mockup showing how the NBA standings might look in Sports Stats.

Last year I was studying BBS doors. This year I’ve started writing some!

I have two percolating right now:

  • “Jewel Mountain,” a game I’m making with my daughter. Progress has been slow because we still haven’t worked out exactly what the game mechanic should be.
  • “Sports Stats,” an informational door that will give live standings and scores. We are St. Louis Cardinals and San Antonio Spurs fans at my house, and my daughter always checks results from the previous night in the morning newspaper. So I figured why not bring that to our little BBS?

I would not have embarked on these projects if not for the fact that Synchronet BBS supports Javascript, which I use a lot at work. The main learning curve is dealing with the console: outputting ANSI colors and characters. I’m also learning about frames and sprites and things.

I have made good progress on Sports Stats, and I hope it might become a door I can release for other sysops who might want it.

Jewel Mountain will likely remain just our private little experiment. But if somehow we manage to make something playable, then we’ll release it too.

My daughter dreams of people sending in registrations like the BBS days of yore, but I had to bring her back down to earth and tell her it’s highly unlikely.

I’ve also been more of a sysop lately, customizing the BBS. I have been created more ANSIs for different occasions: Valentine’s Day, etc. I made one of Kirk and Spock looking at the Guardian of Forever to use with the login matrix mod from Digital Distortion. Of course I make liberal use of Photoshop, then ANSIrez to convert an image to ANSI, and PabloDraw to clean and refine the ANSI.

I also have a number of BiC projects underway:

  • Interviews
  • Adding game articles to the wiki, plus game downloads
  • A series on custom front-end terminals
  • The release of old issues of “Door World Magazine” reformatted for the web.

And more. But there a lot of pots on the stove. I need to get cooking!