HNHacker News
TopNewBestAskShowJobs

jonjacky

1,025 karma · joined July 15, 2009

https://jon-jacky.github.io/home/
submissionscomments
jonjacky··on Mezzano on Librebooted ThinkPads
It is. The expressions that look like this:

(sys.lap-x86:xor32 :eax :eax)

are assembly language statements.

jonjacky··on Plan 9 Desktop Guide
> Starting with a stripped-out Linux kernel and a standard toolchain (whether gcc or clang)...

Harvey OS[1] is a Plan-9 based OS but with a modern toolchain using C11 and Go. Not much activity in the last few years, but then a burst of activity this summer.

1. https://harvey-os.org/

jonjacky··on The cybernetics scare and the origins of the Internet (2009)
Another history is Dark Hero of the Information Age: In Search of Norbert Wiener, the Father of Cybernetics by Flo Conway and Jim Siegelman, from 2005.
jonjacky··on X Window System on a Floppy
The nopsys/CogNOS project is more recent (commits in 2018): "CogNOS is actually a third iteration of the orginal SqueakNOS project ..."

https://github.com/nopsys/CogNOS

There is a conference paper about it, also from 2018:

https://charig.github.io/assets/papers/SCDE-DLS.pdf

jonjacky··on Ask HN: What is the most interesting FOSS that most people don't know about?
EPICS https://epics-controls.org/

"EPICS is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices such as Particle Accelerators, Large Experiments and major Telescopes. Such distributed control systems typically comprise tens or even hundreds of computers ..."

jonjacky··on BootOS: Monolithic operating system in 512 bytes of x86 machine code
There is a fascinating story behind this:

https://news.ycombinator.com/item?id=20569438

jonjacky··on Phil Agre saw the dark side of the Internet 30 years ago
Phil Agre was a prolific writer with many high-quality contributions on a variety of topics. Here are some samples:

How to help someone use a computer: https://pages.gseis.ucla.edu/faculty/agre/how-to-help.html

Rationalizations for bad design, a posting to RISKS digest: http://catless.ncl.ac.uk/Risks/7.09.html#subj1

Layering, from a course on Information Systems and Design: https://pages.gseis.ucla.edu/faculty/agre/240/week5.html

Toward a Critical Technical Practice: Lessons Learned in Trying to Reform AI: https://pages.gseis.ucla.edu/faculty/agre/critical.html

Notes and Recommendations (from RRE Digest): https://pages.gseis.ucla.edu/faculty/agre/notes.html

Red Rock Eater Digest, 1994 -- 2004: http://web.archive.org/web/20040602193512/commons.somewhere....

The Network Observer, 1994 -- 1996: https://pages.gseis.ucla.edu/faculty/agre/tno.html

He wrote a book, Computation and Human Experience, here are some extracts and a chapter summary:

https://pages.gseis.ucla.edu/faculty/agre/che-intro.html

I miss him.

jonjacky··on Ask HN: What numbers do you associate with old computers?
I've never seen any 'extended punch card', or any machine that could punch a 132-column card.

132 was the line length of IBM line printers, imitated by many other popular brands, including Printronix and DEC. They printed on that wide green-stripe, fan-fold paper, which came in a standard size that fit 132-column printers.

jonjacky··on Ask HN: What numbers do you associate with old computers?
12, the number of bits in the word of the PDP-8, the famous and influential minicomputer of the 1960s-70s.

4096, the number of words that can be addressed by 12 bits -- so, the size (in 12-bit words) of the PDP-8 memory. There was a whole culture of writing useful programs that fit in 4096 words -- not as a stunt or tour-de-force, that was just the order of the day.

jonjacky··on Ask HN: What are some examples of poor naming in computer science/programming?
I recall being annoyed when Microsoft named its products with completely generic words like ... Word. Or Windows.

I was incredulous: Can they really seize a common word for their own use and trademark it? I thought there would be an uproar and some official trademarks office would disallow it, but no. They got away with it and now everyone has forgotten how grabby and monopolistic it seemed.

Also, I roll ny eyes at self-congratulatory names like Perfect Writer and Sublime Text. Isn't it for us to say if we think it's perfect or sublime?

jonjacky··on RVVM – RISC-V Virtual Machine
But then someone did do a hardware implementation:

https://www.jopdesign.com/ https://github.com/jop-devel/jop

"Due to the small size of the processor, it can be implemented in a low cost FPGA. ..."

jonjacky··on One of the first artistic impressions of a computer (1984) on sale at Christies
This is certainly not "one of the first artistic impressions of a computer".

