#FORTRAN

2025-11-26

For many years, I had been talking, somewhat quietly, about mixing various languages within a single project. I finally worked up the courage to add that to my #Fortran modernisation proposal—but still somewhat quietly, at the very end of the article.😀

"subversion and sedition—Right so, I now divulge my most subversive idea regarding #programming language #syntax: every programmer on every project ought to be free to choose the syntax he favours."

And I went on to tear open Pandora's Box.

amenzwa.github.io/stem/PL/Fort

Andrew Jones (hpcnotes)hpcnotes@mast.hpc.social
2025-11-26

Can you claim to be a real #HPC software engineer if you've never coded with at least 2 of #Fortran, #MPI, #OpenMP, or #CUDA?

Can you claim to be a modern #supercomputing scientist if you've never worked with at least 2 of #cloud, #AI/#ML, #FP16, or #RSEs?

Aetherius Eldritch ⛤🧙‍♂️🎙️📻MDT@mast.lat
2025-11-25

#datocurioso
El primer lenguaje de programación de alto nivel que se implementó en una computadora en funcionamiento fue el Fortran (Formula Translation), desarrollado por John Backus y su equipo en IBM en 1957. Fortran fue diseñado para cálculos científicos y matemáticos, y sigue en uso en la actualidad.

¿Lo sabias?

#Historia #Programacion #Informatica #Tecnologia #Fortran #IBM

2025-11-25

@alter_kaker Bonkers only until you try to access the bytes making up an INTEGER in #Fortran (possible, but better don't read up on TRANSFER to keep your sanity).

Although I would like to get #musicn running under #IBSYS at some point, and it would be an amazing project to reconstruct the #FORTRAN monitor, for now I'm going to stick with #CTSS. Unfortunately this means using the CTSS system libraries, for which the documentation is shockingly bad.

There is some surviving contemporary source code out there for reference, but also the FORTRAN and #MAD equivalent versions of what I want to do are very well documented, and it's possible to translate either of those to FAP assembly language, so probably my best bet is to go down that route and see what the assembly looks like. Once I have that I think I'm very close to having a working #musicn sequencer.

Moving back onto my #Fediverse projects for a week tomorrow, and then an offline week, but hopefully we'll have some audio output by December 7th.

3/3

#retrocomputing #synthesizers

I don't think that the stand-alone version of the #FORTRAN monitor has survived - it's definitely not prominent on the internet, but #IBSYS does, including the FORTRAN subsystem. There may be a small chance that the stand-alone version could be reconstructed from this - I don't know how much the two versions had in common. One nice thing is that there's a lot of surviving documentation on the FORTRAN II system, including detailed operations manuals. These definitely include information on how to rebuild system tapes.

As an aside, although we now think of FORTRAN as a programming language, in the 1950s and 60s it seems to have been considered more of a complete programming environment and runtime, hence why it had its own monitor, and why the assembler is called the FORTRAN Assembly Program (FAP).

2/n

#retrocomputing

Having done a bit more reading, I think the status of using punched cards for program data was very much tied to the evolution of operating systems for the #IBM7094 and related machines. I get the impression that punched cards were very much an #IBM thing, users never really liked using them, and that people abandonded them as soon as they could. I don't think they scaled well with more complex site operations and/or faster machines.

#FORTRAN II was released in 1958. It definitely eventually had a stand-alone monitor program (essentially an OS), and I have no reason not to believe it was available from the start, so I suspect this is how Mathews would have at least started work on #musicn. The FORTRAN monitor has clear support for data cards - there's a job control command to mark the start of data sections and the I/O library has support for on-line card reading.

By the time you get to 1960, #IBSYS (a later IBM operating system) has been released. This encapsulates the FORTRAN monitor, but the documentation is clear that on-line card reading via the FORTRAN I/O libraries is not available under IBSYS. It's likely that there are other libraries which do support it, but presumably this would require user code changes. I think sites were starting to switch to off-line translation of cards to magnetic tape by then anyway, although I'm not sure exactly how that would have affected programming.

By the time you get to #CTSS end users are at least strongly encouraged to use the disk filesystem for on-line applications, with operators copying disk files to and from cards or tapes in batch jobs as required. The CTSS system libraries have routines for using disk files as virtual tapes. CTSS was 1961, so I find it really impressive that this transition happened over only three years.

1/n

#retrocomputing #synthesizers

2025-11-16

An MLIR pipeline for offloading Fortran to FPGAs via OpenMP

