[HN Gopher] Show HN: We built a terminal-only Bluesky / AT Proto...
___________________________________________________________________
Show HN: We built a terminal-only Bluesky / AT Proto client written
in Fortran
Yes, that Fortran.
Author : FormerLabFred
Score : 130 points
Date : 2026-03-20 22:06 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| cat-turner wrote:
| out of curiosity, why fortran? no disrespect. I wrote a lot of
| scientific software in the earlier days of my career and I
| learned fortran to update ocean modeling software.
| pklausler wrote:
| maybe they weren't really concerned about portability or a
| decent standard?
| FormerLabFred wrote:
| It's keyboard navigation only, and we got the Bluesky
| firehose raw straight into the Rust decoder. Or we switch
| mode to Jetstream with m+EnTER :)
|
| You hit l+ENTER to like a post. If anyone replies from
| Bluesky, we hit n+ENTER and see the notifs. And so on
|
| Fortransky is 70% Fortran, rest is Rust, C and a tiny Python
| helper
| enriquto wrote:
| > why fortran?
|
| why not? the language is straightforward and loops are fast. It
| is portable and your code will work unchanged for the next 50
| years. It may be a bit verbose, but that's not a big deal with
| today's tooling.
| FormerLabFred wrote:
| Fortran will survive the cockroaches even, when the world
| 404s
| pklausler wrote:
| Your code will work unchanged until you try to change
| compilers or your compiler adopts a J3 breaking change to the
| language.
| kergonath wrote:
| > your compiler adopts a J3 breaking change to the language
|
| Like all the 3 of them they added in the last 30 years, and
| that compiler vendors are not enforcing anyway because they
| don't want to annoy their users?
|
| Windows' backward compatibility is a joke compared to
| Fortran.
| deadbabe wrote:
| Great, can we see some benchmarks?
| FormerLabFred wrote:
| Cobolsky holds the record for most surprised looks per line
| of code :)
|
| Fortransky benchmarks pending
|
| the feed scorer will have real numbers worth reporting
|
| Whenever time allows in future: Fortran vs Go vs Python
| foxglacier wrote:
| Yea na, Fortran is pretty compiler dependent and there are a
| lot of compilers. Already old Fortran code used all sorts of
| now-dead proprietary compilers and can take a huge effort to
| get it to compile on modern compilers or even modern
| computers. Modern code might use Gfortran which sometimes
| makes breaking changes so that's not an option. Perhaps if
| everyone uses the latest shiny new Flang or whatever, then
| it'll finally last 50 years? Not likely, given the history.
| FormerLabFred wrote:
| You are not the first one to ask :)
|
| We built Cobolsky. Will go public soon. Parallelly too curious
| on Fortran. The world is better with a Fortran-based social
| network client in it :)
|
| When we are building the feed composer, in next version,
| Fortran will be great for the algorithm etc.
|
| Keeping the ancient languages alive. I built some Cobol stuff
| many years ago. Back at it again. Rusty.
|
| Both Cobolsky and Fortransky looks great on Swordfish90's cool-
| retro-term, but we are building our own terminal for Fortransky
| too. There is a blog post with screenshots over at
| Patreon/formerlab
|
| Can't get enough Fortran
| embedding-shape wrote:
| > The world is better with a Fortran-based social network
| client in it
|
| If you don't mind me asking, why is the world better with
| more Fortran-based software?
| FormerLabFred wrote:
| Our modern languages are built on it, and it's incredibly
| fast,
|
| so it deserves to be kept alive. We owe a great deal to the
| people who wrote it in the 1950s I guess
| embedding-shape wrote:
| > Our modern languages are built on it
|
| It's part of the lineage, yeah, probably started with
| Algol though? Fast I guess is always nice, but I'm not
| sure that's enough to keep it alive solely for that, at
| least to me.
| mathieudombrock wrote:
| I think the best answer you're really going to get here
| is that it's cool and fun to learn and use old languages.
| embedding-shape wrote:
| I'd agree with all of those reasons! I do so myself as
| well, was just specifically curious about the "The world
| is better with a Fortran-based social network client in
| it" part. Don't get me wrong, I've spent too many nights
| learning "dead" languages too, but never with the idea
| that the world would be better if I published more code
| in these dead languages, it's just for my own
| gratification and learnings.
| mountainriver wrote:
| This thread makes me happy
| johnisgood wrote:
| I know right! I was pleasantly surprised. It has to be
| one of the greatest news I have heard in a while.
| hedora wrote:
| I came here to suggest COBOL as a better fit, then saw
| your comment a few levels up in this thread.
|
| Out of curiosity, does your implementation use CODASYL?
|
| (For people that don't pay much attention to historical
| software systems, most CODASYL implementations were
| similar to JSON document databases, so going that way
| isn't as crazy as it sounds.)
| FormerLabFred wrote:
| Great comment! Thanks!
|
| No CODASYL, the JSON parser is hand-rolled Fortran with a
| depth-tracking key scanner
|
| CODASYL not a crazy direction for the feed composer
|
| Got more depth to explore here, still early :)
| Melatonic wrote:
| How do COBOL and Fortran compare for something like this ?
| FormerLabFred wrote:
| COBOL is more painful, Fortran better.
|
| Good you raised the topic, can write a blog post on it when
| we ship Cobolsky. Will be a proof of concept repo.
| Fortransky is the one
|
| (If AT Proto did fixed-width records instead of JSON, COBOL
| would be formidable)
| bee_rider wrote:
| Which version of the language is it? It looks like you used
| Fortran90 at least (modules are used), which is pretty old,
| but not totally ancient like Fortran77.
|
| Anyway there are also 2018 and 2023 versions...
| fortran77 wrote:
| I still make a living from Fortran77 work, though much of
| it is converting it to Matlab.
| bee_rider wrote:
| Building interfaces or full converting? Either way sounds
| like a dream job, haha.
| johnisgood wrote:
| Thank you for choosing Fortran. Seriously, I mean it.
|
| Someone else already said this, but it is awesome because it
| proves that you can write useful software using languages
| others consider ancient or dead and therefore "unusable".
|
| Keep up the great work!
| blundergoat wrote:
| fortran > cobol
| pklausler wrote:
| fortran .GT. cobol
| FormerLabFred wrote:
| > forever
| uberdru wrote:
| The world is a better place for this app. Wonderful!
| FormerLabFred wrote:
| :) I mean there are still some people alive out there who never
| saw a web UI when beginning dev. They get a bit nostalgic,
| missing their 286
|
| It's fun and it is appreciated by them, and the young ones who
| are curious
| hk1337 wrote:
| Are there any other AT protocol apps that aren't derivatives of
| bluesky? By that I mean, not social media feed related, twitter
| clone.
| iameli wrote:
| Yep lots! Mine is a livestreaming service: https://stream.place
|
| Also a great blogging platform: https://leaflet.pub
|
| Here's a goal tracker: https://goals.garden
|
| This one just dropped recently; it's 44 different atproto-
| related apps with a cyberpunk theme:
| https://www.aetheros.computer/
|
| Lots others mentioned here: https://blueskydirectory.com/
| FormerLabFred wrote:
| AT conference in a couple of days. In Vancouver. Bet they are
| all there and the rest of the AT bunch.
| FormerLabFred wrote:
| Don't know if people are building GitHub-like systems, offline-
| first app sync etc
|
| Many devs reuse schema and write some twitter/bsky clone
|
| Kind of search engine for my Blueaky likes
|
| Gotta get off the timeline, germ has a messaging app, then
| there is Tangled and some more
|
| We do Fortransky and Cobolsky now, got more ideas for the
| protocol than time :)
| linolevan wrote:
| https://tangled.org/ <--- GitHub on ATProto
|
| that's all I'm aware of
|
| (edit) Oops, just saw that you mentioned it, confused by your
| first line then. Tangled is awesome!
| tjuene wrote:
| i am currently working on a dropbox alternative:
| https://dropb.at
| Hamuko wrote:
| How do you plan on differentiating it from just a trivial
| setup of an FTP account that's mounted locally with curlftpfs
| and has files in a SVN or CVS on the mounted filesystem?
| tjuene wrote:
| good point, i havent considered this at all. its basically
| dead on arrival
| FormerLabFred wrote:
| Cool!
| h4ch1 wrote:
| It's always nice to see production codebases in languages that
| you've never used but are interested in.
|
| Tangential, but to the author, are there any FORTRAN codebases
| you feel are well designed?
| FormerLabFred wrote:
| Good reminder to dig around. Will check. We picked up the
| Fortran manual and just went for it.
|
| The original Manual exists as a PDF. Was it in a Stuttgart uni
| URL? Just a search away.
|
| Late in Sweden, gotta Fortran tomorrow. Happy to continue
| discussion here tomorrow.
| nerdypepper wrote:
| y'all gotta throw this up on https://tangled.org ;)
| FormerLabFred wrote:
| On it!
| zoom6628 wrote:
| Brilliant in every possible way. Fortran was first language I
| learnt at high school in its "PORTRAN" variant.
| FormerLabFred wrote:
| :) We tried Abacus Fortran on the C64 back in the days and were
| allowed to stay indoors during breaks doing Basic stuff too on
| school computer.
|
| One of the guys wrote 8xxROM some 10 years later.
|
| Today known as U-Boot :)
| isodev wrote:
| On ATProto: it's funny how we never learn the lesson:
|
| - VCs band together to fund something shiny.
|
| - Devs love shiny, helping spread the something.
|
| - VCs enschitify it to get their coins back.
| FormerLabFred wrote:
| VC is Fortransky no-go zone
| Ashkaan wrote:
| Oh this is cool
| youhai wrote:
| From my experience building browser automation tools, the biggest
| challenge with most Chromium-based solutions is that their TLS
| fingerprint is a dead giveaway. Firefox-based approaches tend to
| fare much better against JA3/JA4 fingerprinting.
|
| The key insight is moving fingerprint spoofing from the JS level
| (which is itself detectable) down to the native C++ level. It's a
| fundamentally different approach.
| FormerLabFred wrote:
| Multiple tabs open? :)
| kgwxd wrote:
| Just spam.
| arunakt wrote:
| thats COBOL :)
| lzhgusapp wrote:
| Love seeing niche Show HN projects like this. The choice of
| Fortran is wild but that's what makes it fun. As someone building
| small Mac utilities, I appreciate any project that proves you
| don't need a massive stack to ship something useful.
| FormerLabFred wrote:
| Thanks for the feedback!
|
| We got a spec for Assemblersky. Will be a weekend project.
| Cancel Easter :) And probably Midsummer too...
|
| We got image composer and decoder plugged in in dev env, but
| will let this first open version breathe first. ASCII or early
| Apple algo
|
| Fortran-fast feed builder probably in next open version. It
| crunches fast
|
| Morning, 9 o'clock in Sweden, coffee and check-the-feed-on-
| Fortransky-time :)
| bombcar wrote:
| COBOLsky. It's enterprise webscale.
| vincentabolarin wrote:
| 'written in Fortran'.
|
| Interesting choice. Why?
| worldmerge wrote:
| I've never seen fortran before. Wow, that looks more readable
| than a lot of modern languages.
| cmrdporcupine wrote:
| Modern dialects of Fortran, sure.
|
| Old school Fortran from before they added cleaner and more
| structured elements is terrifying.
| bee_rider wrote:
| Modern versions of Fortran are reasonably pretty.
|
| It's a fairly nice language. You can probably get better
| performance out of C/C++ with unlimited effort. But, it is
| _really nice_ for allowing computational scientists to get,
| like, 95% of the way there.
|
| I think it actually suffers from the reputation as this
| ancient/super hardcore performance language. The name comes
| from "Formula Translating System," which implies... it was
| written for people who speak human languages first!
| sitzkrieg wrote:
| ive maintained a simulation software where the core is
| written in fortran. its using some intel math library that is
| expensive that i cannot recall, does immense calculations and
| makes faster binaries than c on every compiler we tried
| bee_rider wrote:
| Interesting.
|
| MKL is Intel's famous numerical library (it includes things
| like BLAS "basic linear algebra subroutines" and fast
| Fourier transforms). It is availible for free, but IIRC
| they had some support plans maybe, maybe that's what you
| are remembering?
|
| It is closed source, but you can look at the source of the
| best open source competitor libflame/BLIS, and see that
| most of the performance comes from C and assembly.
|
| It is difficult to beat "unlimited effort" C, but not many
| program really justify that treatment.
| foxglacier wrote:
| MKL used to not be free. You had to buy it from a local
| reseller for a few hundred dollars per developer.
| extraduder_ire wrote:
| Have you tried using the restrict keyword everywhere you
| can in c?
|
| In Fortran, arrays are not allowed to overlap which allows
| some optimisations. c has rules in the spec about how
| memory accesses must occur, and overlapping arrays being
| possible prevents some compiler optimisations. The restrict
| keyword is you promising that the memory at some pointer
| won't be accessed through another pointer.
|
| You can compare two implementations in Fortran/c using
| godbolt to see how each of them compile.
| grougnax wrote:
| Why not Rust ?
| jrmg wrote:
| There seems to be a bunch of Rust in there too?
| FormerLabFred wrote:
| It's early version yes. It's 70% Fortran, next version more
| Fortran and we will add x86-64 assembly decoder for AT Proto
| firehose frames
| jrmg wrote:
| It seems you've written an extensive blog post about this, but I
| don't see a direct link anywhere!
|
| https://www.patreon.com/posts/fortransky-we-in-153457794
| FormerLabFred wrote:
| To the repo? It's in the blog post head, in section under first
| screenshot,
|
| https://github.com/FormerLab/fortransky
| jrmg wrote:
| No, I mean the other direction.
|
| The repo is what's this HN post links to, and I don't see a
| link to the blog post in it or in other comments here. The
| blog post is interesting!
| FormerLabFred wrote:
| Ok got you. Good point, added to repo README
| fortran77 wrote:
| Finally! Some relevant news here. I wondered where all the other
| Fortran people were hiding. I thought I knew all the other
| BlueSky Fortraners.
| Uptrenda wrote:
| Whenever I hear about this AT protocol I think about the text-
| based commands to control cellular modems. I can't be the only
| one, r-right guise... r-right?
| FormerLabFred wrote:
| Forecast: Fortransky on Tangled tomorrow Sunday
| vissnia wrote:
| I'm curious if you used AI during development and how it handled
| Fortran
___________________________________________________________________
(page generated 2026-03-21 23:01 UTC)