For earlier examples, see Boris Artzybasheff's fanciful paintings and drawings from the 1950s and 60s [1]. His Apr 2, 1965 Time magazine cover has features and a pose remarkably similar to the Kieth Haring picture linked here, including the arms, the brain, and the tiny figures along the bottom margin.

1. https://www.google.com/search?q=Boris+Artzybasheff+computer&...

jonjacky··on The Heathkit Legacy (2013)
George, did you see the Firesign Theatre thread at

https://news.ycombinator.com/item?id=27329497

(George Tirebiter was a character in a Firesignt Theatre routine.)

jonjacky··on A Storage Cabinet Based on the IBM 2401
Aw, c'mon, some compromises are necessary to make this feasible at all with technology available now. It is really quite impressive!
jonjacky··on What Would You Do If the Internet Went Away?
Not at all. Before the Internet -- up through the 1970s and 80s, this isn't ancient history -- people moved around all the time, stayed in touch with people near and far, went out for all kinds of entertainment and events. Nobody said, "I can't do anything because I don't have the Internet."

People used the information sources that the Internet replaced. Cities had daily papers - often more than one - with huge thick classified ads sections -- filled with little ads placed by individuals for a few dollars -- that were updated every day. Then there were neighborhood and special interest weeklies, with their own classified ads. The income from all those ads supported more papers, each with more writing on local events. There were magazines and newsletters on all kinds of esoteric topics. And bulletin boards at cafes and shops. Libraries had the newspapers and phone books of other cities, and some of the magazines and newsletters. Radio stations, too, had announcements of local events.

And you would have a network of friends and relatives and acquaintances, and visitors to all of them passing through. You would call them on the telephone and write letters. Many would respond promptly because they, too, wanted to stay in touch.

jonjacky··on Ask HN: What are the bad parts of Unix?
See Rob Pike's talk from 2001, "The Good, the Bad, and the Ugly: the Unix Legacy"

http://doc.cat-v.org/bell_labs/good_bad_ugly/slides.pdf

"What makes the system good at what it’s good at is also what makes it bad at what it’s bad at. Its strengths are also its weaknesses.

A simple example: flat text files.

Amazing expressive power, huge convenience, but serious problems in pushing past a prototype level of performance or packaging."

The slides have many more examples.

jonjacky··on Why OO Sucks by Joe Armstrong (2000)
Also: Why do we need modules at all? by Joe Armstrong

http://erlang.org/pipermail/erlang-questions/2011-May/058768...

jonjacky··on Plan 9 from Bell Labs in Cyberspace
Yes, and it's helpful to remember why it's a distributed system. Plan 9 was created to support people working together in groups at the project or department level. The Plan 9 creators - the original Unix guys - liked the idea of a time-shared computer, where there is just one system to administer and everyone can easily access all the files and other resources. Then it became feasible to use many computers instead of just one, but they wanted to use them with not much more administrative effort than a single time-shared computer, and no additional barriers to sharing files etc. So in the original Plan 9 installations the computers used as terminals were stateless - you could walk up to any terminal and log in to your own customized environment that mounted just the files systems and other resources you wanted.

Also, they made use of specialized computers - the ones with nice displays were terminals, there were compute servers with powerful CPUs and file servers with big disks. Some computers were quite specialized, like the ones with WORM drives that supported the Venti versioned file system, that provided seamless automatic backups and even a sort of version control.

Now Plan 9 lives on, used (as far as I know) mostly by lone individuals. So now the Plan 9 terminal, file server, and compute server usually all run on the same computer. It works, but it's not the original vision.

I think one of the reasons Linux but not Plan 9 took off, besides licensing, is that this vision of a project-scale distributed system fell out of style. Many of the people who adopted Linux in the 1990s wanted a largely self-contained computer they could run themselves, they didn't want a terminal to connect to a distributed system. The original Plan 9 stateless terminals don't really fit in a world where everyone is carrying around their own laptop.

So now we have a world with a lot of mostly self-contained individual computers, that use cloud services far away run by huge corporations. The intermediate scale organized around projects and small groups isn't explicitly supported by the computer systems themselves. Plan 9 can live on in this world, but it's not the world it was originally designed for.