#OpenMP #FPGA #Fortran #Package

hgpu.org/?p=30356

Lord Doctor Olle Wollej@hachyderm.io
2025-11-14

It is finished! It took me about two months, but I’ve finally completed the build of my Nerdy Gurdy Fortran. I just need to glue two string supports that are just held down by string pressure at the moment.

I haven’t tried it yet, as I don’t have any rosin or cotton. Hopefully I can get some tomorrow.

#HurdyGurdy #NerdyGurdy #Fortran #DIY #build #making #3DPrinting #LaserCut

Photo of a hurdy gurdy with strings attached.
2025-11-14

On other hand, we have probably been lucky they didn’t know about #M4. #yaml #json #Python #Fortran

2025-11-14

I hate #yaml. Whoever invented it should be sentenced for human rights violations.

Standardizing comments for #json so all parsers and generators can use it would have been better.

#Python is bad enough for using indentation for structure, like #Fortran.

2025-11-13

@screwlisp @AmenZwa to be fair, there are people who can write #FORTRAN in almost any language. I've known people write idiomatic FORTRAN in #Lisp.

Stewart Russellscruss@xoxo.zone
2025-11-13

a very brief intro to programming mz2synth, a wavetable synthesizer programmed by an input image
#synth #python #fortran

scruss.com/blog/2025/11/12/mz2

Lord Doctor Olle Wollej@hachyderm.io
2025-11-11

I didn’t get to fasten the strings today. I decided to jump ahead and build the capos first. It feels like it makes sense to mount them before the strings. Now I just need to pre-drill holes for them and screw them in. After that it’s just adding the strings left. And for that I need to figure out how to wind the strings on the tuners. The manual doesn’t go into detail on how to add the strings unfortunately.

#HurdyGurdy #NerdyGurdy #Fortran #DIY #build #making #3DPrinting #LaserCutting

The assembled trompette capo.The drone capo ready to be assembled.
Lord Doctor Olle Wollej@hachyderm.io
2025-11-10

The hurdy gurdy is coming along nicely, it almost looks like a complete instrument now. I’ve finished the keys, the key box, and mounted the shaft and wheel. Next up is attaching all the strings.

#HurdyGurdy #NerdyGurdy #Fortran #DIY #build #making #3DPrinting #LaserCutting

Photo of the hurdy gurdy with an open key box showing all keys having tangents.Detail photo of the melody mutes at the end of the key box.Photo of the polished and assembled crank handle.Photo of the hurdy gurdy with the key box lid and wheel attached.
Stewart Russellscruss@xoxo.zone
2025-11-09

Synth with least intuitive user interface ever: MZ2SYNTH, inspired by Murzin's ANS synthesizer, that takes a 720 pixel high image file and models 720 oscillators spanning 10 octaves (!) as output from the input's RGBL values.

Oh, and it's written in Fortran.

github.com/frankenbeans/MZ2SYN

#synth #fortran

Lord Doctor Olle Wollej@hachyderm.io
2025-11-05

I’ve finished up to page 59 in the build manual. Which means I’m about two thirds finished. Today I attached the key box and 3D printed parts on to the top of the instrument body. I also started glueing together the keys and added rubber sleeves to the key pins.

The hurdy gurdy is really starting to come together now. Next up is ti build the keys, which will take some time.

#HurdyGurdy #NerdyGurdy #Fortran #DIY #build #making #3DPrinting #LaserCutting

Photo of the hurdy gurdy on its side witg glue clamps holding down the key box.Photo of ten keys each with a glue clamps holding down on it.Photo of a blue parts tray with lots of tiny plastic pins with rubber sleeves attached.
Lord Doctor Olle Wollej@hachyderm.io
2025-11-04

The hurdy gurdy is starting to take shape. Today I went through page 39 to 48 in the build manual and added lots of small bits to the body. I finally got to mount some of the 3D printed pieces.

The manual I had printed was missing a build step, luckily I also double checked on an up-to-date pdf. It would’ve become obvious later though, and I think it wouldn’t have been a problem to mount those pieces then.

#HurdyGurdy #NerdyGurdy #Fortran #DIY #build #making #3DPrinting #LaserCutting

Photo of the head with tuners and nuts mounted.Photo of the top of the body with several black 3D printed pieces mounted.Photo of the backside of the hurdy gurdy showing strap mounts and string mounts.Photo of the entire hurdy gurdy as it looks now with several 3D printed pieces mounted.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst