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

Buying High Technology

2012 August 8 02:19 / 1 Comment / Jakob

Selling and marketing high technology is what I do for a living. My counterpart is the customer or buyer, and I help design, build, explain, an market these products.  In this role, I am most usually the expert on the domain, helping potential customers understand what we sell and why it will help them.  Both at the high-level value proposition and the details behind it.  Some people focus most of the their energy on the high-level value proposition, but I feel that youoften need a bit detail backing that as well.

I recently had the enlightening experience of being on the buying side instead, experiencing the transition from high-level value proposition to low-level details.  It struck me as being quite similar to what the customers for our virtual platforms would experience when coming in new to the field.

I bought a camera.

Read More →

Tweet
Posted in: business issues, gadgets / Tagged: camera, Canon, lens, marketing, Nikon, Pentax, sales, Sony

“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

Some Fun Cache Results from Carbon

2012 July 6 20:40 / 2 Comments / Jakob

Carbon Design Systems have been on a veritable blogging spree recently, pushing out a large number of posts around various topics. Maybe a bit brief for my taste in most cases (I have a tendency to throw out 1000+ word pseudo-articles when I take the time to write a blog), but sometimes very interesting nevertheless. I particularly liked a few posts on cache analysis, as they presented some good insight into not-quite-expected processor and cache behaviors.

Read More →

Tweet
Posted in: computer architecture, computer simulation technology, EDA, ESL / Tagged: cache, Carbon, cycle accuracy, performance optimization

Wind River Blog: Inside the Simics QSP – Additional Notes

2012 July 6 20:11 / Leave a Comment / Jakob

There is a new post at my Wind River blog, about the design and technical contents of the new Simics Quick Start Platforms, more widely known as the QSP. The blog describes the virtual-only hardware that forms part of the QSP, and how it was designed. It is interesting to note that the hardware ended up a bit more complex that I initially thought it would be, since an ideal virtual platform should be very simple. Right? Turns out an OS complicates things.

Read More →

Tweet
Posted in: virtual machines, Wind River Blog / Tagged: Android, Carbon, CPAK, QSP, Simics

Off-topic: Society without God

2012 July 2 22:06 / 1 Comment / Jakob

I just finished reading Society without God, by American sociologist Phil Zuckerman. The book came out back in 2008, but I heard about it recently on a skeptic podcast and I felt I just had to buy it. Phil Zuckerman spent a year in Denmark in 2006, and also visited Sweden during that time to perform interviews with a wide sample of what seems to me to be typical Swedes and Danes, trying to understand their attitude towards god and religion. His conclusion is that the Nordic countries today are a special little area of deep secularism in a world that is mostly religious and apparently growing more religious recently. Even in fairly secularized Western Europe, the Nordic countries stand out (or at least Denmark and Sweden does, in his research). So what? For a Swede like myself this is pretty obvious… but when you combine this with the fact that the standard of living and overall feeling of security and quality of life in Denmark and Sweden is very high, Zuckerman finds a great argument against a certain argument brought forth by Christian conservatives in the US…

Read More →

Tweet
Posted in: books, off-topic, Politics, popular culture / Tagged: book review, Denmark, Phil Zuckerman, Sweden

Youtube Movie on Reverse Execution (and a small bit of Reverse Debug)

2012 June 27 21:04 / Leave a Comment / Jakob

We just uploaded a short movie about reverse execution and reverse debugging to Youtube, to the Wind River official channel. In the short time available in this demo, we really only show reverse execution. Reverse debug, as I define it, is not used much at all, as explaining what goes on when you start to put breakpoints into a program and analyze its behavior takes a surprising amount of time.

Read More →

Tweet
Posted in: appearances, embedded software, virtual platforms / Tagged: Blue Mic, reverse debugging, reverse execution, Simics, video

Building a Spy-Proof OS?

2012 June 16 09:16 / 2 Comments / Jakob

I am not in the computer security business really, but I find the topic very interesting. The recent wide coverage and analysis of the Flame malware has been fascinating to follow. It is incredibly scary to see a “well-resourced (probably Western) nation-state” develop this kind of spyware, following on the confirmation that Stuxnet was made in the US (and Israel).

In any case, regardless of the resources behind the creation of such malware, one wonders if it could not be a bit more contained with a different way to structure our operating systems. In particular, Flame’s use of microphones, webcams, bluetooth, and screenshots to spy on users should be containable. Basically, wouldn’t cell-phone style sandboxing and capabilities settings make sense for a desktop OS too?

