The HidrateSpark… Internet of Drinking Bottles

Earlier this Summer, I received a HidrateSpark PRO water bottle as a gift. It is a fascinating piece of “smart” technology. The bottle itself is a decent piece of engineering and a somewhat practical product. But the overall product concept just strikes me as mostly contrived. The associated app is almost comical in its attempts to turn a piece of hardware into a “service”.

Continue reading “The HidrateSpark… Internet of Drinking Bottles”

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”

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!”

Windows 10 Controlled Folder Access – Good Idea, Implementation not Quite There

The new Windows 10 Controlled Folder Access (CFA) feature is a great idea – prevent unknown programs from modifying your files, to stop ransomware in its tracks.  It is so good that I forced an early update to Windows 10 Build 1709 (“Fall Creators Update”) on a couple of my home machines and enabled it.  Now, I have quickly disabled it, as it is not possible to actually use it in a real environment.  It just stops things a bit too hard.

Continue reading “Windows 10 Controlled Folder Access – Good Idea, Implementation not Quite There”

Reverse Debug with Hardware in the Loop

reverse iconLast year (2015), a paper called “Don’t Panic: Reverse Debugging of Kernel Drivers” was presented at the ESEC/FSE (European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering) conference. The paper was written by Pavel Dovgalyuk, Denis Dmitriev, and Vladimir Makarov from the Russian Academy of Sciences. It describes a rather interesting approach to Linux kernel device driver debug, using a deterministic variant of Qemu along with record/replay of hardware interactions.  I think this is the first published instance of using reverse debugging in a simulator together with real hardware.

Continue reading “Reverse Debug with Hardware in the Loop”

Corsair K65 and K70 Keyboards

When my old CM Storm mechanical gaming keyboard stopped working a while ago, I looked around for replacement alternatives. I ended up getting the new Corsair K65 RGB LUX narrow keyboard. A while earlier this year, I got a Corsair K70 at work. Thus, I can do a double review on a pair of closely related keyboards, but with different key switches, sizes, and backlighting systems.

Continue reading “Corsair K65 and K70 Keyboards”

Windows 10 – An Upgrade Worth Doing

icon-windows-logo  Now that Windows 10 has been officially out for a while, I decided to give it a try on one of my home machines. I expect that all my Windows 8.1 machines will be updated eventually – it is a free update, after all, and supposedly things should work just as well as in Windows 8.1. Just with a different user interface. Windows 10 is indeed different from Windows 8.1 in fairly significant ways, and it really feels like what would have come after Windows 7 if Windows 8 hadn’t come between. I can see why many or even most people see this as the better upgrade path, even if I lament some of the changes made.

Continue reading “Windows 10 – An Upgrade Worth Doing”

Microsoft Catapult – Real Interesting Research at Real Scale

microsoft logo 2014At the ISCA 2014 conference (the biggest event in computer architecture research), a group of researchers from Microsoft Research presented a paper on their Catapult system. The full title of the paper is “A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services“, and it is about using FPGAs to accelerate search engine queries at datacenter scale. It has 23 authors, which is probably the most I have ever seen on an interesting paper. There are many things to be learnt from and discussed about this paper, and here are my thoughts on it.

Continue reading “Microsoft Catapult – Real Interesting Research at Real Scale”

Book Review: Debugging

debugging  book coverDebugging – the 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems by David Agans was published in 2002, based on several decades of practical experience in debugging embedded systems. Compared to the other debugging book I read this Summer, Debugging is much more a book for the active professional currently working on embedded products. It is more of a guidebook for the practitioner than a textbook for students that need to learn the basics.

Continue reading “Book Review: Debugging”

Book Review: If I Only Changed the Software, why is the Phone on Fire?

This blog post is a review of the book “If I Only Changed the Software, why is the Phone on Fire“, (see more information on Amazon, for example), by Lisa Simone. The book was released in 2007, on the Elsevier Newnes imprint. It is a book about debugging embedded systems, written in a murder-mystery style with a back story about the dynamics of an embedded development team. It sounds strange, but it works well.

Continue reading “Book Review: If I Only Changed the Software, why is the Phone on Fire?”

FLOSS Weekly on Xen: Some Background Missing

flossweeklyFLOSS Weekly recently ran an interview with the creator of the Xen project, Ian Pratt from the University of Cambridge (and now working for Citrix since they bought Xensource). Since I happen to like virtual things, even the so-much-talked-about-it-hurts IT/server/desktop virtualization world this was a must-listen. It was a good show, but lacking some in the humble background department.

Continue reading “FLOSS Weekly on Xen: Some Background Missing”

When does Hardware Acceleration make Sense in Networking?

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“.

Continue reading “When does Hardware Acceleration make Sense in Networking?”

Book review: ZX Spectrum BASIC

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.

Continue reading “Book review: ZX Spectrum BASIC”

The Tyranny of Syntax on Stackoverflow

stackoverflowlogo250hq2The 44th episode of the Stackoverflow podcast contains an interesting discussion on what I have liked to call “the tyranny of syntax”.They note that for some reason people are scared of anything that does not look like C, but still lament some of the less good design patterns in C, such as the fact that closing braces have no annotations as to what is being closed. They also talk about the use of “little languages”, and an old favorite song of mine.

Continue reading “The Tyranny of Syntax on Stackoverflow”