Cancer Part 4: All’s Well that Ends Well

I last blogged about my experience with thyroid cancer in early 2020. Back then, I said that I felt pretty much normal. That has indeed continued to be the case, and recently I was declared as having formally recovered from the cancer. The guideline is apparently that after two years with no sign of a cancer resurgence, you are considered fully recovered. Future follow-ups are the responsibility of the primary care system instead of the hospital, with something like yearly or bi-yearly follow-up tests. Not so much to look out for the cancer, but to keep the Levaxin prescription correct.

Continue reading “Cancer Part 4: All’s Well that Ends Well”

Oljeön – The World’s Oldest Preserved Oil Refinery

With Covid-19 still a bit of an issue, the summer of 2021 is yet another one for “svemester” (Sverige-semester, or Sweden-vacation). There are plenty of things to see, and one place that I finally got to visit was the old oil refinery at Oljeön in Ängelsberg, home to Engelsbergs oljefabrik and the world’s oldest preserved oil refinery dating back to the mid-1870s. It is a beautiful piece of industrial history, well-preserved and with good guided tours.

View of Oljeön from the mainland. The refinery is the yellow building on the right, the darker building on the left is the one remaining oil storage shed
Continue reading “Oljeön – The World’s Oldest Preserved Oil Refinery”

Microsoft Windows memset Optimization – Stores are Free

I recently stumbled on a blog post called Building Faster AMD64 Memset Routines, written by Joe Bialek of the Microsoft Security Response Center (MSRC). The blog describes his efforts to improve the performance of the Windows kernel memset() function, across all sizes of memory to set. The reported optimizations are quite fascinating, and could be summed by avoiding branches even at the cost of doing redundant stores. Basically, stores are free while branches are expensive.

Continue reading “Microsoft Windows memset Optimization – Stores are Free”

Renovations and Software

Last year, we spent a significant part of the fall and early winter renovating some aspects of our apartment*. Things like (finally) updating the flooring in the living room, updating the wallpapers, painting the interior staircase white, and changing out all doors. The renovation process provides some interesting analogies to the process or updating an existing software code base – especially in discovering the design decisions of the past and unearthing the layers of legacy that underlies why things look like they do today.

Continue reading “Renovations and Software”

Corsair K83 – Living-Room Keyboard

I have had a PC in the living room connected to the family TV for a few years now, and in the past we used a wired Corsair K65 keyboard with it. The point of the machine was at least in part to play games, and for that a mechanical wired keyboard is de-rigeur (and I do love RGB backlighting). However, some recent changes to the computer fleet made the living-room PC into more of a media machine, and it was time to move to a wireless keyboard. Preferably one that also made the mouse superfluous. After some research, I ended up with the Corsair K83. I am rather happy with the keyboard overall, even though it is rather small and lacks RGB.

The Corsair K83 on a holiday-themed tablecloth
Continue reading “Corsair K83 – Living-Room Keyboard”

The First Swedish Programmer (1790s)?

The history show (and podcast) of Sverige Radio, Vetenskapsradion Historia, is one of the shows that I subscribe to and listen to regularly. In their look back at 2020, they reminded me of an episode from back in the summer that indirectly introduces what I believe to be the first programmer in Sweden.  

Continue reading “The First Swedish Programmer (1790s)?”

USB-C Works, but how would you Know?

Using USB-C to charge a laptop while simultaneously providing display and other IO traffic sounds a little bit too good to be true in practice.  Maybe it would work for a set of devices from a single manufacturer (like a Thunderbolt-based USB-C-attached dock from the same vendor as a laptop). However, recently I was surprised (in a good way) when it turned out that I had accidentally got myself a USB-C-based single-cable-to-the-laptop setup. USB-C promises a lot, in this case it delivers perfectly, but what bothers me is the fact that there is really no way I could have figured this out ahead of time.

Continue reading “USB-C Works, but how would you Know?”

Going Norrland

This year’s vacation trip was a roadtrip into Norrland, the northern part of Sweden. With the ongoing Covid-19 pandemic, it seemed safer and fairer to the healthcare system to stay in our own country.  It was also an opportunity, since I have wanted to and look at some places up north for quite a while now (such as Bodens Fästning and Hemsö Fästning).

Continue reading “Going Norrland”

Hemsö Fästning – Coastal Defense from the 1950s

Continuing on my blog posts about our Hemester (part 1 covered Bodens Fästning), this blog post will cover Hemsö Fästning. Both are fascinating places, but also rather different, and clearly demonstrate the changes from the early 1900s to the Cold War of the 1950s.

Continue reading “Hemsö Fästning – Coastal Defense from the 1950s”

Bodens Fästning – A Fortress in the North of Sweden

Due to Covid-19, this year’s summer vacation involved a “staycation”, or “hemester” as we say in Swedish. We went up north in Sweden, and took the chance to visit some military museums. In particular, the fortresses at Hemsön and Boden (fästning means fortress). Both are fascinating places, but also rather different, and clearly demonstrate the developments from the early 1900s to the Cold War of the 1950s. This post covers Boden, with a separate post for Hemsö released a few days after this post.

Continue reading “Bodens Fästning – A Fortress in the North of Sweden”

Recalling the Beginning of Covid-19 and Work-from-Home

Recently, we had a discussion at work (in our daily virtual team “fika”) where we reflected on just how many weeks we had been working from home due to the Covid-19 pandemic. It has been quite a few; I last saw the office in week 11, and week 19 is beginning… so I am looking at eight weeks personally. Just how did it all begin? I thought it useful to go back and try to remember how we got to this point. In hindsight, I never thought it would be this huge.

Continue reading “Recalling the Beginning of Covid-19 and Work-from-Home”

Adjusting to Work-from-Home: Remote Live Simics Training

In the current world-wide lockdown due to Covid-19, many things that were done in-person in the past have to become virtual. The Simics® New User Training that we run at Intel and with our customers and partners is no different. In normal times, we run in-person classes around the world, but that is not an option right now.  Thus, we shifted to running remote live classes as a substitute for the time being. This blog shares some of my experience from running remote live classes.

We changed the cover page of the Simics training to symbolize the change.
Continue reading “Adjusting to Work-from-Home: Remote Live Simics Training”

Cancer Part 3: So Far So Good

It has been a bit more than six months after my radiotherapy treatment for thyroid cancer, and I feel pretty much normal. Several times over the past few months, I have talked to people I have not seen in a while and they have asked me how I am doing. At first I just say “fine”… and I then realize that they are asking about the cancer. It’s not top-of-mind for me since I have been living with it for almost a year now, and it feels (currently) like it is “done”. Of course, it will be years before I am formally considered to have fully recovered, but right now I feel like I am functioning mostly normally (except a small side-effect from the medication).

Continue reading “Cancer Part 3: So Far So Good”

The Benefit of Live Teachers (Applied to Myself)

I have been spending quite a bit of time in recent years developing training materials and doing trainings for Simics. There is always a discussion on how best to do training, in particular between live sessions with actual trainers and offline video and other self-study resources. I am a firm believer in the value of live training, and during our recent winter vacation up in the Swedish mountains I made myself provide a perfect example of the value of a teacher. I took a skiing lesson.

Continue reading “The Benefit of Live Teachers (Applied to Myself)”

Cancer Part 2: Going Radioactive

As I chronicled earlier this year (see “A Sudden Case of Cancer”), I got a Thyroid Cancer diagnosis back in May of this year. In June I went through surgery which went very well. After only three weeks, I was sufficiently recovered to travel to Greece and give a keynote presentation at the SAMOS conference. My scar prevented me from taking as much as advantage as I could have of the sun and pool, but it was possible to do at least a little bit of bathing towards the end. Now, I have reached part two of the treatment, radioiodine therapy to knock out any lingering cancer cells. Basically, I am going radioactive for a few days.

Continue reading “Cancer Part 2: Going Radioactive”

Failing to See WiFi Login Page [Captive Portal] / Solved

I have had some annoying problems in recent months with my work laptop refusing to connect to certain WiFi login pages (more technically known as Captive Portals), essentially locking me out of the WiFi in certain places. Here is how I solved it.

Continue reading “Failing to See WiFi Login Page [Captive Portal] / Solved”

Intel Blog: Simics 6 Device Register Coverage

I have a new blog post out on the Intel Developer Zone, about the Simics 6 device register coverage feature. I use device register coverage to look at how different operating systems use the same hardware. The differences are significant, demonstrating the (rather expected) observation that different software stacks use the same hardware in different ways.

Continue reading “Intel Blog: Simics 6 Device Register Coverage”

Excel 2016 & CSV Import – Hilariously Broken

I just started using Office 365 at work, and almost immediately I hit a hilariously bad problem in the core simple “import CSV” functionality. Basically, the Excel 2016 that I got (it is 2016, not the latest 365 that my home machine all use) does not understand Windows line endings or decimal numbers.

Continue reading “Excel 2016 & CSV Import – Hilariously Broken”

Using FPGAs to Simulate old Game Consoles

A while ago, Ars Technica reviewed the Mega Sg, a modern clone of the old Sega Genesis gaming system. I stumbled on this review recently and realized that this is a fascinating piece of hardware. The Mega Sg is produced by a company called Analogue (https://www.analogue.co/), presumably named thus because they create analogues to old gaming consoles. The way this is done is different from most current “revive the old consoles” products that simply use software emulation to run old games. Instead, Analogue seems to have settled on using FPGA (Field-Programmable Gate Array) technology to basically build new hardware that is functionally equivalent to the old console hardware.

Continue reading “Using FPGAs to Simulate old Game Consoles”

Off-Topic: Vacation in Crete

This year’s family vacation was spent on the Greek island of Crete, in an all-inclusive resort close to Chania on the north coast. Overall we got nice weather and an enjoyable pool-and-sun holiday, mostly staying at the hotel with a few excursions. In the following, I will go through some of the most surprising or interesting observations I made in Crete. Greek letters are cool, but I do not think we will go back to Greece any time soon when there are higher-quality places available (such as Spain).

Continue reading “Off-Topic: Vacation in Crete”

A Sudden Case of Cancer

Cancer – it is a scary thing, and it recently became part of my life. It is only two weeks ago today that I got my cancer diagnosis, and I am already out of surgery and recovering. It has been a very speedy process, and hopefully this will be the end of it. Getting a cancer diagnosis is a bit rattling, but there is no reason to panic.

Continue reading “A Sudden Case of Cancer”

DOOM Black Book – This is Brilliant!

Book cover

I heard about the DOOM Game Engine Black Book by Fabien Sanglard on the Hanselminutes podcast episode 666, and immediately ordered the book. It was a riveting read – at least for someone who likes technology and computer history like I do. The book walks through how the ID Software classic DOOM game from 1993 works and the tricks and techniques used to get sufficient performance out of the hardware of 1993. As background to how the software was written, the book contains a great description of the hardware design of IBM-compatible PCs, gaming consoles, and NeXT machines circa 1992-1994. It covers software design, game design, marketing, and how ID Software worked.

Continue reading “DOOM Black Book – This is Brilliant!”

Living with a Nokia 7.1 Phone

For the past couple of weeks, I have been using a Nokia 7.1 phone as my main phone while my main Sony phone has been off for repairs. My habit for quite a few years has been to use Sony “flagship” phones as my work phones (and way back, even Sony-Ericsson). The question this poses – how was it to use a theoretically far weaker “mid-range” phone instead of a flagship?

Continue reading “Living with a Nokia 7.1 Phone”

Off-Topic: Windows Explorer Tip: Shift Right-Click

For some reason, Microsoft has decided to hide some decidedly useful features in Windows 10 explorer behind the non-intuitive and rather unknown “shift-key + right-click” combination.

Continue reading “Off-Topic: Windows Explorer Tip: Shift Right-Click”

Off-Topic: The Corsair K55 Rather Silent Keyboard

I have tried yet another keyboard at home in my quest to find one that the rest of the family finds sufficiently silent – while still being nice to type on. While my fingers love the feeling of the super-clicky MX Blues in my K70 at work, it is not the best choice with other people in the same room, especially at home. Thus, my long-running quest for a keyboard with a nice feel but less noise. I started with a Matias Quiet, and when that broke I tried a Corsair RGB Silent Strafe with the rather expensive MX Silent switches. The “silent” was not sufficiently silent, though, bringing me to the latest keyboard I am trying: the Corsair K55 RGB.

Continue reading “Off-Topic: The Corsair K55 Rather Silent Keyboard”

Windows 10 Reboot Loop – CUDA & Alienware

Late last year I was trying to do some machine learning work on my brand new Alienware 15 R4 gaming laptop. I had bought the laptop in order to have something portable with sufficient performance to actually do convolutional neural network (CNN) training and inference “on the road”. The GTX 1060 in the laptop is just as powerful as my home desktop machine, and should run Tensorflow and Keras well. I had the setup working on the desktop already, and copied the code over to the laptop. When trying to run the code the first time, I got some rather strange errors that I finally figured out meant that I was missing the CUDA toolkit. I downloaded CUDA version 10, installed, and the machine rebooted into the Windows 10 automatic repair mode.

Continue reading “Windows 10 Reboot Loop – CUDA & Alienware”

Keyboard Miscoloring – Just how does this Bug Happen?

I have a documented love for keyboards with RGB lighting. So I was rather annoyed when one of my Corsair K65 keyboards suddenly seemed to lose its entire red color component. The keyboard is supposed to default to all-red color scheme with the WASD and arrow keys highlighted in white when no user is logged in to the machine it is connected to – but all of a sudden, it went all dark except a light-blue color on the “white” keys. I guessed it was just a random misconfiguration, but it turned out to be worse than that.

Continue reading “Keyboard Miscoloring – Just how does this Bug Happen?”

Off-Topic: Swedish Armed Forces Airshow 2018

Last weekend, the yearly Flygdag (Airshow) of the Swedish Armed Forces took place in Uppsala at Ärna. Huge crowds, but it was still easy to get a good view of the aerial displays that took place. In this blog post, I just wanted to share a few photos.

Clever marketing for the show – instead of flight mode, we have “combat flight mode”.

Continue reading “Off-Topic: Swedish Armed Forces Airshow 2018”

Off-Topic: Some Ice Cream Places

During this year’s vacation trips, we sampled an unusual number of ice cream places around Sweden & Europe. Here are some notes on a few places we visited and where I took the time to actually take some photographs…

Continue reading “Off-Topic: Some Ice Cream Places”

Experiencing Gamla Uppsala in the Year 650 using Virtual Reality

Last month, I (together with my family and some friends) tried the virtual reality (VR) experience that has been created for the museum in Gamla Uppsala. VR is used to let people explore the area around Gamla Uppsala, experiencing what it looked like back in the year 650 AD. 650 AD is in the middle of the Vendeltid era (before the Viking age which is typically considered to start around the year 800). At this point in time, Gamla Uppsala had been an important religious and political center for a long time. The big burial mounds that dominate the landscape to this day were already old by then, having built in the 500s.

Continue reading “Experiencing Gamla Uppsala in the Year 650 using Virtual Reality”