Sign in

matdevdug

@matdevdug.c.im.ap.brid.gy
19 followers 0 following 461 posts

Security/Devops engineer. Moved from Chicago to Denmark. I’m an expert on nothing but I’m trying. 🌉 bridged from ⁂ c.im/@matdevdug, follow @ap.brid.gy to interact

PostsRepliesMedia
matdevdug @matdevdug.c.im.ap.brid.gy · 4h
Notes from a 1984 trip to Xerox PARC commandcenter.blogspot.com/2019/01/…
commandcenter.blogspot.com
Notes from a 1984 trip to Xerox PARC
Someone at work asked about this trip report I wrote long ago. I had not realized it was ever seen outside Bell Labs Research, but I now know it was. It's a bit of a time capsule now, and I was able resurrect it. Importing into Blogger was a bit of an ordeal that informs some of the points raised here, but other than that I make no comment on the contents beyond apologizing for the tone. This Dorado is MINE, ALL MINE! Rob Pike April 29, 1984 A collection of impressions after doing a week’s work (rather than demo reception) at PARC. Enough is known about the good stuff at PARC that I will concentrate on the bad stuff. The following may therefore leave too negative an impression, and I apologize. Nonetheless... Dorados work, and although most people at PARC now have their personal machine, it is hard to find a spare one for a visitor (e.g. me), and the allocation method is interesting. There are rooms full of Dorados in racks, and each office has a terminal in it. To connect a machine to a terminal, you make a connection at the patch panel. There are just enough Dorados to go around, which makes it hard (but not impossible) to find a spare when one is needed. What seemed to be in shorter supply was the terminals. There is a terminal in every office, but nothing like a terminal room. The presence of a visitor made it necessary to go to the patch panel a couple of times a day (with muffled annoyance) to connect the temporarily vacant office to the vacant machine. It really seems to me that it would make more sense and involve less mechanism to get a couple more machines and terminals, put them in a public place, and have the plug board there for emergencies like machine failure. Personal or not, it’s too big a deal to get a machine. The idea of personal computers is an abreaction to time-sharing, with the unfortunate consequence that personal computers (to be specific, D machines) look like personal time-sharing computers, albeit without time-sharing software, an issue I’ll return to. The major issue is disks. Beside the plug board is a white board divided into a grid of time-of-day cross machine-name. The machines have names because they have disks; the reason you need the name is to get to a file you left there last time. Unfortunately, Dorados need disks to run, because they must behave like Altos to run the crufty Alto software that performs vital services such as file transfer. The machine bootstraps by reading disk, not Ethernet. If this were not the case, machine allocation could be done much more simply: you sit down at the (slightly smarter) terminal you want to use, it finds a free Dorado, you log in to that and (if you care) connect, with the Ethernet, to the disk you want. The machines run one program at a time, and that seems fundamental. When I had finished preparing a figure with Draw, I had to exit Draw (‘‘Do you really want to quit? [Yes or No]’’ No. (I should write the file.) ‘‘Name of file to write?’’ foo.draw ‘‘Overwrite the foo.draw that’s already there? [Yes or No]’’ Yes (dammit!). ‘‘Do you really want to quit? [Yes or No]’’ YES!!!!!!) to run the printing program. The printing program then grabs the Dorado (running as an Alto) and holds it until the file is printed, which can take quite a while if someone’s using the printer already. Once that’s accomplished, Draw can be started again, but it won’t even accept a file name argument to start with. All the old state is lost. As another example, if there is a file on your local disk that I want to copy to my local disk (the standard way to look at a remote file, it seems), I must find you in your office and ask you to stop whatever you are doing, save the state of your subsystem (Smalltalk, Cedar, etc.) and return to the Alto operating system. Then, you run ftp on your machine, then go get a cup of coffee while I go to my machine and pull the file across. On a related note, I spent an hour or so one morning looking for a working version of a program, which eventually turned up on someone’s Alto. Copies of the file didn’t work on my machine, though, so whenever we needed to run it we had to find the person and so on... Given the level of interaction of the subsystems, the way PARC deals with files and disks is striking. Files are almost outside the domain of understanding at PARC. In fact, the whole world outside your machine, Ethernet notwithstanding, is a forbidding world. I really got the feeling that their systems are so big because they must provide everything, and they must provide everything because nobody out there provides anything, or at least it’s so hard to get to anyone helpful it’s not worth it. Smalltalk files are awkward, but you can just (essentially) map the information into your address space and hold it there, whereupon it becomes remarkably easy to use. These subsystems are all like isolated controlled environments, little heated glass domes connected by long, cold crawlways, waiting out the long antarctic winter. And each dome is a model Earth. Using Smalltalk for a few days was interesting. The system is interactive to a fault; for example, windows pop up demanding confirmation of action and flash incessantly if you try to avoid them. But overall, the feel of the system is remarkable. It is hard to describe how programs (if that is the right word) form. The method-at-a-time discipline feels more like sculpting than authoring. The window-based browsers are central and indispensable, since all that happens is massaging and creating data structures. A conventional text editor wouldn’t fit in. I was surprised, though, at how often the window methodology seemed to break down. When an incorrect method is ‘‘accepted,’’ messages from the compiler are folded into the text as selected text, often at the wrong place. I found this behavior irritating, and would prefer a separate window to hold the messages. The message in the code seemed to make it harder to find the problem by cluttering the text. A more interesting example occurred when I was half-way through writing a method and found I needed information about another method. The browser I was in was primed with the information I needed, but I couldn’t get at it, because the browser itself does not have windows. I could not leave the method I was working on because it was syntactically incorrect, which meant I had to ‘‘spawn’’ a new browser. The new browser remembered much of the state of the original, but it felt awkward to step away from a window that had beneath it all the information I needed. A browser can only look at one method at a time, which is annoying when writing programs, but if it had windows itself, this restriction could disappear. A similar problem is that, when writing a method, if a new method is introduced (that is, invented while writing the caller), you must keep the missing method name in your head; the window that tells you about it when you accept the method disappears when you say it’s O.K. The complexity of managing the browser puts an undue strain on the programmer; I had an urge to make notes to myself on a scrap of paper. I missed grep. It’s not strictly necessary, because the browser does much of the same functionality, but in a different way. To look for something, you look up its method; if you can’t remember the name, you may have trouble. Experienced users clearly had no difficulty finding things, but I felt lost without automatic tools for searching. Believe it or not, the response sometimes felt slow. I had to slow down frequently to let the eventfielding software catch up with me. For example, when making a rectangle for a new window, I could lose as much as two inches off the upper left corner because of the delay between pushing a button and having it detected. I therefore compensated, watching the cursor subconsciously to see that it was with me. The obvious analogy is locking the keyboard. The language is strange but powerful; I won’t attempt a full critique here, but just comment on some peculiarities. The way defaults work in methods (isomorphic to procedures) is interesting, but necessary because the generality of the design leads to argument-intensive methods. There are too many big words, which stems partly from the lack of a grep (making it necessary to have overly descriptive names) and partly from a desire to have the language look a little like English. For example, 2 raisedToInteger: 3 is perfectly readable, but chatty at best. Because all messages must be sent to a left operand, unary minus didn’t exist. I complained and it appeared on Wednesday. The type structure is somewhat polymorphic, but breaks down. For example, rectangles cannot have both scalars and points added to them, because the message is resolved by the left operand of the message, not the left and right. One philosophical point is that each window is of a type: a browser, a debugger, a workspace, a bit editor. Each window is created by a special action that determines its type. This is in contrast to our style of windows, which creates a general space in which anything may be run. With our windows, it is easy to get to the outside world; the notion of Unix appears only when a Unix thing happens in the window. By contrast, Smalltalk windows are always related to Smalltalk. This is hard to explain (it is, as I said, philosophical), but a trite explanation might be that you look outwards through our windows but inwards through theirs. A few years ago, PARC probably had most of the good ideas. But I don’t think they ran far enough with them, and they didn’t take in enough new ones. The Smalltalk group is astonishingly insular, almost childlike, but is just now opening up, looking at other systems with open-eyed curiosity and fascination. The people there are absorbing much, and I think the next generation of Smalltalk will be much more modern, something I would find always comfortable. However, it will probably be another model Earth.
000
matdevdug @matdevdug.c.im.ap.brid.gy · 03/10/2026
In sort of baffling emails from Apple, my wife got an email from Apple alerting her that her Apple ID has been used to download the library app. However for some reason it’s addressed to me even though her Apple ID predates our marriage. I assume it’s because we’re on […] [Original post on c.im]
100
matdevdug @matdevdug.c.im.ap.brid.gy · 02/10/2026
I wrote a long piece about me brainstorming/daydreaming about what my ideal OS Windowing system would be and how it would work. matduggan.com/what-does-my-dream-os…
matduggan.com
Make tmux the OS
I recently watched the talk by Scott Jenson titled "Are we really going to use the same Desktop UX forever?" https://www.youtube.com/watch?v=V7AfAcQwLW0&t;=445s. He's a great presenter, really articulate and concise. The kind of speaker that you'd gladly listen to for 3+
001
matdevdug @matdevdug.c.im.ap.brid.gy · 28/09/2026
I feel like this can’t be a good sign for NVIDIA.
001
matdevdug @matdevdug.c.im.ap.brid.gy · 28/09/2026
Nothing like a project at work that has gone on for so long I start googling things like “how to fake own death”
101
matdevdug @matdevdug.c.im.ap.brid.gy · 27/09/2026
Echo the corgi met a sheep and promptly ran away. She’s a good dog but not a natural sheep dog.
012
matdevdug @matdevdug.c.im.ap.brid.gy · 26/09/2026
I live mostly on my investments and dividends now.
001
matdevdug @matdevdug.c.im.ap.brid.gy · 25/09/2026
Wrote about my smartphone burn out and the MiSTer board as my new hobby: matduggan.com/im-tired-of-being-on-…
matduggan.com
I’m Tired of Being on the Network
You can tell how tired someone is of the always-online life pretty easily. When they get home, watch the distance between the phone and the body. The people who love being connected never let the thing leave them be it pocket, palm, face-down next to the fork. Everyone
002
matdevdug @matdevdug.c.im.ap.brid.gy · 22/09/2026
You know a friends job is going well when the first question she asks when you meet up is “do you think I can hire an Etsy witch to get me a less shitty job?”
100
matdevdug @matdevdug.c.im.ap.brid.gy · 20/09/2026
Fell down a rabbit hole of reading about Aadam Jacobs and his increasingly sophisticated recordings of live bands in Chicago. aadamjacobscollection.org The recordings are available and really good listening. But really I just sorta fell in love with this persons intense passion for […]
c.im
Original post on c.im
002
matdevdug @matdevdug.c.im.ap.brid.gy · 19/09/2026
This is maybe the most in depth collection of information about keyboards ever. I burned an hour on this website and regretted none of it. telcontar.net
telcontar.net
Telcontar.net
003
matdevdug @matdevdug.c.im.ap.brid.gy · 19/09/2026
If you play a lot of #ttrpg you probably use generators like me. I stumbled upon this one today that is super nice and local to your browser. No account needed, works really well. app.ironarachne.com
app.ironarachne.com
app.ironarachne.com
000
matdevdug @matdevdug.c.im.ap.brid.gy · 18/09/2026
Good WSJ thing on the openAI “rogue hack”. archive.is/2026.09.18-160250/https:… Here’s my offer to any LLM company. You let me set up the VPC in an AWS account. I will only use normal AWS options […]
c.im
Original post on c.im
101
matdevdug @matdevdug.c.im.ap.brid.gy · 16/09/2026
Such a good post about how to format webpages for printing. I had no idea any of this existed. I totally forgot about print style sheets matuzo.at/blog/i-totally-forgot-abo…
matuzo.at
I totally forgot about print style sheets - Manuel Matuzović
A small collection of useful CSS techniques and a quick reminder that print style sheets are still a thing.
002
matdevdug @matdevdug.c.im.ap.brid.gy · 15/09/2026
I like how no matter how many times I do it, pip has somehow ensured that I never get the right combination of arguments to update all of the dependencies on a requirements.txt file right on the first try. #python
000
matdevdug @matdevdug.c.im.ap.brid.gy · 15/09/2026
For the six people who are using timewasterpro.xyz I'm rebuilding the backend before adding the web view that doesn't require a browser extension. Also the chrome extension is in review and I will post again when its live.
timewasterpro.xyz
Time Waster Pro
001
matdevdug @matdevdug.c.im.ap.brid.gy · 14/09/2026
This is such a fun little technique for code snippets. www.roboleary.net/blog/photocopy-co…
roboleary.net
A fun copy code interaction - photocopy code animation
I thought it would be cool to mimick a photocopier for the copy action of a code block.
000
matdevdug @matdevdug.c.im.ap.brid.gy · 14/09/2026
After years inside datacenters, it’s hard to be afraid of AI killing all humans. I've seen the "secure facility." It's a chain link fence and a guy named Gary. Night shift is usually 10-20 people. Two hundred people could shut a datacenter down with nothing but a Wikipedia article on fiber […]
c.im
Original post on c.im
5046
matdevdug @matdevdug.c.im.ap.brid.gy · 14/09/2026
Only an absolute lunatic would touch #Wordpress as a product with this maniac at the helm. techcrunch.com/2026/09/12/automatti…
techcrunch.com
112
matdevdug @matdevdug.c.im.ap.brid.gy · 13/09/2026
Never has a game been announced with so little information as it “what is the actual game” as World of Warcraft Forever. It is the old game, but with new graphics. You will never go beyond level 60 but we will introduce new content. Not the new content from the expansions, different new content […]
c.im
Original post on c.im
000
matdevdug @matdevdug.c.im.ap.brid.gy · 12/09/2026
The American expat group has spotted Cheez-Its at Normal. This has triggered a madcap scramble around the city of Copenhagen as we all try to purchase as much as we can.
100
matdevdug @matdevdug.c.im.ap.brid.gy · 11/09/2026
What’s it like being an iPhone owner? Apple: “We have the most amazing machine learning. Neural engines, many of them. They have incredible power! 20% more power than some other arbitrary benchmark! Also LLMs but not in Europe. Me: “Great! What am I supposed to do […] [Original post on c.im]
020
matdevdug @matdevdug.c.im.ap.brid.gy · 11/09/2026
This is all excellent advice. www.tinybird.co/blog/what-i-learned…
tinybird.co
I've operated petabyte-scale ClickHouse® clusters for 5 years | Tinybird
What I learned operating ClickHouse at scale: the wins, the failures, and the lessons that only come from production experience.
004
matdevdug @matdevdug.c.im.ap.brid.gy · 11/09/2026
I wrote a somewhat rant about working with LLMs: matduggan.com/i-am-a-flat-rate-mont…
matduggan.com
I Am a Flat-Rate Monthly Responsibility Service
Most people, when asked why they do what they do, lie. This isn’t because they’re malicious but it’s because the honest justification for a career is rarely noble. It’s usually a combination of a decent paycheck, tolerable hours, and whatever neurosis you were nursing at that
102
matdevdug @matdevdug.c.im.ap.brid.gy · 11/09/2026
This is great and something I've been looking for. vale.rocks/posts/html-boilerplate
vale.rocks
My HTML Boilerplate
A document outlining and explaining my general structure for HTML pages to use. A slim general markup template that applies to almost all HTML documents on the web and forgoes anything unnecessary. It is a general framework to build upon for individual sites.
001
matdevdug @matdevdug.c.im.ap.brid.gy · 10/09/2026
RE: mstdn.social/@ComicContext/11720876… This is my new favorite account.
mstdn.social
001
matdevdug @matdevdug.c.im.ap.brid.gy · 06/09/2026
In the mood for a good short read? This was surprisingly fun to read and weirdly relatable. #bookstodon app.thestorygraph.com/books/9a4fbf4…
001
matdevdug @matdevdug.c.im.ap.brid.gy · 06/09/2026
Great piece about how readers seem to be revolting against LLM. I have a draft of something similar but this is better than what I had, so enjoy it. One thing I have been surprised by with LLMs is the speed by which normal people learned how to identify LLM text and how they hate it. I assumed […]
c.im
Original post on c.im
000
matdevdug @matdevdug.c.im.ap.brid.gy · 05/09/2026
RE: myke.social/@imyke/1172011566378844… Free episodes out now. Strongly recommend, really fun podcast if you like computer history.
myke.social
000
matdevdug @matdevdug.c.im.ap.brid.gy · 05/09/2026
I was surprised how little work it took to switch from 1Password to something else. Like I’ve been paying this monthly subscription for years for no reason as it turns out.
036
matdevdug @matdevdug.c.im.ap.brid.gy · 05/09/2026
In case anyone was wondering “is the US stock market on the verge of collapse”. Anthropic and SpaceX are telling investors with a straight face that the two companies have a total addressable market roughly equivalent to the GDP of the United States. Fucking ludicrous stuff […]
c.im
Original post on c.im
003
matdevdug @matdevdug.c.im.ap.brid.gy · 01/09/2026
One perk of living in Denmark. Every time you think “ok that’s every possible techno remix of an ABBA song” someone is like “guys I had an idea”.
000
matdevdug @matdevdug.c.im.ap.brid.gy · 01/09/2026
RE: mastodon.social/@marcoarment/117181… In my imagination this is due to the horrible open office layout of Apple Park. Quiet private executive offices: “As long as we are 10% less shitty than Google Maps it should be fine to junk up Apple Maps with ads.” Down in the […]
c.im
Original post on c.im
000
matdevdug @matdevdug.c.im.ap.brid.gy · 01/09/2026
RE: social.lansky.name/@hn50/1171808065… Misread this as “celibate before you accelerate” and was reading it being like “but how does that help you with a new role at work?!?”
social.lansky.name
000
matdevdug @matdevdug.c.im.ap.brid.gy · 31/08/2026
Coworker: What are you listening to? Me: Oh just the classics. The soundtrack from the Nintendo 3DS system settings. eShop Software Download is a banger. archive.org/details/nintendo-3ds-or…
archive.org
Nintendo 3DS Original Soundtrack : Nintendo : Free Download, Borrow, and Streaming : Internet Archive
Full soundtrack in FLAC.The complete system soundtrack of the Nintendo 3DS.
031
matdevdug @matdevdug.c.im.ap.brid.gy · 31/08/2026
RE: social.lansky.name/@hn50/1171773461… Not to hate on this password manager that I haven’t used, but I will never understand how people look at the risk vs benefit analysis of making a piece of hobbyist software and land on password manager. If it works correctly, it is […]
c.im
Original post on c.im
011
matdevdug @matdevdug.c.im.ap.brid.gy · 30/08/2026
RE: social.lansky.name/@hn50/1171698159… In case you wondered why state level enforcement of large tech corporations doesn’t work.
social.lansky.name
001
matdevdug @matdevdug.c.im.ap.brid.gy · 30/08/2026
I love podcasts but man one of the trends I do not like with this flood of “celebrities interviewing other celebrities” podcasts is when they get locked into this death spiral of telling each other how great the other is. Like at a certain point this isn’t a podcast it’s a phone call between […]
c.im
Original post on c.im
001
matdevdug @matdevdug.c.im.ap.brid.gy · 29/08/2026
Thanks for ruining my video of trains YouTube.
002
Reposted by matdevdug
jelte @jelte.mastodon.nl.ap.brid.gy · 24/08/2026
birth school yaml yaml yaml yaml death
001
matdevdug @matdevdug.c.im.ap.brid.gy · 28/08/2026
Words can’t describe how worried I was about the quantum safety of bitcoin transactions. Thank heavens. On the plus side Bitcoin magazine has managed to hide every line of this story on first click. bitcoinmagazine.com/news/bitcoin-qu…
000
matdevdug @matdevdug.c.im.ap.brid.gy · 28/08/2026
RE: mstdn.social/@chipotle/117123432217… That sucks I didn’t realize MacStories was back on X.
mstdn.social
000
matdevdug @matdevdug.c.im.ap.brid.gy · 28/08/2026
@gildilinie I’d love an email for 50% off anything that isn’t an LLM. Like basic groceries.
000
matdevdug @matdevdug.c.im.ap.brid.gy · 28/08/2026
You can measure the speed by which LLMs are becoming utilities by how often I get emails offering 50% off.
000
matdevdug @matdevdug.c.im.ap.brid.gy · 28/08/2026
I wrote a thing about #gdpr matduggan.com/you-know-gdpr-is-good…
matduggan.com
You Know GDPR Is Good Based on Who Hates It
FDR has always been one of my favorite presidents, second maybe to Lincoln. Both were men the establishment assumed were one of them until, to their horror, they governed like they weren't. Both could trash the opposition in one breath and take the moral high ground in the next.
001
matdevdug @matdevdug.c.im.ap.brid.gy · 27/08/2026
If you say the words "align with stakeholders" to me, my brain immediately enters an almost zen like level of ignoring everything that is said after that.
104
matdevdug @matdevdug.c.im.ap.brid.gy · 26/08/2026
I am fortunate enough to have friends who enjoy buying me gifts, and lately, they have all independently arrived at the same conclusion, that what I really need is a fountain pen. This is wonderful. I love fountain pens. I love collecting them, cleaning them, and filling them. There is a robust […]
c.im
Original post on c.im
004
matdevdug @matdevdug.c.im.ap.brid.gy · 24/08/2026
I left and Chicago made a pope and two good baseball teams. Hard not to feel like I was holding the town back.
102
matdevdug @matdevdug.c.im.ap.brid.gy · 24/08/2026
Really scraping the bottom of the barrel for marketing email ideas huh #openai?
100
matdevdug @matdevdug.c.im.ap.brid.gy · 23/08/2026
Just an absolutely hilarious series of errors today playing #Warhammer40k 11th. First I forgot the plunging fire rule which makes attacks from high up better against units on the ground. That was a dumb mistake that my opponent used to great effect. Second was just the bad luck of pulling a […]
c.im
Original post on c.im
000