recentpopularlog in

robertogreco : commodore   2

The Jacob’s Ladder of coding — Medium
"Anecdotes and questions about climbing up and down the ladder of abstraction: Atari, ARM, demoscene, education, creative coding, community, seeking lightness, enlightenment & strange languages"



"With only an hour or two of computer time a week, our learning and progress was largely down to intensive trial & error, daily homework and learning to code and debug with only pencil and paper, whilst trying to be the machine yourself: Playing every step through in our heads (and on paper) over and over until we were confident, the code did as we’d expect, yet, often still failing because of wrong intuitions. Learning this analytical thinking is essential to successful debugging, even today, specifically in languages / environments where no GUI debugger is available. In the late 90s, John Maeda did similar exercises at MIT Media Lab, with students role-playing different parts of a CPU or a whole computer executing a simple process. Later at college, my own CS prof too would often quote Alan Perlis:
“To understand a program you must become both the machine and the program.” — Alan Perlis

Initially we’d only be using the machine largely to just verify our ideas prepared at home (spending the majority of the time typing in/correcting numbers from paper). Through this monastic style of working, we also learned the importance of having the right tools and balance of skills within the group and were responsible to create them ourselves in order to achieve our vision. This important lesson stayed with me throughout (maybe even became) my career so far… Most projects I worked on, especially in the past 15 years, almost exclusively relied on custom-made tooling, which was as much part of the final outcome as the main deliverable to clients. Often times it even was the main deliverable. On the other hand, I’ve also had to learn the hard way that being a largely self-sufficient generalist often is undesired in the modern workplace, which frequently still encourages narrow expertise above all else…

After a few months of convincing my parents to invest all of their saved up and invaluable West-german money to purchase a piece of “Power Without the Price” (a much beloved Atari 800XL) a year before the Wall came down in Berlin, I finally gained daily access to a computer, but was still in a similar situation as before: No more hard west money left to buy a tape nor disk drive from the Intershop, I wasn’t able to save any work (apart from creating paper copies) and so the Atari was largely kept switched on until November 10, 1989, the day after the Berlin Wall was opened and I could buy an XC-12 tape recorder. I too had to choose whether to go the usual route of working with the built-in BASIC language or stick with what I’d learned/taught myself so far, Assembly… In hindsight, am glad I chose the latter, since it proved to be far more useful and transportable knowledge, even today!"



"Lesson learned: Language skills, natural and coded ones, are gateways, opening paths not just for more expression, but also to paths in life.

As is the case today, so it was back then: People tend to organize around specific technological interests, languages and platforms and then stick with them for a long time, for better or worse. Over the years I’ve been part of many such tool-based communities (chronologically: Asm, C, TurboPascal, Director, JS, Flash, Java, Processing, Clojure) and have somewhat turned into a nomad, not being able to ever find a true home in most of them. This might sound judgemental and negative, but really isn’t meant to and these travels through the land of languages and toolkits has given me much food for thought. Having slowly climbed up the ladder of abstraction and spent many years both with low & high level languages, has shown me how much each side of the spectrum can inform and learn from the other (and they really should do more so!). It’s an experience I can highly recommend to anyone attempting to better understand these machines some of us are working with for many hours a day and which impact so much of all our lives. So am extremely grateful to all the kind souls & learning encountered on the way!"



"In the vastly larger open source creative computing demographic of today, the by far biggest groups are tight-knit communities around individual frameworks and languages. There is much these platforms have achieved in terms of output, increasing overall code literacy and turning thousands of people from mere computer users into authors. This is a feat not be underestimated and a Good Thing™! Yet my issue with this siloed general state of affairs is that, apart from a few notable exceptions (especially the more recent arrivals), there’s unfortunately a) not much cross-fertilizing with fundamentally different and/or new ideas in computing going on and b) over time only incremental progress is happening, business as usual, rather than a will to continuously challenge core assumptions among these largest communities about how we talk to machines and how we can do so better. I find it truly sad that many of these popular frameworks rely only on the same old imperative programming language family, philosophy and process, which has been pre-dominant and largely unchanged for the past 30+ years, and their communities also happily avoid or actively reject alternative solutions, which might require fundamental changes to their tools, but which actually could be more suitable and/or powerful to their aims and reach. Some of these platforms have become and act as institutions in their own right and as such also tend to espouse an inward looking approach & philosophy to further cement their status (as owners or pillars?) in their field. This often includes a no-skills-neccessary, we-cater-all-problems promise to their new users, with each community re-inventing the same old wheels in their own image along the way. It’s Not-Invented-Here on a community level: A reliance on insular support ecosystems, libraries & tooling is typical, reducing overall code re-use (at least between communities sharing the same underlying language) and increasing fragmentation. More often than not these platforms equate simplicity with ease (go watch Rich Hickey taking this argument eloquently apart!). The popular prioritization of no pre-requisite knowledge, super shallow learning curves and quick results eventually becomes the main obstacle to later achieve systemic changes, not just in these tools themselves, but also for (creative) coding as discipline at large. Bloatware emerges. Please do forgive if that all sounds harsh, but I simply do believe we can do better!

