• About Jakob Engblom and this blog
Observations from Uppsala Computer Simulation, Virtual Platforms, Embedded Programming, Multicore and More (by Jakob Engblom)

Category Archives: History

Bliss: Failing to Pivot for Ideology

2013 February 17 22:05 / Leave a Comment / Jakob

Note: This post was caused by listening to an interesting science podcast while thinking about the theories of startups, and the connection might seem a bit odd. Still, I think there is something to be learnt here. End note.

I recently listened to the episode on Bliss, by the Radiolab podcast. As always, Radiolab manages to take a theme and connect all kinds of things to it. In this case, bliss as in happiness turned into Bliss, the man, and his invention of Symbolics. Symbolics was an attempt to create a rational language based on symbols that would not allow the manipulation of human opinion or feeling like regular languages do. It was an attempt to create an antidote to the manipulations of dictators, tricksters, and populists (Bliss himself had been briefly interned in a pre-war German concentration camp, so he definitely knew what words could do). He designed a symbolic writing scheme that was intended to only communicate ideas clearly and unambiguously and with no room for demagogery and oratory. In the end, nobody wanted to use the language for its original purpose.

Read More →

Tweet
Posted in: business issues, general history, general research, history / Tagged: Blissymbolics, Charles Bliss, pivot, startup

Reverse Execution History Updates

2012 September 29 21:33 / 1 Comment / Jakob

After some discussions at the S4D conference last week, I have some additional updates to the history and technologies of reverse execution. I have found one new commercial product at a much earlier point in time, and an interesting note on memory consistency.

Read More →

Tweet
Posted in: embedded systeme, history of computing, programming / Tagged: CTS, Lauterbach, reverse debugging, reverse execution

“Eagle” Cycle-Accurate Simulator Anno 1979

2012 July 21 20:40 / 1 Comment / Jakob

I recently read the classic book The Soul of a New Machine by Tracy Kidder. Even though it describes the project to build a machine that was launched more than 30 years ago, the story is still fresh and familiar. Corporate intrigue, managing difficult people, clever engineering, high pressure, all familiar ingredients in computing today just as it was back then. With my interesting in computer history and simulation, I was delighted to actually find a simulator in the story too! It was a cycle-accurate simulator of the design, programmed in 1979.

Read More →

Tweet
Posted in: computer architecture, computer simulation technology, history of computing, virtual platforms / Tagged: 32-bit, cycle accuracy, Data General, Eclipse MV/8000, Soul of a new Machine, Tracy Kidder

Reverse History Part Three – Products

2012 January 8 21:51 / 4 Comments / Jakob

In this final part of my series on the history of reverse debugging I will look at the products that launched around the mid-2000s and that finally made reverse debugging available in a commercially packaged product and not just research prototypes. Part one of this series provided a background on the technology and part two discussed various research papers on the topic going back to the early 1970s. The first commercial product featuring reverse debugging was launched in 2003, and then there have been a steady trickle of new products up until today.

Post updated 2012-09-28 with a revised history.

Read More →

Tweet
Posted in: history of computing, programming / Tagged: debugging, gdb, Green Hills, Lauterbach, Multi, reverse debugging, reverse execution, Simics, TotalView, UndoDB, VMWare

Reverse History Part Two – Research

2012 January 8 21:42 / 2 Comments / Jakob

This is the second post in my series on the history of reverse execution, covering various early research papers. It is clear that reverse debugging has been considered a good idea for a very long time. Sadly though, not a practical one (at the time). The idea is too obvious to be considered new. Here are some papers that I have found dating from the time before “practical” reverse debug which for me starts in 2003 (as well as a couple of later entrants).

Read More →

Tweet
Posted in: history of computing, programming / Tagged: Bil Lewis, Bryce Cogswell, Channing Brown, Daniel Jacobowitz, George Dunlap, John Mellor-Crummey, Mark Russinovich, Marvin Zelkowitz, Mireille Ducasse, Murasa Bazrai, omniscient debugger, Paul Brook, Peter Chen, qemu, reverse debugging, reverse execution, ReVirt, Samuel King, Stuart Feldman, Sukru Cinar, Tankgut Akgul, Thomas LeBlanc, TTVM, Vincent Mooney

Reverse History Part One

2012 January 8 20:40 / 4 Comments / Jakob

For some reason, when I think of reverse execution and debugging, the sound track that goes through my head is a UK novelty hit from 1987, “Star Trekkin” by the Firm. It contains the memorable line “we’re only going forward ’cause we can’t find reverse“. To me, that sums up the history of reverse debugging nicely. The only reason we are not all using it every day is that practical reverse debugging has not been available until quite recently.  However, in the past ten years, I think we can say that software development has indeed found reverse.  It took a while to get there, however. This is the first of a series of blog posts that will try to cover some of the history of reverse debugging. The text turned out to be so long that I had to break it up to make each post usefully short. Part two is about research, and part three about products.
Read More →

Tweet
Posted in: history of computing, programming / Tagged: Checkpointing, record-replay, replay, reverse debugging, reverse execution

DV* 30 Years

2011 November 13 22:32 / Leave a Comment / Jakob

On the very binary date of 11-11-11, my alma mater, the computer science (DV, for datavetenskap) education at Uppsala University celebrated its thirty years’ anniversary. It was a great classic student party in the evening with a nice mix of old alumni and fresh-faced students. Lots of singing and some nice skits on stage. Great fun, and my voice has still not recovered. It also got me thinking about it is that we really do as computer scientists.

Read More →

Tweet
Posted in: history of computing, off-topic, programming / Tagged: DVL, DVP, Uppsala University

Wind River Blog: Surfing the Web with Netscape 4

2011 September 14 05:06 / Leave a Comment / Jakob

Just for fun, I tried to surf the web of today using a Netscape 4 browser from 2001.

The result: not exactly useful. Netscape 4 was bad back then, and it does not work at all with the current style of web coding.

Tweet
Posted in: history of computing, virtual machines, Wind River Blog

IBM i – I’m Impressed

2011 August 14 18:15 / 1 Comment / Jakob

From what little I had heard and read, the IBM AS/400 (later known as iSeries, and now known as simply IBM i) sounded like a fascinating system. I knew that it had a rich OS stack that contained most of the services a program needs, and a JVM-style byte code format for applications that let it change from custom processors to Power Architecture without impacting users at all.  It was supposedly business-critical and IBM-quality rock solid. But that was about it.

So when Software Engineering Radio episode 177 interviewed the i chief architect Steve Will, I was hooked. It turned out that IBM i was cooler than I imagined. Here are my notes on why I think that IBM i is one of the most interesting systems out there in real use.

Read More →

Tweet
Posted in: computer architecture, history of computing / Tagged: IBM, IBM i, Software Engineering Radio, Steve Will

Steve Furber: Emulated BBC Micro on Archimedes on PC

2011 August 13 11:35 / Leave a Comment / Jakob

I just read an interview with Steve Furber, the original ARM designer, in the May 2011 issue of the Communications of the ACM. It is a good read about the early days of the home computing revolution in the UK. He not only designed the ARM processor, but also the BBC Micro and some other early machines.

Read More →

Tweet
Posted in: computer simulation technology, history of computing / Tagged: ACORN Archimedes, ARM, BBC Micro, Communications of the ACM, Steve Furber

Wind River Blog: 20, 30, 60 years ago

2011 May 6 14:27 / Leave a Comment / Jakob

There is a new post at my Wind River blog, about some computing history. Wind River turns thirty this year, Simics twenty, and simulation for debug (and probably debug in general) turns sixty. Computing has come a long way.

Tweet
Posted in: computer simulation technology, history of computing, Wind River Blog / Tagged: debugging, Simics, Wind River

Cubase64 – Impressive Impossible Retro

2011 April 22 22:14 / 1 Comment / Jakob

I recently read the “Cubase64 White Paper” by Pex Tufvesson. It is a fantastic piece of retro computing, where he makes a Commodore 64 do real-time audio effects on a sampled piece of music. There is a Youtube movie showing the demo in action. Considering how hard we worked in the early 1980s to make a computer make any kind of useful noise at all, this is an amazing feat. It is also a feat that I think would have been impossible at the time.

Read More →