Read More →

Tweet
Posted in: desktop software, programming, security / Tagged: capabilities, Flame, MILS, mobile phones, operating systems, Stuxnet

Off-Topic: Analyzing Outlook Mailbox Size

2012 June 2 16:35 / 2 Comments / Jakob

Where I work, we use Exchange as our email server and Outlook as the primary client (at least I do). We also have an email quota that I keep bumping into, since I have a tendency to attract many emails with large attachments like image-happy PowerPoint files or binary code modules to patch things. I am also an extreme user of email folders. My main Outlook account contains some 650 folders, and my offline archive of all my old emails reaches towards 1300, with many 100s of thousands of emails for a total of almost 20 GB. So, pretty extreme.

My problem is: what do I do when the email system tells me (and it is serious, I can attest) that I am close to hitting my quota and that soon email will neither be received nor sent? I want to find the folders that are very large and candidates for some archiving. The answer has eluded me for a long time, until I stumbled upon a 2010 Youtube video: http://www.youtube.com/watch?v=3skJOd4GIak, from “tech-informer.com” (which now looks pretty dead). With some modifications, this solved my problem.

Read More →

Tweet
Posted in: desktop software / Tagged: analysis, email, Excel, how-to, Outlook, SnagIt, Windows

Wind River Blog: Teaching Networking with Simics

2012 May 28 21:19 / 1 Comment / Jakob

On the Wind River corporate blog, I have put up a blog post about how Wind River Education Services is going to use Simics to teach networking. What is interesting with this approach is that it shows how a virtual platform can be used for tasks like teaching that don’t have much to do with hardware modeling or similar “typical” VP uses. In this case, the key value is encapsulation of a set of machines running real operating systems and software stacks, and with lots of networks connecting them.

Tweet
Posted in: teaching, virtual platforms, Wind River Blog / Tagged: networking, Simics

IBM Mainframe: Parallelism as Patch

2012 May 19 21:58 / 2 Comments / Jakob

When IBM moved their mainframe systems (the S/360 family that is today called System Z) from BiCMOS to mainstream CMOS in 1994, the net result was a severe loss in clock frequency and thus single-processor performance. Still, the move had to be done, since CMOS would scale much better into the future. As a result, IBM introduced additional parallelism to the system in order to maintain performance parity. Parallelism as a patch, essentially.

Read More →

Tweet
Posted in: computer architecture, parallel computing / Tagged: IBM, mainframe, parallel sysplex, System/360, zSeries

Wind River Blog: Forcing Rare Bugs to Appear using Simics

2012 May 3 10:59 / Leave a Comment / Jakob

There is a new post at my Wind River blog, about how a team of researchers at the University of Nebraska at Lincoln is using Simics to force rare bugs to manifest themselves as errors. They used Simics to control a target system to force it into rare situations much more likely to trigger latent bugs, requiring far fewer test runs compared to just randomly rerunning tests again and again and hoping to see a bug.

Tweet
Posted in: testing, virtual platforms, Wind River Blog / Tagged: Simics, University of Nebraska at Lincoln

Carbon “Swap ‘n’ Play” – A New Implementation of an Old Idea

2012 May 1 20:53 / 2 Comments / Jakob

Carbon Design Systems have been quite busy lately with a flurry of blog posts about various aspects of virtual prototype technology. Mostly good stuff, and I tend to agree with their push that a good approach is to mix fast timing-simplified models with RTL-derived cycle-accurate models. There are exceptions to this, in particular exploratoty architecture and design where AT-style models are needed. Recently, they posted about their new Swap ‘n’ Play technology, which is a old proven idea that has now been reimplemented using ARM fast simulators and Carbon-generated ARM processor models.

Read More →

Tweet
Posted in: computer architecture, computer simulation technology, ESL, virtual platforms / Tagged: Bill Neifert, Carbon Technology, Checkpointing, SimOS, Simpoint

Off-Topic: Angry Birds Space (Good Game, Bad Price)

2012 April 29 21:03 / 1 Comment / Jakob