Every time I talk with others about this topic, I can’t help but think about Snow Crash’s idea of “Language is a virus”. I sometimes do wonder what makes us modern humans, especially those working with computing technology, so fundamentalist and brand-loyal to these often flawed platforms we happen to use? Is it really that we believe there’s no better way? Are we really always only pressed for time? Are we mostly content with Good Enough? Are we just doing what everyone else seems to be doing? Is it status anxiety, a feeling we have to use X to make a living? Are we afraid of unlearning? Is it that learning tech/coding is (still) too hard, too much of an effort, which can only be justified a few times per lifetime? For people who have been in the game long enough and maybe made a name for themselves in their community, is it pride, sentimentality or fear of becoming a complete beginner again? Is it maybe a sign that the way we teach computing and focus on concrete tools too early in order to obtain quick, unrealistically complex results, rather than fundamental (“boring”) knowledge, which is somewhat flawed? Is it our addiction to largely focus on things we can document/celebrate every minor learning step as an achievement in public? This is no stab at educators — much of this systemic behavior is driven by the sheer explosion of (too often similar) choices, demands made by students and policy makers. But I do think we should ask ourselves these questions more often."

[author's tweet: https://twitter.com/toxi/status/676578816572067840 ]
coding  via:tealtan  2015  abstraction  demoscene  education  creativecoding  math  mathematics  howwelearn  typography  design  dennocoil  alanperlis  johnmaeda  criticalthinking  analyticalthinking  basic  programming  assembly  hexcode  georgedyson  computing  computers  atari  amiga  commodore  sinclair  identity  opensource  insularity  simplicity  ease  language  languages  community  communities  processing  flexibility  unschooling  deschooling  pedagogy  teaching  howweteach  understanding  bottomup  topdown  karstenschmidt 
december 2015 by robertogreco
The Sixth Stage of Grief is Retro-Computing — The Message — Medium
"Imagine having, in your confused adolescence, the friendship of an older, avuncular man who is into computers, a world-traveling photographer who would occasionally head out to, like, videotape the Dalai Lama for a few weeks, then come back and and listen to every word you said while you sat on his porch. A generous, kind person who spoke openly about love and faith and treated people with respect."



"A year after the Amiga showed up—I was 13—my life started to go backwards. Not forever, just for a while. My dad left, money was tight. My clothes were the ones my dad left behind, old blouse-like Oxfords in the days of Hobie Cat surfwear. I was already big and weird, and now I was something else. I think my slide perplexed my peers; if anything they bullied me less. I heard them murmuring as I wandered down the hall.

I was a ghost and I had haunts: I vanished into the computer. I had that box of BBS floppies. One after another I’d insert them into the computer and examine every file, thousands of files all told. That was how I pieced together the world. Second-hand books and BBS disks and trips to the library. I felt very alone but I’ve since learned that it was a normal American childhood, one millions of people experienced.

Often—how often I don’t remember—I’d go over to Tom’s. I’d share my techniques for rotating text in Deluxe Paint, show him what I’d gleaned from my disks. He always had a few spare computers around for generating title sequences in videos, and later for editing, and he’d let me practice with his videocameras. And he would listen to me.

Like I said: Avuncular. He wasn’t a father figure. Or a mother figure. He was just a kind ear when I needed as many kind ears as I could find. I don’t remember what I said; I just remember being heard. That’s the secret to building a network. People want to be heard. God, life, history, science, books, computers. The regular conversations of anxious kids. His students would show up, impossibly sophisticated 19-year-old men and women, and I’d listen to them talk as the sun went down. For years. A world passed over that porch and I got to watch and participate even though I was still a boy.

I constantly apologized for being there, for being so young and probably annoying, and people would just laugh at me. But no one put me in my place. People touched me, hugged me, told me about books to read and movies to watch. I was not a ghost.

When I graduated from high school I went by to sit on the porch and Tom gave me a little brown teddy bear. You need to remember, he said, to be a kid. To stay in touch with that part of yourself.

I did not do this."



"Technology is What We Share

Technology is what we share. I don’t mean “we share the experience of technology.” I mean: By my lights, people very often share technologies with each other when they talk. Strategies. Ideas for living our lives. We do it all the time. Parenting email lists share strategies about breastfeeding and bedtime. Quotes from the Dalai Lama. We talk neckties, etiquette, and Minecraft, and tell stories that give us guidance as to how to live. A tremendous part of daily life regards the exchange of technologies. We are good at it. It’s so simple as to be invisible. Can I borrow your scissors? Do you want tickets? I know guacamole is extra. The world of technology isn’t separate from regular life. It’s made to seem that way because of, well…capitalism. Tribal dynamics. Territoriality. Because there is a need to sell technology, to package it, to recoup the terrible investment. So it becomes this thing that is separate from culture. A product.

I went looking for the teddy bear that Tom had given me, the reminder to be a child sometimes, and found it atop a bookshelf. When I pulled it down I was surprised to find that it was in a tiny diaper.

I stood there, ridiculous, a 40-year-old man with a diapered 22-year-old teddy bear in my hand. It stared back at me with root-beer eyes.

This is what I remembered right then: That before my wife got pregnant we had been trying for kids for years without success. We had considered giving up.

That was when I said to my wife: If we do not have children, we will move somewhere where there is a porch. The children who need love will find the porch. They will know how to find it. We will be as much parents as we want to be.

And when she got pregnant with twins we needed the right-sized doll to rehearse diapering. I went and found that bear in an old box.

I was handed that toy, sitting on Tom’s porch, in 1992. A person offering another person a piece of advice. Life passed through that object as well, through the teddy bear as much as through the operating systems of yore.

Now that I have children I can see how tuned they are to the world. Living crystals tuned to all manner of frequencies. And how urgently they need to be heard. They look up and they say, look at me. And I put my phone away.

And when they go to bed, protesting and screaming, I go to mess with my computers, my old weird imaginary emulated computers. System after system. I open up these time capsules and look at the thousands of old applications, millions of dollars of software, but now it can be downloaded in a few minutes and takes up a tiny portion of a hard drive. It’s all comically antiquated.

When you read histories of technology, whether of successes or failures, you sense the yearning of people who want to get back into those rooms for a minute, back to solving the old problems. How should a window open? How should the mouse look? What will people want to do, when we give them these machines? Who wouldn’t want to go back 20 years—to drive again into the office, to sit before the whiteboard in a beanbag chair, in a place of warmth and clarity, and give it another try?

Such a strange way to say goodbye. So here I am. Imaginary disks whirring and screens blinking as I visit my old haunts. Wandering through lost computer worlds for an hour or two, taking screenshots like a tourist. Shutting one virtual machine down with a sigh, then starting up another one. But while these machines run, I am a kid. A boy on a porch, back among his friends."
paulford  memory  memories  childhood  neoteny  play  wonder  sharing  obituaries  technology  history  sqeak  amiga  textcraft  plan9  smalltalk-80  smalltalk  mac  1980s  1990s  1970s  xerox  xeroxalto  texteditors  wordprocessors  software  emulators  emulations  2014  computers  computing  adolescence  listening  parenting  adults  children  mentors  macwrite  howwelearn  relationships  canon  caring  love  amigaworkbench  commodore  aegisanimator  jimkent  vic-20  commodore64  1985  andywarhol  debbieharry  1987  networks  porches  kindness  humility  lisp  windows3.1  microsoft  microsoftpaint  capitalism  next  openstep  1997  1992  stevejobs  objectivec  belllabs  xeroxparc  inria  doom  macos9  interfacebuilder 
november 2014 by robertogreco

Copy this bookmark:





to read