jonjacky··on Plan 9 from Bell Labs in Cyberspace
An advantage is, you don't need any API or function calls. You can inspect or manipulate anything from the shell ad lib using cat, echo, and the usual commands. Plan 9 doesn't have ioctl() calls because it's not meaningful to send pointers across the network. Instead each device and service provides a file called cntrl (or something similar) to which you can read or write text - using cat, echo etc. So it's easy to write small test scripts or even whole applications, in the shell or any language you like.
jonjacky··on The Challenges of Integrating the Unix and Mac OS Environments (2000)
What I found amusing at the time was, after years of touting the Mac point-and-click interface as a great improvement over the old-fashioned hard-to-learn obscure command line, they switched to touting the unprecedented power and versatility of ... the command line!
jonjacky··on The Challenges of Integrating the Unix and Mac OS Environments (2000)
Yes, I do. I recall they had ads where they showed the amazing things you could do with one-line commands at the shell - they had examples of pipelines including grep and awk etc. I remember being amused that these familiar idioms that had been used in the Unix/Linux world for ages were being presented as amazing new capabilities.
jonjacky··on Ask HN: Good concise guide to Linux's networking stack?
TCP Implementation in Linux: A Brief Tutorial [1] is a two-page explanation about the 2.6.19 kernel, with diagrams. I don't know how relevant it is now. I haven't seen anything this brief about more recent kernels.

[1] http://cseweb.ucsd.edu/classes/fa09/cse124/presentations/TCP...

jonjacky··on 50 Years of Pascal
Pascal, even Wirth's Pascal, was a huge improvement over the other languages commonly used at the time. In Pascal's heyday in the 1970s and early 1980s, most programmers came to Pascal from BASIC or old FORTRAN (FORTRAN II or IV, not 77). Compared to these, Pascal offered: long identifiers (not 1 or 2 characters like BASIC or 6 like old FORTRAN), block structure and structured programming (not line numbers and GOTOs), record data types, pointers, and memory management with new and dispose (instead of statically allocated arrays and COMMON blocks), nested structure and lexical scope (instead of everything defined at top level). All this was a revelation and made whole new programming techniques and styles available.
jonjacky··on Booting the IBM 1401: How a 1959 punch-card computer loads a program
You could do just that, but the usual way was to put a single "control card" that invoked the FORTRAN compiler before you own code. This invoked a compiler that was already stored in the system, on tape or disk.

The computer center had stacks of control cards for different functions like this - they were color coded - so you had to remember to get a pink card and put it before your program deck.

It was possible to punch a binary output deck of your compiied program or even store it on disk or tape - there were different control cards for that.

jonjacky··on The VT-69 portable data terminal
> ... I wish I had a 19th century typewriter, hook it up to a Raspberry Pi and make a dumb terminal ... I just wish I could make a mechanical computer from woods ...

Something like this? "A digital typewriter based on a Raspberry Pi and an E-Ink screen. ... The case has been made from a locally grown cypress. ..."

https://alternativebit.fr/posts/ultimate-writer/

The code/build instructions are available on GitHub.

jonjacky··on Mainframe Programming vs. Cloud Computing
Fred Brooks led IBM 360 software development. From his oral history at the Computer History Museum [1] (on p.33 of 49):

That’s the worst mistake we made was JCL.

Yeah. Well the existence of JCL was a mistake. Building it on a card format was a mistake. Building it on assembly language was a mistake. Thinking of it as only six little control cards instead of a language was a mistake so it had no proper sub-routine facilities, no proper branching facilities.

It kind of grew. It kind of grew but when you end up with your data definitions doing all the verbiage things because you’ve limited yourself to six verbs that’s a language mistake.

We didn’t see it as a language was the fundamental problem. We saw it as a set of control cards.

And lo and behold they’re still around, the dusty decks that nobody dare touch because they run and nobody knows what’s inside

Incredibly complicated, the keyword parameters and the set goes on and on and on and on ...

[1] https://archive.computerhistory.org/resources/access/text/20...

jonjacky··on Let's Not Dumb Down the History of Computer Science (2014)
This cycle was called the "Wheel of Reincarnation" in this 1968 paper by Myer and Sutherland about display processors.

http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland...

jonjacky··on Let's Not Dumb Down the History of Computer Science (2014)
An unusual historical paper from Niklaus Wirth, about many "good and original ideas (that) turned out to be less brilliant than they first appeared."

http://pascal.hansotten.com/uploads/wirth/Good%20Ideas%20Wir...

jonjacky··on Let's Not Dumb Down the History of Computer Science (2014)
This was linked on HN a few days ago, contains links to dozens of classic papers back to the 1930s:

https://canvas.harvard.edu/courses/34992/assignments/syllabu... - Classics of Computer Science

and that page contains this link to a spreadsheet with links to over 150 historic papers and other sources:

https://docs.google.com/spreadsheets/d/1wS6O7-ZoFL7Cfjgt-kdh...

jonjacky··on Let's Not Dumb Down the History of Computer Science (2014)
See also Bret Victor's talk, "The Future of Programming". The conceit: it's 1973, he describes (with an overhead projector and transparencies) some then-innovative ideas that he hopes will be adopted in the future.

http://worrydream.com/dbx/

← PreviousPage 13 of 24Next →