Once upon a time, I was young man in high school where our little computer club got a new PC with a color screen and a floating-point coprocessor. One fun little program I wrote was a simple gravity simulator, where a number of point-size assigned various mass flew around interacting with each other. We used that program and tried to set up initial setting for sizes, speeds, and directions of bodies that would result in some kind of stable system. More often that not, all we managed to create were comets that came in, took a sharp corner around a “star” and disappeared out into the void again. Still, it was great fun. And when I discovered Angry Birds Space it felt like a chance to try that again. Overall, “space” as my son calls it is a great spin on the Angry Birds idea. However, the way it is sold does not make me too happy.

Read More →

Tweet
Posted in: business issues, computer games, off-topic / Tagged: Angry Birds, games, iPod, review

Wind River Blog: Code Coverage over a Back Door

2012 April 22 12:40 / 2 Comments / Jakob

There is a new post at my Wind River blog, about how the LDRA code coverage tools have been brought to work on Simics using a simulation-only “back door “.

The most interesting part of this is how a simulator can provide an easy way to get information out of target software, without all the software and driver overhead associated with doing the same on a real target. In this case, all that is needed is a single memory-mapped location that can written to be software – which can be put into user-mode-accessible locations if necessary.

Read More →

Tweet
Posted in: programming, virtual platforms, Wind River Blog

Back to Bare Metal

2012 March 30 22:10 / 1 Comment / Jakob

Once upon a time, all programming was bare metal programming. You coded to the processor core, you took care of memory, and no operating system got in your way. Over time, as computer programmers, users, and designers got more sophisticated and as more clock cycles and memory bytes became available, more and more layers were added between the programmer and the computer. However, I have recently spotted what might seem like a trend away from ever-thicker software stacks, in the interest of performance and, in particular, latency.

Read More →

Tweet
Posted in: computer architecture, embedded software, multicore software, programming / Tagged: Communications of the ACM, ethernet, Luigi Rizzo, NetMap, networking

Wind River Blog: 80186 and 8051

2012 March 19 13:13 / 1 Comment / Jakob

Wind River recently added a couple of new processor models to Simics: the 30-year-old 80186 and the 32-year-old 8051.

I have a blog post about this up on the Wind River tools blog. Pretty amazing to see us model an eight bit machine in 2012 – just proves how long-lived some hardware systems are.

Tweet
Posted in: virtual platforms, Wind River Blog / Tagged: 80186, 8051, Simics, x86

Wind River Blog: Crystal Forest on Simics

2012 March 12 12:08 / Leave a Comment / Jakob

There is a new post at my Wind River blog, about Simics running a model of the new Intel Crystal Forest platform. Crystal Forest is a very complex piece of hardware, but I am pretty happy that we managed to demo it in an understandable way – by essentially using it as a black box and putting a pretty display on top of that (using Eclipse).

 

Tweet
Posted in: virtual platforms, Wind River Blog / Tagged: Crystal Forest, Intel, Simics

David Ungar: It is Good to be Wrong

2012 February 12 23:31 / 7 Comments / Jakob

I was recently pointed to a 2011 SPLASH presentation by David Ungar, an IBM researcher working on parallel programming for manycore systems. In particular, in a project called Renaissance, run together with the Vrije Universiteit Brussels in Belgium (VUB) and Portland State University in the US. The title of the presentation is “Everything You Know (about Parallel Programming) Is Wrong! A Wild Screed about the Future“, and it has provoked some discussion among people I know about just how wrong is wrong.

Read More →

Tweet
Posted in: computer architecture, multicore debug, multicore software, programming / Tagged: David Ungar, manycore, Portland State, Renaissance, Smalltalk, Squeak, Vrije Universiteit Brussels

Off-Topic: Ticket-to-Ride Pocket is Broken

2012 January 29 21:45 / Leave a Comment / Jakob

Ticket to Ride is a nice real-world board game that is generally considered one of the best family and gateway games (and a decent game even for experienced gamers). We recently got it for our iPod Touches, and the weakness of the computer players quickly turned it from “I wonder if I can win this game” into “let’s shoot for the highest score possible”.

Chasing high scores is fairly typical for computer games – playing against human beings you are motivated to win, even if you win by scoring a measly 75 points… while against the computer it becomes about beating your own old scores. Unfortunately, this also turns repetitive after a while, due to some small design flaws that really should be easy to fix.

Read More →

Tweet
Posted in: board games / Tagged: highscore, ticket to ride

Wind River Blog: Fault Injection with Simics

