Closer look at the registers on an ARM cpu

In my dabbling with ARM assembly so far (my most recent achievement was completing my simple sorting algorithm – last update here), I had picked up that there’s 16 general purpose 32bit registers for holding either values or addresses, R0 through to R15, but paying a closer look I realized some of these have specific purposes, and or uses by convention.

R0: function argument or result

R1-R3: function args

R4-12: general purpose

R13: SP – this is the stack pointer

R14: LR – Link Register – it’s holds the address to branch back to when you call BR LR

R15: PC – the Program Counter – address pointing to the current instruction being processed

More info in the great summary on ARM Assembly here, and also in the ARM11 tech ref here.

Ubuntu 14.04 with nvidia drivers

I’ve been on a kick installing various flavors of OS recently (I’ve been repurposing an older desktop and starting with an empty hdd). In the past the brownish/orange colors of Ubuntu have just put me off, and the Unity desktop I thought was just a bit too unusual to be useful. So I started with Mint Cinnamon, That’s been my main desktop OS for a couple of months. Then I started looking at Fedora 22. This gave me no end of installation pain.

I’m installing on a HP Pavillion with an AMD quadcore, and nvidia 6150 onboard graphics. Seems this older gpu is killing me. Fedora 22 hangs on install around 33%. Fedora 21 will install in simple graphics mode. Trying to get the nvidia graphics installed though gave me a few late nights. No matter which instructions I’d follow, I could not get the nouveau graphics unloaded, and so would always get the error messages about the nouveau kernel modules are still loaded. I tried various tips from online sources, and eventually gave up.

A while back I noticed the noobslab site with a easy to follow apt-get steps to install new themes for Ubuntu. Huh, so if I can install a different theme then I can get rid of the brown default theme? I’ve played with Ubuntu Tweaks a while back and didn’t spend enough time playing with it to end up with something that I liked. but ready to give it another go. So I installed Tweak:

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Installed Crunchy themes from noobslab, and now I’m all set. Looks pretty cool too… this will do for a while.

My previous steps for installing nvidia-304 work fine on Ubuntu 14.04 too. So all set.

Windows 95 launched 20 years ago today

On August 24th 1995 Windows 95 was launched. The minimum required specs were:

  • a 386 cpu (around 25MHz at the time?)
  • 4MB RAM
  • 55MB free disk space

Fast forward to 2015. The minimum specs for Windows 10 are:

  • a 1 GHz cpu
  • 1 GB RAM for 32-bit or 2 GB for 64-bit (really? I find this hard to believe, 4GB probably a realistic minimum, 8GB to be comfortable)
  • 16 GB disk space for 32-bit OS, 20 GB for 64-bit OS

Somehow this is supposed to be better, but I’m not sure exactly how. Running an OS in 4MB? How exactly was that possible?! That seems impossible by today’s standards. And yet, Windows 10 is so much better? Better at needing more resources than any previous Windows version?

If there’s one thing for sure, no-one has danced with such enthusiasm for the launch of a new operating system in the past 20 years since Steve Balmer, doing whatever he was doing here.

And yes, Windows 95, with your blue screens and all, “you made a grown man cry”.

I’ve always wondered what was the intent of using the Stones “Start Me Up” as the theme music for Windows 95. Yes ok, start button, “Start Me Up”, ok, I get it. But didn’t they listen to the rest of the lyrics? Maybe they were thinking crying in happiness, but in reality it was more often crying in despair :-0

‘New’ Windows 10 features inspired from other OSes

Every time I hear or read about one the ‘new’ features introduced in Windows 10, I can’t help but think ‘hang on, hasn’t [Linux|OS X] already had that feature for years?

The past few OS X releases have been minimizing the visual window decorations to have borderless windows and minimal icons, and Ubuntu 14.04 has done the same too (since it was released over a year ago). Seems to be the current fashion. I’m not a historian of UI design, but I had to dig back to around 2011 when OS X Lion I think introduced borderless windows, although windows in OS X have had this look n feel for long enough now that I’ve taken it for granted as normal.

One the features I’ve always missed in Windows that 10 now has is multiple virtual desktops, because this is something I always use in OS X and Linux – it seems like it’s always been there, and again, one of those features you take for granted. I like to keep related windows for one task on one desktop and windows for another task on another. Anyway, welcome to 1990’s, Windows 10.

If you want to see some more examples, itsfoss.com has a comparison of other ‘new’ Windows 10 features that have been borrowed from Linux.