Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

My ultra-geeky childhood programming story:When I was a small child in the 80s, we had two computers in the house.

Uncategorized
8 3 9
  • My ultra-geeky childhood programming story:

    When I was a small child in the 80s, we had two computers in the house. One was the usual kind of 'your child can learn to program on this!' 80s home computer, in our case a ZX Spectrum. And I did learn to program on it. But the other one was the interesting one.

    My dad worked for DEC, and had brought home a DEC Robin. (I think officially a VT180? But Dad always used the internal codename.) He would use it to work from home, by dialling the office on the phone, and running a VMS shell session directly over a 1980s modem. I'd sometimes sit and watch him work, and of course not understand very much.

    When Dad wasn't using the Robin, I was allowed to have a go on it. It ran CP/M-80, and had a BASIC interpreter called MBASIC. So I learned that dialect in parallel with Spectrum BASIC.

    On the Spectrum, my toy programs would often use the Spectrum's graphics, to draw pictures or weird interference patterns or whatever. But the Robin only had a text mode (or at least, if it did have graphics, I never found them). What would be fun for a child to do on that?

    (1/4)

  • My ultra-geeky childhood programming story:

    When I was a small child in the 80s, we had two computers in the house. One was the usual kind of 'your child can learn to program on this!' 80s home computer, in our case a ZX Spectrum. And I did learn to program on it. But the other one was the interesting one.

    My dad worked for DEC, and had brought home a DEC Robin. (I think officially a VT180? But Dad always used the internal codename.) He would use it to work from home, by dialling the office on the phone, and running a VMS shell session directly over a 1980s modem. I'd sometimes sit and watch him work, and of course not understand very much.

    When Dad wasn't using the Robin, I was allowed to have a go on it. It ran CP/M-80, and had a BASIC interpreter called MBASIC. So I learned that dialect in parallel with Spectrum BASIC.

    On the Spectrum, my toy programs would often use the Spectrum's graphics, to draw pictures or weird interference patterns or whatever. But the Robin only had a text mode (or at least, if it did have graphics, I never found them). What would be fun for a child to do on that?

    (1/4)

    My main programming project on the DEC Robin was to write, in MBASIC, an imitation of the entire computing environment that Dad interacted with when he dialled in to the office with the modem.

    I wrote programs that mimicked the whole login sequence (modem → some kind of dispatch server asking which machine to connect to → VMS login → DCL prompt). At my toy DCL prompt, not many commands would work, but I wrote imitations of all the ones I saw Dad use most often. Several of those fed on to subsidiary command-line interfaces, because VMS was big on that kind of thing. In each of those, I'd imitate the most common commands I saw Dad use within that sub-environment, presenting plausible data dumps for query commands, and giving plausible acknowledgments for commands that were supposed to do things.

    I don't remember what all those environments were. Some were certainly standard VMS tools (I remember "NCP" in particular), but I'm pretty sure some were local tools developed by Dad's particular team, like their build system. So it wasn't a fake VMS in general; it was a fake of Dad's specific setup.

    My most sophisticated program in the suite – probably when I was a bit older, not long before we got rid of the Robin completely – was a more or less working 'word processor' (really, text editor with pretensions), invoked by the command 'wps'. I wasn't able to make it do full-screen display, because I didn't know how to do that on the Robin. So it only used the top line of the screen. But within that line it could edit, and I just about got search and replace working.

    (2/4)

  • My main programming project on the DEC Robin was to write, in MBASIC, an imitation of the entire computing environment that Dad interacted with when he dialled in to the office with the modem.

    I wrote programs that mimicked the whole login sequence (modem → some kind of dispatch server asking which machine to connect to → VMS login → DCL prompt). At my toy DCL prompt, not many commands would work, but I wrote imitations of all the ones I saw Dad use most often. Several of those fed on to subsidiary command-line interfaces, because VMS was big on that kind of thing. In each of those, I'd imitate the most common commands I saw Dad use within that sub-environment, presenting plausible data dumps for query commands, and giving plausible acknowledgments for commands that were supposed to do things.

    I don't remember what all those environments were. Some were certainly standard VMS tools (I remember "NCP" in particular), but I'm pretty sure some were local tools developed by Dad's particular team, like their build system. So it wasn't a fake VMS in general; it was a fake of Dad's specific setup.

    My most sophisticated program in the suite – probably when I was a bit older, not long before we got rid of the Robin completely – was a more or less working 'word processor' (really, text editor with pretensions), invoked by the command 'wps'. I wasn't able to make it do full-screen display, because I didn't know how to do that on the Robin. So it only used the top line of the screen. But within that line it could edit, and I just about got search and replace working.

    (2/4)

    I was unsatisfied with how text was printed. When I used the MBASIC "print" command, the whole line of text I printed would appear on the screen at once. But when Dad worked over the modem, text would appear one character at a time. So I arranged for my imitation DEC work environment to print one character at a time too, and tuned the delay loop until it was printing at about the right speed.

    I remember that I had the idea that printing one character at a time was _better_. I didn't see the slow printing as a flaw that I was faithfully imitating: rather, printing one character at a time was more like how _grown-ups_ used computers, as I saw it. I had the vague and confused idea that when I was grown up, _I'd_ use systems that did it that way too.

    (I just now wrote a similar delayed-print function, and tuned it until it matched the printing speed I vaguely remembered from being 7. It turned out that speed corresponds pretty closely to 1200 baud, so I guess that's what Dad's modem must have been at the time.)

    (3/4)

  • I was unsatisfied with how text was printed. When I used the MBASIC "print" command, the whole line of text I printed would appear on the screen at once. But when Dad worked over the modem, text would appear one character at a time. So I arranged for my imitation DEC work environment to print one character at a time too, and tuned the delay loop until it was printing at about the right speed.

    I remember that I had the idea that printing one character at a time was _better_. I didn't see the slow printing as a flaw that I was faithfully imitating: rather, printing one character at a time was more like how _grown-ups_ used computers, as I saw it. I had the vague and confused idea that when I was grown up, _I'd_ use systems that did it that way too.

    (I just now wrote a similar delayed-print function, and tuned it until it matched the printing speed I vaguely remembered from being 7. It turned out that speed corresponds pretty closely to 1200 baud, so I guess that's what Dad's modem must have been at the time.)

    (3/4)

    From one point of view this sounds like about the geekiest thing ever. But I think on its own terms it makes perfect sense.

    It's very natural for children to mimic what adults do in general. Many children's toys are sold for just this purpose, e.g. toy doctor and nurse outfits, and props like toy stethoscopes, to play at being medical professionals. And if the capitalist economy won't sell you the props for whatever game of that kind you want to play, children are also perfectly capable of making their own.

    But to mimic what my father did, I didn't need physical toys, because I could use the actual same computer he used. Only the _software_ toys were missing – so that was what I had to make myself.

    Even that weird idea that printing your text _fast_ is some kind of childish thing that you put away when you're grown up. There _are_ a lot of situations where adults take longer to do a thing, because they have to take account of stuff that children don't yet have to worry about. (Like, a child can just run out of the house any time, but an adult has to go round making sure the doors and windows are locked.) Doing things the simple and quick way _can_ be an aspect of childish naïveté!

    Of all the code I've ever written in my life and lost, this suite of toy VMS simulations is perhaps the thing I'm most sad about. If I could go back in time and snag a copy off my floppy disk, I'd have great fun going through it all again and reminding myself of the bits I've forgotten.

    (4/4)

  • From one point of view this sounds like about the geekiest thing ever. But I think on its own terms it makes perfect sense.

    It's very natural for children to mimic what adults do in general. Many children's toys are sold for just this purpose, e.g. toy doctor and nurse outfits, and props like toy stethoscopes, to play at being medical professionals. And if the capitalist economy won't sell you the props for whatever game of that kind you want to play, children are also perfectly capable of making their own.

    But to mimic what my father did, I didn't need physical toys, because I could use the actual same computer he used. Only the _software_ toys were missing – so that was what I had to make myself.

    Even that weird idea that printing your text _fast_ is some kind of childish thing that you put away when you're grown up. There _are_ a lot of situations where adults take longer to do a thing, because they have to take account of stuff that children don't yet have to worry about. (Like, a child can just run out of the house any time, but an adult has to go round making sure the doors and windows are locked.) Doing things the simple and quick way _can_ be an aspect of childish naïveté!

    Of all the code I've ever written in my life and lost, this suite of toy VMS simulations is perhaps the thing I'm most sad about. If I could go back in time and snag a copy off my floppy disk, I'd have great fun going through it all again and reminding myself of the bits I've forgotten.

    (4/4)

    @simontatham great story! that's some amazing hardware and playground you had right there in the speccy. but sounds like it somehow was slightly less interesting, because the grownups did not use it.

  • @simontatham great story! that's some amazing hardware and playground you had right there in the speccy. but sounds like it somehow was slightly less interesting, because the grownups did not use it.

    @quite oh, I have many fond memories of the Speccy too, and will still defend it from criticism by fans of the other 80s micros! But yes, there was definitely _something_ special about the "more grown-up" computer.

  • From one point of view this sounds like about the geekiest thing ever. But I think on its own terms it makes perfect sense.

    It's very natural for children to mimic what adults do in general. Many children's toys are sold for just this purpose, e.g. toy doctor and nurse outfits, and props like toy stethoscopes, to play at being medical professionals. And if the capitalist economy won't sell you the props for whatever game of that kind you want to play, children are also perfectly capable of making their own.

    But to mimic what my father did, I didn't need physical toys, because I could use the actual same computer he used. Only the _software_ toys were missing – so that was what I had to make myself.

    Even that weird idea that printing your text _fast_ is some kind of childish thing that you put away when you're grown up. There _are_ a lot of situations where adults take longer to do a thing, because they have to take account of stuff that children don't yet have to worry about. (Like, a child can just run out of the house any time, but an adult has to go round making sure the doors and windows are locked.) Doing things the simple and quick way _can_ be an aspect of childish naïveté!

    Of all the code I've ever written in my life and lost, this suite of toy VMS simulations is perhaps the thing I'm most sad about. If I could go back in time and snag a copy off my floppy disk, I'd have great fun going through it all again and reminding myself of the bits I've forgotten.

    (4/4)

    @simontatham the MS word developers apparently agree with you because when we moved to 365 at work it started *animating* the text display :/

  • @simontatham the MS word developers apparently agree with you because when we moved to 365 at work it started *animating* the text display :/

    @fishidwardrobe the parallel hadn't struck me, but perhaps the modern analogue of "slow because you're doing it over a modem" is "slow because it's running in a browser rather than natively, and the cloud provider has downloaded a metric ton of Javascript bloatware to your tab".

    In my office we have one slightly spreadsheet-shaped tool which is just _unforgivably_ slow to respond. You move the cursor into a cell, start typing, and half a second later the spreadsheet finishes processing the cursor-move event and resets the field to empty, losing the first half of what you'd already typed. Ugh. If I wrote that in plain JS I'd struggle to make it that slow on purpose. It must be because the real version is built out of loosely bolted-together third-party libraries none of which is really suited for the job it's doing.

    Then again, it sounds as if in your case the animation is deliberate, rather than just a consequence of terrible performance!

  • Oblomovundefined Oblomov shared this topic on

Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
  • Next Spritely office hours!

    Uncategorized
    1
    0 Votes
    1 Posts
    0 Views
    Next Spritely office hours! Today! At 2 PM EDT (6 PM UTC)! https://community.spritely.institute/t/next-office-hours-on-10-29/772Cya there!
  • 0 Votes
    1 Posts
    0 Views
    Cybersecurity. Quattro bandi UE da 50 milioni di euro, anche per cavi sottomarini@informaticaI nuovi bandi europei sulla cybersecurity La Commissione europea lancia quattro nuovi bandi dedicati alla cybersecurity, con un investimento complessivo di oltre 50 milioni di euro nell’ambito del Programma Europa Digitale (Digital Europe
  • 0 Votes
    1 Posts
    0 Views
    Mentre davanti al #Venezuela si sta schierando una flotta di navi da guerra statunitensi. #Brasile, un’operazione della polizia a #RiodeJaneiro causa almeno 64 morti - Internazionale https://www.internazionale.it/ultime-notizie/2025/10/29/brasile-operazione-polizia-rio-de-janeiro-vittime @attualita #warondrugs #narcos
  • 0 Votes
    2 Posts
    0 Views
    @videogiochi per chi ne fosse interessato aggiungo una recensione di IGN:https://it.ign.com/simon-the-sorcerer-origins/221679/review/simon-the-sorcerer-origins-la-recensioneIn generale, come detto, Smallthing Studios ha rispettato lo spirito della serie e realizzato un'esperienza divertente, nella sua irriverenza, senza per questo lasciare indietro la sfida. Anzi, è ben chiaro a chi intende rivolgersi il gioco e non è proprio a un pubblico casual, oppure moderno che dir si voglia: Simon the Sorcerer Origins mantiene le spigolature tipiche dei punta e clicca del loro tempo, e in alcuni casi pecca di poca chiarezza spingendo spesso al classico approccio del "le provo tutte, prima o poi otterrò qualcosa" (c'è persino un trofeo dedicato). Passata la prima ora in cui capiamo le meccaniche di base, il gioco aumenta il proprio picco di difficoltà: i fattori sono molteplici e com'è tipico di queste avventure, occorre pensare tantissimo fuori dagli schemi per raggiungere la soluzione, sebbene non si arrivi alle follie tipiche di Monkey Island (il pollo con la carrucola vi dice qualcosa?).Questo implica, come già accennato, che i veterani del genere avranno pochi problemi ad adottare il giusto approccio, mentre le nuove leve potrebbero riscontrare qualche difficoltà soprattutto a fronte della totale mancanza di aiuti da parte del gioco. Non tutte le azioni sono immediate come appaiono, o come forse potrebbero anche essere dopo trent'anni senza per questo piallare il livello di complessità; ad esempio, è frequente la necessità di interagire più volte con un personaggio per scucirgli le informazioni, o portare avanti il dialogo, anche quando lui stesso si è offerto di aiutarci esortandoci a fargli domande - anziché proseguire, la conversazione si interrompe e noi dobbiamo insistere affinché si apra il ventaglio di richieste che gli possiamo fare.