Tweet
Posted in: desktop software, history of computing / Tagged: audio, Commodore 64, Cubase64, Pex Tufvesson

Simple Machine, Hard to Simulate

2011 January 1 22:29 / 1 Comment / Jakob

In the June 2010 issue of Communications of the ACM, as well as the April 2010 edition of the ACM Queue magazine, George Phillips discusses the development of a simulator for the graphics system of the 1977 Tandy-RadioShack TRS-80 home computer.  It is a very interesting read for all interested in simulation, as well as a good example of just why this kind of old hardware is much harder to simulate than more recent machines.

Read More →

Tweet
Posted in: computer simulation technology, history of computing, virtual platforms / Tagged: Communications of the ACM, George Phillips

EDSAC – First Bootloader and Assembler

2010 September 5 07:08 / 1 Comment / Jakob

The EDSAC was an early computer in the mathematics laboratory at Cambridge in the UK. I have just read an old article on the machine and how it was programmed, from a 1998 issue of the IEEE Annals of the History of Computing.

There are many fascinating aspects to the machine and its utter simplicity, but one that struck me as I read the paper was that so many of the fundamental ideas of programming and practical computing were invented then and there. Indeed, the EDSAC was designed as a machine to experiment with programming, rather than as a machine for maximal computing performance.

Read More →

Tweet
Posted in: history of computing, programming / Tagged: assembler, bootloader, EDSAC, linker, loader

Pipeline Performance Simulator Anno 1960

2010 May 3 20:56 / 1 Comment / Jakob

I have just found what almost has to be the first cycle-accurate computer simulator in history. According to the article “Stretch-ing is Great Exercise — It Gets You in Shape to Win” by Frederick Brooks (the man behind the Mythical Man-Month) in the January-March 2010 issue of IEEE Annals of the History of Computing, IBM created a simulator of the pipeline for the IBM 7030 “Stretch” computer developed from 1956 to 1961 (photo from IBM.com).

Read More →

Tweet
Posted in: computer architecture, computer simulation technology, history of computing / Tagged: clock-cycle models, cycle accuracy, Frederick Brooks, Harwood Kolsky, IBM, IBM 7030, ISCA, pipeline, Tensilica

Eyjafjallajökull is Showing us Something

2010 April 18 20:06 / 1 Comment / Jakob

Wow. The eruption of Eyjafjallajökull in Iceland and the resulting ashcloud has had an effect that I would never ever have expected. A near-total closing down of the European airspace is such a drastic thing to happen to nobody seems to have expected. It has certainly not been included in the list of worst-case scenarios to plan for in company and government contingency plans. Where does this leave us? In a very interesting situation indeed. Worst-case, we will have to do without air travel for months.

Read More →

Tweet
Posted in: business issues, history, off-topic, transportation, travel / Tagged: ashcloud, Eyjafjallajökull, Iceland

Matt’s Today in History: System/360

2010 April 8 10:58 / Leave a Comment / Jakob

I am a regular listener to the Matt’s Today in History podcast. When Matt asked for contributions for this spring (in order to meet a goal of 500 podcasts before Summer) I did give some thought to what I could contribute. Looking over some books, I found one suitable Spring date: the launch of the IBM System/360 back in 1964. The resulting podcast is now live at Matt’s Today in History.

Please be kind to any mistakes… I am trying to paint a broad picture for a computer-history-ignorant audience here.

Tweet
Posted in: appearances, history of computing / Tagged: IBM, Matt's Today in History, System/360

Off-Topic: Old and New Lego

2010 January 8 19:09 / Leave a Comment / Jakob

During the Christmas holidays, I got the chance to compare my oldest child’s brand new Lego set with some from the mid-1980s. It is quite striking how much larger the things in the sets have become, and how much more affordable (in relative terms) Lego has become since then.

Read More →

Tweet
Posted in: gadgets, general history, history, off-topic / Tagged: lego

It was Twenty Years Ago Today

2009 November 8 22:36 / 1 Comment / Jakob

Unless you have been living under a rock I guess the media deluge has made it clear that it was twenty years ago on November ninth that the Berlin Wall fell. Wow. Without a doubt the most momentous and important event that I have lived through. Not at all on the topic of this blog, but important enough to write some personal recollections about.