2012 January 23 22:57 / Leave a Comment / Jakob

There is a new post at my Wind River blog, about how you actually do fault injection in Simics. This particular post is pretty detailed, showing the actual architecture of a fault injector in Simics, not just “yes you can do it”. It includes actual diagrams of system components and how you can insert fault injection into an existing system, so it is a bit more technical than most my Wind River blog posts that tend to be more conceptual.

Tweet
Posted in: testing, Wind River Blog / Tagged: fault injection, Simics

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

Keynote on System-Level Debug

2012 January 1 22:12 / 2 Comments / Jakob

I have now posted the slides from my keynote talk at the S4D 2011 conference to the presentations list on my regular home page. The topic of that talk was “System-Level Debug”, something which has started to interest me in recent years.

Read More →

Tweet
Posted in: appearances, conferences, embedded software, embedded systeme, programming

Touch the Screen vs Press a Button

2011 December 26 11:02 / Leave a Comment / Jakob

Is the touchscreen the end-all of user interfaces for mobile devices? There were rumors in early 2011 that the iPad2 would lose all physical buttons (which did not come true, obviously).  To me, that sounds like a really good and bad idea. Good, in the sense that a device that is all a big screen certainly looks nice. Bad, since it would be much less user-friendly than a device with some real physical buttons to press.

I have been thinking about this subject lately, after using a BlackBerry Torch 9800 as my work phone for a few months.  I like the device a lot, but there are certainly some rough edges and some places where there is a UI conflict between touching the screen and pressing the buttons. At the same time, I am using both an iPod Nano 3G, and a couple of iPod Touches. I used to have SonyEricsson Symbian-based P900, P990i, and G900 smart phones which also were combined touch/press devices with a stylus.

Read More →

Tweet
Posted in: gadgets / Tagged: Blackberry, BlackBerry Torch, G900, GUI design, iPod, iPod Nano, iPod Touch, keyboard, SonyEricsson, touch screen, UIQ

Fujitsu Server Fault Injection Robot

2011 December 11 22:53 / Leave a Comment / Jakob

Fault Injection is a topic that has fascinated me for a long time. Not just the area of software-to-software fault injection, but more so how you inject faults into hardware using hardware (and how to conveniently approximate this using a simulator). I just stumbled on a short interesting note about such hardware-actuated fault injection in a Fujitsu article.

Read More →

Tweet
Posted in: computer architecture, testing / Tagged: fault injection, fujitsu, Masafumi Matsuo, server, Yuichi Kurita, Yuji Uchiyama

Debug, Design, and Microsoft Data

2011 November 19 17:38 / 1 Comment / Jakob

It used to be that Microsoft was the big, boring, evil company that nobody felt was very inspiring. Today, with competition from Google and Apple as well as a strong internal research department, Microsoft feels very different. There are really interesting and innovative ideas and paper coming out of Microsoft today.  It seems that their investments in research and software engineering are generating very sophisticated software tools (and good software products).

I have recently seen a number of examples of what Microsoft does with the user feedback data they collect from their massive installed base. I am not talking about Google-style personal information collection, but rather anonymous collection of user interface and error data in a way that is more designed to built better products than targeting ads.

Read More →

Tweet
Posted in: programming / Tagged: Communications of the ACM, debugging, Kinshuman Kinshumann, Microsoft, Steven Sinofsky, Windows, Windows 8, Windows Explorer

Wind River Blog: Interview with a Networked Simics User

2011 November 16 17:58 / Leave a Comment / Jakob

There is a new post at my Wind River blog, an interview with Dan Poirot at RTI who is using Simics to model and test heterogeneous, distributed, networked systems.

Tweet
Posted in: testing, virtual platforms, Wind River Blog / Tagged: Dan Poirot, RTI, Simics

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

Jan Bosch: Software Provocateur

2011 October 29 20:09 / 1 Comment / Jakob

Last week, I had the honor of presenting at and attending the talks of the Lindholmen Software Development Day. The first keynote speaker was Professor Jan Bosch from Chalmers, who did his best to provoke, prod, and shock the audience into action to change how they do software. While I might not agree with everything he said, overall it was very enjoyable and insightful talk.

Read More →

Tweet
Posted in: business issues, programming / Tagged: Jan Bosch, Lindholmen Software Development Day, software

Post Navigation

« Previous 1 2 3 4 … 14 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