Read More →

Tweet
Posted in: general history, history of computing, off-topic

25 Microchips that “Shook the World”

2009 May 18 21:01 / Leave a Comment / Jakob

IEEE Spectrum has an article in its May 2009 issue called “25 Microchips that shook the world“. Not long or deep, but an interesting mix of chips from the 1970s, 80s, 90s, and the 2000s. Recommended as light reading.

Tweet
Posted in: history of computing, review / Tagged: chips, IEEE Spectrum

When does Hardware Acceleration make Sense in Networking?

2009 May 16 07:45 / 4 Comments / Jakob

q_stampYes, when does hardware acceleration make sense in networking? Hardware acceleration in the common sense of “TCP offload”. This question was answered by a very nicely reasoned “no” in an article by Mike Odell in ACM Queue called “Network Front-End Processors, Yet Again“.

Read More →

Tweet
Posted in: computer architecture, history of computing, multicore computer architecture, review / Tagged: accelerators, ethernet, hardware-software interface, heterogeneous, Mike Odell, networking, tcp

Book review: ZX Spectrum BASIC

2009 May 5 21:10 / 6 Comments / Jakob

sinclairspectrum-preI just rediscovered my first computer, a Sinclair ZX Spectrum (good picture) which I bought back in 1983 or 1984 (I have no trace of the exact date, unfortunately). The machine was a perfect machine to learn programming on in my opinion, consisting of little more than a Z80 processor with memory, bit-mapped display (with a famously odd-ball addressing scheme and color handling) and ultra-simple sound output and input. Most of my friends in the end bought Commodore C64 machines, which had more powerful graphics and sound hardware, but a processor that was much less fun to program.

The Spectrum came with a built-in BASIC interpreter that are up the bottom 16kB of the 64kB addressing space. The BASIC was actually fairly powerful and easy-to-use, and included a very fun programming textbook. I just reread that textbook, and it is quite strikingly well-written and manages to cover both basic computer-science-style programming and deep close-to-the-machine and real-time programming in a compact 150 pages. There is no credit to a particular author in the book I have (Swedish translation by a group of people at Ord & Form here in Uppsala), but an online scan credits Steven Vickers.

Read More →

Tweet
Posted in: history of computing, programming, review / Tagged: BASIC, ZX Spectrum

Marketing a Paper Magazine with a Podcast

2009 May 5 07:19 / Leave a Comment / Jakob

I just found a fairly interesting podcast that offers a nice example on how do marketing for paper-based magazines using digital ephemeral technology. The ancient warfare magazine has a podcast that accompanies each issue, where a set of history buffs discuss around the theme of the current issue of the magazine.

Read More →

Tweet
Posted in: business issues, general history / Tagged: ancient warfare, podcast commentary

Off-Topic: Vista, Laserwriter 12/640 PS, and FoxIt

2009 April 19 20:23 / 3 Comments / Jakob

laserwriter12640I have an old Apple LaserWriter 12/640 PS network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden’s first 300 MHz Pentium II machines… since then, my home machines have moved from MacOS 8 to Windows NT 4 to Windows 2000 to Windows XP and now Windows Vista 32- and 64-bit. But the trusty LaserWriter remains, keeps printing, and is still on its first toner cartridge!

However, moving to Vista has made the printing bit harder.

Read More →

Tweet
Posted in: desktop software, history of computing / Tagged: apple, FoxIt reader, laserwriter, print, Vista, Windows

The Details of Speed

2008 November 23 22:40 / 1 Comment / Jakob

I just read a fairly interesting book about the British Spitfire fighter plane of World War 2. The war bits were fairly boring, actually, but the development story was all the more interesting. I find it fascinating to read about how aviation engineers in the 1930s experiment and guess their way from the slow unwiedly biplanes of World War 1 and the 1920s to the sleek very fast aircraft of 1940 and beyond. It is a story that also has something tell us about contemporary software development and optimization.

Read More →

Tweet
Posted in: computer simulation technology, general history, virtual platforms / Tagged: Functional models, optimization, Speed, Spitfire

Off-topic: Computer Nostalgia at Stackoverflow

2008 October 3 12:31 / Leave a Comment / Jakob

Strongly recommended thread at stackoverflow: http://stackoverflow.com/questions/102714/what-was-your-first-home-computer is about your first home computer. Some good product shots, and also some really funny things inserted.

Tweet
Posted in: history of computing / Tagged: nostalgia, stackoverflow.com

Virtual Platforms for Late Hardware and the Winds of History

2008 July 30 22:56 / 5 Comments / Jakob

As might be evident from this blog, I do have a certain interest in history and the history of computing in particular. One aspect where computing and history collide in a not-so-nice way today is in the archiving of digital data for the long term. I just read an article at Forskning och Framsteg where they discuss some of the issues that use of digital computer systems and digital non-physical documents have on the long-term archival of our intellectual world of today. Basically, digital archives tend to rot in a variety of ways. I think virtual platform technology could play a role in preserving our digital heritage for the future.

Read More →

Tweet
Posted in: business issues, computer simulation technology, history of computing, virtual platforms, virtualization / Tagged: archive, digital archive, document retention, Forskning och Framsteg, Simics

The 1970 rule strikes again: Virtual Platform Principles in 1967

2008 May 30 22:37 / 5 Comments / Jakob

Being a bit of a computer history buff, I am often struck by how most key concepts and ideas in computer science and computer architecture were all invented in some form or the other before 1970. And commonly by IBM. This goes for caches, virtual memory, pipelining, out-of-order execution, virtual machines, operating systems, multitasking, byte-code machines, etc. Even so, I have found a quite extraordinary example of this that actually surprised me in its range of modern techniques employed. This is a follow-up to a previous post, after having actually digested the paper I talked about earlier.

Read More →

Tweet
Posted in: computer simulation technology, history of computing, multicore computer architecture, virtual platforms, virtualization / Tagged: 1969, HITAC-8400, Hitachi, IBM, operating systems, race condition, Temporal decoupling

Virtual Platform by Virtualization Extensions — 1969

2008 May 11 20:53 / 1 Comment / Jakob

By means of a trip down virtualization history, I found a real gem in 1969 paper called A program simulator by partial interpretation, by Kazuhiro Fuchi, Hozumi Tanaka, Yuriko Manago, Toshitsugu Yuba of the Japanese Government Electrotechnical Laboratory. It was published at the second symposium on Operating systems principles (SOSP) in 1969. It describes a system where regular target instructions are directly interpreted, and any privileged instructions are trapped and simulated. Very similar to how VmWare does it for x86, or any other modern virtualization solution.

Read More →

Tweet
Posted in: computer simulation technology, history of computing, multicore debug, virtual platforms, virtualization / Tagged: 1969, conference paper, HITAC-8400, Hitachi, IBM, SOSP

A logo from 1996 and simulation for archival purposes

2007 September 3 20:21 / Jakob

Back in 1996, DVP celebrated its 15th anniversary. When looking through my digital and paper archive, I found this gem: DVP 15 årThe official badge and logo for the 1996 anniversary! We also produced some mouse pads with this logo on them, one of which I still use for my daily job. Pretty good quality I must say.

The picture shown here was saved as GIF for use on the web. But scarily enough, apart from a few more GIF files, I could not open or even understand the file type of most of the files from that time, only ten years ago. Our digital archives are not very robust — more on that below.

Read More →

Tweet
Posted in: appearances, general history, history of computing / Tagged: alumni, DVL, DVP, Uppsala University

Post Navigation

1 2 Next »

Recent Posts

  • Military Science Fiction – The Books Blur Together
  • Wind River Blog: Starting & Configuring Simics
  • Wind River Blog:
  • Nudge Theory and Graphical User Interfaces
  • Wind River Blog: Collaborating with Recording Checkpoints
  • Wind River Blog: Simics 4.8 is Here
  • A Few Electrons too Many
  • Wind River Blog: Visuality NQ CIFS Server on Simics
  • Everything in the Cloud?
  • Wind River Blog: TCF and Simics
  • Off-Topic: Moving Bad Piggies Save Games
  • Two Cores, Four Cores, Eight Cores – Mobile Variety
  • Bliss: Failing to Pivot for Ideology
  • Wind River Blog and Movie: Demo of Simics Debugging
  • Simulation vs Reality in Schlock Mercenary

Categories

  • appearances (30)
  • articles (21)
  • blogging (10)
  • books (7)
  • business issues (31)
  • computer architecture (35)
  • conferences (34)
  • EDA (50)
    • ESL (35)
  • embedded (78)
    • embedded software (57)
    • embedded systeme (50)
  • general research (6)
  • history (32)
    • general history (7)
    • history of computing (26)
  • off-topic (94)
    • biking (5)
    • board games (1)
    • computer games (3)
    • desktop software (35)
    • food and drink (1)
    • funny (12)
    • gadgets (24)
    • Politics (3)
    • popular culture (5)
    • trains (5)
    • transportation (10)
    • travel (10)
    • websites (3)
  • parallel computing (92)
    • multicore computer architecture (51)
    • multicore debug (22)
    • multicore software (65)
  • programming (109)
  • review (8)
  • security (19)
  • teaching (7)
  • testing (9)
  • uncategorized (12)
  • virtual things (131)
    • computer simulation technology (68)
    • virtual machines (18)
    • virtual platforms (99)
    • virtualization (14)
  • Wind River Blog (43)

Tags

ARM blog commentary Cadence Checkpointing clock-cycle models Communications of the ACM computer architecture conference cycle accuracy debugging Domain-specific languages eclipse embedded freescale G900 heterogeneous homogeneous IBM Intel iPod lego linux mobile phones multicore off-topic office 2007 operating systems p4080 podcast commentary power architecture rant research reverse debugging reverse execution S4D SiCS Multicore days Simics simulation software tools Sun SystemC video virtualization Vista Windows

1

  • F-Secure Blog

Blogs and news

  • Andras Vajda's blog (on multicore)
  • Embedded in Academia (John Regehr)
  • Grant Martin
  • Jack Ganssle
  • My Wind River Blog
  • Security Now podcast
  • Secworks (Joachim Strömbergson)
  • Simon Kågström
  • Synopsys View from the Top
  • Worse Than Failure

Archives

  • June 2013 (3)
  • May 2013 (4)
  • April 2013 (1)
  • March 2013 (4)
  • February 2013 (1)
  • January 2013 (3)
  • December 2012 (2)
  • November 2012 (2)
  • October 2012 (1)
  • September 2012 (6)
  • August 2012 (4)
  • July 2012 (4)
  • June 2012 (3)
  • May 2012 (4)
  • April 2012 (2)
  • March 2012 (3)
  • February 2012 (1)
  • January 2012 (6)
  • December 2011 (2)
  • November 2011 (3)
  • October 2011 (4)
  • September 2011 (5)
  • August 2011 (4)
  • July 2011 (3)
  • June 2011 (4)
  • May 2011 (7)
  • April 2011 (1)
  • March 2011 (3)
  • February 2011 (5)
  • January 2011 (1)
  • December 2010 (4)
  • November 2010 (3)
  • October 2010 (5)
  • September 2010 (5)
  • August 2010 (5)
  • July 2010 (6)
  • June 2010 (5)
  • May 2010 (3)
  • April 2010 (4)
  • March 2010 (3)
  • February 2010 (4)
  • January 2010 (7)
  • December 2009 (6)
  • November 2009 (6)
  • October 2009 (7)
  • September 2009 (6)
  • August 2009 (7)
  • July 2009 (11)
  • June 2009 (5)
  • May 2009 (10)
  • April 2009 (7)
  • March 2009 (8)
  • February 2009 (9)
  • January 2009 (12)
  • December 2008 (8)
  • November 2008 (9)
  • October 2008 (9)
  • September 2008 (10)
  • August 2008 (13)
  • July 2008 (12)
  • June 2008 (8)
  • May 2008 (9)
  • April 2008 (10)
  • March 2008 (7)
  • February 2008 (8)
  • January 2008 (5)
  • December 2007 (5)
  • November 2007 (7)
  • October 2007 (7)
  • September 2007 (12)
  • August 2007 (9)
  • July 2007 (2)
© Copyright 2013 - Observations from Uppsala
Infinity Theme by DesignCoral / WordPress