Canonical Voices

What Julian Edwards talks about

bigjools

New MAAS features in 1.7.0

MAAS 1.7.0 is close to its release date, which is set to coincide with Ubuntu 14.10’s release.

The development team has been hard at work and knocked out some amazing new features and improvements. Let me take you through some of them!

UI-based boot image imports

Previously, MAAS used to require admins to configure (well, hand-hack) a yaml file on each cluster controller that specified precisely which OSes, release and architectures to import. This has all been replaced with a very smooth new API that lets you simply click and go.

New image import configuration page

Click for bigger version

The different images available are driven by a “simplestreams” data feed maintained by Canonical. What you see here is a representation of what’s available and supported.

Any previously-imported images also show on this page, and you can see how much space they are taking up, and how many nodes got deployed using each image. All the imported images are automatically synced across the cluster controllers.

image-import

Once a new selection is clicked, “Apply changes” kicks off the import. You can see that the progress is tracked right here.

(There’s a little more work left for us to do to track the percentage downloaded.)

Robustness and event logs

MAAS now monitors nodes as they are deploying and lets you know exactly what’s going on by showing you an event log that contains all the important events during the deployment cycle.

node-start-log

You can see here that this node has been allocated to a user and started up.

Previously, MAAS would have said “okay, over to you, I don’t care any more” at this point, which was pretty useless when things start going wrong (and it’s not just hardware that goes wrong, preseeds often fail).

So now, the node’s status shows “Deploying” and you can see the new event log at the bottom of the node page that shows these actions starting to take place.

After a while, more events arrive and are logged:

node-start-log2

And eventually it’s completely deployed and ready to use:

node-start-log3

You’ll notice how quick this process is nowadays.  Awesome!

More network support

MAAS has nascent support for tracking networks/subnets and attached devices. Changes in this release add a couple of neat things: Cluster interfaces automatically have their networks registered in the Networks tab (“master-eth0″ in the image), and any node network interfaces known to be attached to any of these networks are automatically linked (see the “attached nodes” column).  This makes even less work for admins to set up things, and easier for users to rely on networking constraints when allocating nodes over the API.

networks

Power monitoring

MAAS is now tracking whether the power is applied or not to your nodes, right in the node listing.  Black means off, green means on, and red means there was an error trying to find out.

powermon

Bugs squashed!

With well over 100 bugs squashed, this will be a well-received release.  I’ll post again when it’s out.


Read more
bigjools

While setting up my new NUCs to use with MAAS as a development deployment tool, I got very, very frustrated with the initial experience so I thought I’d write up some key things here so that others may benefit — especially if you are using MAAS.

First hurdle — when you hit ctrl-P at the boot screen it is likely to not work. This is because you need to disable the num lock.

Second hurdle — when you go and enable the AMT features it asks for a new password, but doesn’t tell you that it needs to contain upper case, lower case, numbers AND punctuation.

Third hurdle — if you want to use it headless like me, it’s a good idea to enable the VNC server.  You can do that with this script:

AMT_PASSWORD=<fill me in>
VNC_PASSWORD=<fill me in>
IP=N.N.N.N
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${IP} -P 16992 -u admin -p ${AMT_PASSWORD} -k RFBPassword=${VNC_PASSWORD} &&\
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${IP} -P 16992 -u admin -p ${AMT_PASSWORD} -k Is5900PortEnabled=true &&\
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${IP} -P 16992 -u admin -p ${AMT_PASSWORD} -k OptInPolicy=false &&\
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${IP} -P 16992 -u admin -p ${AMT_PASSWORD} -k SessionTimeout=0 &&\
wsman invoke -a RequestStateChange http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_KVMRedirectionSAP -h ${IP} -P 16992 -u admin -p ${AMT_PASSWORD} -k RequestedState=2

(wsman comes from the wsmancli package)

But there is yet another gotcha!  The VNC_PASSWORD must be no more than 8 characters and still meet the same requirements as the AMT password.

Once this is all done you should be all set to use this very fast machine with MAAS.


Read more
bigjools

Relapsed again

It seemed too good to be true after my last post, and it was.  Within days I had relapsed after finishing the last course of Bactrim my symptoms were back, worse than ever.  So bad, that I had a trip to hospital courtesy of an ambulance which had to be called because I was in so much pain.  Oh sweet, sweet morphine, you are a cruel mistress.

The Bactrim was only holding the Bartonella at bay, it seems. My LLMD has now put me on a month’s worth of Ciprofloxacin, after verifying that a sore tendon was not too damaged.  Why do that?  Well, Cipro screws up tendons and ligaments if you take it too long so I had to verify that things were OK to start with.  I also have to take it easy and not exert myself too much in case I damage weakened tendons.

The one piece of good news is that a recent endoscopy showed no fungal infection from all the antibiotics I’ve been taking.  Unfortunately an echo test on my heart still shows a lot of fluid in the pericardial sac and I still have a huge amount of pain there which keeps me awake at night.

Because of all this, I am sad to be missing a work function in Austin this week, but it would have been foolish to travel with the tendon risk (moving my luggage would be a problem), my high levels of fatigue, and not to mention the pericardial fluid can become life-threatening at any time.


Read more
bigjools

My Road Through Hell

 

Hell

I’ve now been on treatment for Lyme disease for a little over twelve months.  Without a doubt, this has been the worst twelve months of my entire life.  It’s almost impossible to convey the range of pain that I have endured, the mental anguish, and the struggle to find the will to live.

Six months ago I was about at rock bottom.  I was going trough herxes from hell, suffering from heart complications including cardiac pauses (my heart would stop for several seconds at a time), and headaches that felt like someone was driving a pick axe into my skull. Then there was the brain fog; the confusion and memory loss that left me feeling stupid and helpless in front of people who just didn’t understand how I could not remember simple things I had talked about with them only a few hours ago.

On top of that, I had extreme fatigue that left me unable to climb the stairs at home without stopping every few steps to get my strength back in my legs.  Many of my days have been spent as a quivering mess on the floor, unable to speak, move or do anything because I was in so much pain and close to passing out.

In short, I was pretty fucked and thought I was about to die at any time.

Then I discovered an antibiotic that was actually making a difference to my heart symptoms—it’s called Bactrim (or Trimethoprim/sulfamethoxazole to give it its full name).  I started taking it in late December and two weeks later I was heart symptom free!  The course of drugs then ran out (I had 4 weeks’ worth) and ten days later I had relapsed and was getting chest pains and palpitations again.  I started another month’s course and felt better again after a couple of weeks, so it was clear that this drug was doing something to help me with my Bartonella infection.

It struck me that I have been so ill for a long time that I hadn’t really noticed that I was slowly getting better lately.  At least I hope I am getting better — I’m now at a “wait and see” stage after having stopped the Bactrim for a second time and hoping to hell that I don’t have another relapse.  I’m probably about 50% better than I was a year ago, I now have to wait for the last remnants of the Lyme and Bartonella bacteria to be driven out of my system.


Read more
bigjools

True Words

Originally posted on My Color Is Lyme:

True Words

Wake up call

View original


Read more
bigjools

In utero

My 2nd son (6 years old) tested positive on the Western Blot for Lyme.  I was always a bit suspicious and now my fears are confirmed.  He had a few signs, like dark circles around his eyes, a raging thirst all the time, and behavioural problems.

He is most likely to have got it in utero, which also probably means that my wife and our youngest two twins have it (they have dark circles under their eyes too).  Thankfully my eldest seems asymptomatic.

Under advice from my doctor, I’m trying number two out with some Samento and Banderol. He says we should see an improvement in behaviour in 4-6 weeks and then we can consider moving on to antibiotics.

As for the wife – once I am stable we’ll try her out with some doxycycline to see if she herxes.  We don’t want her debilitated by treatment at the same time as me…


Read more
bigjools

I have had a reasonable amount of success with the Rifampicin.  My heart palpitations pretty much stopped over the course of a couple of weeks and stayed away until the end of that prescription.  My doctor put me on a doubled dose for another 6 weeks so let’s see how that goes…

In the meantime, the palpitations came back a little.  I’m not sure whether this is because I had a 4 day gap between courses or whether it’s part of a herx or otherwise caused by the increased dose.

I’m committed to flying across the Pacific at the weekend (I’m going to San Francisco for a week) — I hope I don’t get an attack on the plane :(


Read more
bigjools

Rifampicin

Just started a new antibiotic called rifampicin. Getting an immediate and very powerful herx from it. Looking forward to another two week headache… :-/


Read more
bigjools

Unscheduled hospital visits…

… yeah, so I had some really bad heart palpitations 2 nights ago and ended up calling an ambulance at 1am.  This has been happening quite a lot in the evenings lately, but this time it was unbearably painful.

Long story short, seems like the bartonella is causing huge ectopic beats as it interferes with electrical impulses in the body.  I’ll be seeing a specialist next week to see if I can find a way of minimising problems before starting rifampicin.


Read more
bigjools

The daily grind

image


Read more
bigjools

It’s obvious from talking to a few people that hardly anyone understands what having chronic Lyme disease means.  This is not surprising as I barely knew myself until a few months ago — but I have educated myself through a lot of research and speaking to my specialist doctor.

I’m going to try to attempt to describe what this is all about and what I am going through, in the hope of spreading understanding.  Make no mistake, I am not looking for sympathy, just for people to understand.

What it is

Lyme is an evil and clever bacteria called Borrelia.  It uses resist and evasion tactics that any SWAT team would be proud of by hiding in muscles, bone, cartilage and crosses the blood-brain-barrier to hide deep in brain tissue.  It also changes form when under attack and builds itself a wall to resist antibiotics.

This is NOT a 30 day antibiotic course disease, it takes months and often years to eradicate.

What it does

Lyme is often called The Great Imitator.  It has so many symptoms that unless they are taken as a whole it’s incredibly easy to misdiagnose.  And sadly that is what is happening across the world.  I recently heard that 80% of patients diagnosed with M.E. who had a test for Lyme were positive for it.

Here’s a selection of my particular symptoms, but this is by no means exhaustive:

  • Extreme fatigue, with aching muscles and no energy
  • Bone and joint pain with stiffness, often misdiagnosed as arthritis
  • Many, many neurological symptoms: forgetfulness (I sometimes fail to recall the name of someone I’ve known most of my life), poor concentration levels, massive headaches, nausea, faintness, anxiety, depression, impulsiveness, mood swings
  • Insomnia
  • Tinnitus
  • Muscle twitching
  • Blurry vision and “floaters”
  • Pink eye

What is a co-infection

Almost everyone who has Lyme also has a co-infection. This is additional bacteria that are contracted in the same tick bite that delivers the Lyme.  I have something called Bartonella which is responsible for some very nasty symptoms, one of which is life-threatening:

  • Burning in feet and foot pain (often misdiagnosed as plantar fasciitis)
  • Swollen, painful lymph nodes
  • Skin rashes
  • Heart problems, pericarditis

The last of these is one of my biggest problems and the reason I am not travelling for work right now.  Pericarditis is a swelling of the pericardium, the sac around the heart. It also traps fluid which is known as a pericardial effusion.  This is a serious issue – if the fluid becomes too much it prevents the heart from beating efficiently and eventually makes it stop.

This condition is responsible for missed beats, palpitations and extreme pain.  When I say extreme, I’m talking nothing like I have experienced before.  The pain and palpitations will come and go at random and when it kicks off I feel the blood draining from my head and I have to lie still for anything from 15 minutes to 4 hours or more, before it goes away.

What is the treatment

There are many strains of the bacteria and treatment is somewhat of an art as much as it is a science.  As I previously mentioned, the Borellia will shift form.  Its main form is a spirochete but it also takes a non-cell wall form (cell walls are what antibiotics work on) and a dormant cyst form.  All of these forms have to be taken care of to ensure it doesn’t come back.

The treatment I am on is a variety of anti-malarial, antibiotic and herbal supplements.

The treatment is worse than the disease

That’s right – the treatment makes everything worse.  Much worse.  As the bacteria die off, they dump endotoxins into your blood stream which triggers many things:

  • Exacerbation of existing symptoms
  • Flu-like symptoms with huge headaches
  • Pain, pain and more pain

This is called a herxheimer reaction, or herx for short.

I have to cope with this by constant detoxing.  I take a few different detoxing supplements and have to drink in the region of 4 litres of water a day to flush my system out.  I have learned that when I am experiencing a herx, I become a zombie and cannot function at all.

In addition, I am completely intolerant to alcohol, I will get an awful headache within 5 minutes of a drink.  Life and soul of the party, me!

Outlook

I am hopeful that I will resolve everything eventually but I know it will take me personally another year or two before I am better.  In the meantime, I feel like something is stealing my life away from me, but I have to remain strong.  I have a family to take care of.


Read more
bigjools

A few years ago I wrote a contrib script for Launchpad’s launchpadlib called ‘close-my-bugs.py’ which attempted to close (aka mark them ‘fix released’) all of your bugs in a project that were targeted to a particular milestone.

For various reasons it grew out of date and when I needed to use it recently, it didn’t work!  Long story short, I just fixed it up and added a couple of new features:

  • You can optionally close just your own bugs, or all the bugs in the milestone
  • You can search for bugtasks targeted against a series in your project (these are not normally picked up when searching in a project’s milestone)

You can grab the code here:

bzr branch lp:launchpadlib

contrib/close-my-bugs.py

Read more
bigjools

An update on my progress.  I’m now taking all of Plaquenil (hydroxychloroquine), Akamin (minocycline) and Bactrim (sulfamethoxazole and trimethoprim).  The latter one is relatively new and is to treat the Bartonella co-infection that I have.

I’m not sure if it’s the drugs, the disease or a new herx, but my pericarditis pain is now at new levels and is accompanied with extreme light-headedness to the point of almost losing consciousness.

In addition, I am getting some peeling skin as a side-effect from the Bactrim so I need to reduce its dose.

This disease sucks.


Read more
bigjools

Co-Infection

It turns out I have a co-infection of Bartonella which is most likely to be the thing responsible for the pericarditis.  I get to start on Bactrim this week.  Lovely.

In other news, I have a second herx starting. :(


Read more
bigjools

Herx Force One

ImageI appear to be having a major “herx” reaction to my meds. This is apparently “good” because it means the drugs are working.

Basically, it’s a result of the bacteria dying and spilling their guts into my blood stream – their guts are basically endotoxins to which my immune system suddenly goes “WOOOOAAA!” and kicks off a massive street fight in my body. The symptoms of that are basically huge headaches, mental confusion, fatigue and insomnia. I can say without reservation, yes, they are the fucking symptoms.


Read more
bigjools

Error handling in Go

There’s been a debate raging in some corners of the internet lately about how superior Go‘s error handling is to other languages.  I am going to address some of the points made, here:

Claim 1: It’s impossible to ignore errors in Go, they are “in your face”

This is patently false.  Take this example:

fmt.Println("Hello world")

Pretty innocuous wouldn’t you say?  Well let’s take a look at the language documentation for fmt.Println:

// Println formats using the default formats for its operands and writes to standard output.
// Spaces are always added between operands and a newline is appended.
// It returns the number of bytes written and any write error encountered.
func Println(a ...interface{}) (n int, err error)

So Println can return an error!  Where did we check it?  Well, we didn’t.  Any other claims that it’s OK to ignore it in this case further strengthen my argument.

Some will say that it’s a deliberate choice to ignore the error and I deserve all I get. Well, was it? I didn’t even know that Println returned an error until I looked at the documentation (and who is going to do that for Println?). And that’s the point, if I need to look at the documentation to see that it can return an error, then if I am using a language that raises exceptions I will have also seen its documentation about how it deals with errors.

You could even argue that an exception is superior in this case.  With Go, the code will march on regardless, oblivious to the fact that Println failed.  With exceptions, it’ll fail and show you exactly where it failed.

The language will error at compile time if you try to ignore an error returned as a second value and you only take the first.  But this is trivially bypassed by assigning it to _, which when reading code is easily missed compared to the exception style of “catching then dropping”, because Go itself encourages this style of assigning to _ with its own range statement as a deliberate way of ignoring things that the language is trying to force you to see.

So really in both cases, ignoring the error doesn’t really stand out as wrong.

Here’s a concrete example in Go I was recently shown:

w := bufio.NewWriter(os.Stdout)
for _, name := range ListAll(conf) {
    fmt.Fprintln(w, name)
}
w.Flush()
return

As you can see, the caller completely forgot to check the error returned from Fprintln and Flush and there would be no compiler warning about it.

Claim 2: Exceptions teach developers to not care about errors

Citing an example where someone didn’t catch an exception and the code consequently blew up is really not a good example of this claim.  It’s a bug, for sure and you get a full traceback of your error in the resulting exception, which is handy.  You go away and fix it quickly based on that info.

If I am in the same situation with Go and I ignore a returned error from a function, at some point (which is likely to be nowhere near the place where the error occurred) my code will blow up.  I’ll have to run up the debugger to try and find out where it really occurred though.

Because unused variables in Go are a compile-time error, it’s actively discouraging you from assigning the result of the function to a variable (or you can deal with it, of course).  For anyone who’s not read the full documentation for a function call or missed its return value (we’re all human) as I said above – you’re not even going to notice that you missed it.

Based on this, I can see no difference at all that suggests one way or the other teaches developers to not care about errors.  Developers do care about errors, really, but bugs creep in however careful you are.  And when they do, I’d rather have a decent indication of where the bug is.

Other parts of error handling that I dislike

When you look at the average Go program, you will see a lot of this:

if err != nil {
  return nil, err

This is the recommended way of error handling in in Go.  But this is not error handling, it’s error propagation.  In nearly all languages there will arise situations where in well-factored code you have a low-level error that you need to pass right back up to the entry point for the caller. That means you need this error propagation code in every single place where you check for errors.  There’s no syntactic sugar, just the same three lines everywhere.

For me, this vastly decreases the readability of the code. This is where exceptions excel because inside my own library I can factor the bejeesus out of it into many small functions and if I need to return an error, I just catch a lower-level exception in the top-level function and return something else.  You can do this in Go with a panic(), but it seems to be discouraged.  Panic() feels almost exactly like using exceptions, only the syntax is worse. If Go’s style is to encourage people to handle errors like this, it needs the sugar.

Conclusion

Many people might think that I completely hate Go’s error handling from this post.  That’s not strictly true – I don’t hate it, I just think it can be improved.  I challenge assumptions that I see which state that Go’s error handling is superior in some way, when as far as I can see it’s not that different from other languages in terms of usefulness.

Go is clearly in its infancy.  Most languages will have started out with youthful enthusiasm and realised that some change was needed.  These languages are the successful ones where developers enjoy coding in it and feel productive.  I hope that Go embraces change as it matures and attracts more developers.

I welcome comments on this post – unlike some people I won’t censor them or delete ones I can’t argue with (unless they are outright abusive and use foul language, this is a family blog!).


Read more
bigjools

Headaches

I’ve been experiencing bad headaches all week and today’s is awful.  I don’t know if it’s the drugs starting to work and causing a herx or if I just have a headache from the disease. 400mg of Ibuprofen 2.5 hours ago hasn’t helped much :(


Read more
bigjools

Living with Lyme

Slow killer.

Slow killer.

I am writing this blog post because I want to raise awareness of an increasingly common condition across the world.  This is my history leading up to my recent discovery.

After many years of thinking something was wrong with me and not knowing whether I was crazy or just imagining things, I was recently diagnosed with Lyme Disease.  It is a horrible disease with myriad symptoms (I have about 90% of those listed) that are easily misdiagnosed by doctors.  The disease is caused by a bacteria called Borrelia and is transmitted through tick bites.  Not everyone realises that they’ve had a tick bite and certainly I don’t remember one.

It started with chest pains

I originally visited a doctor a couple of years ago because I was getting a lot of chest pain.  After a short time using a portable ECG monitor he diagnosed me with Atrial Ectopic Beats, a supposedly harmless but sometimes debilitating condition, and I certainly felt debilitated every time my heart started palpitating.  His diagnosis led him to prescribe beta-blockers to help prevent the extra beats that were occurring in my heart.  Needless to say, it didn’t really help me and left me feeling generally worse as my heart was now unable to pump blood at any rate required above doing minimal exercise.  I took myself off these because I felt that I’d rather deal with the occasional chest pain than feel awful 24 hours a day.

The first discovery – pericarditis

Over the next year the condition sporadically got worse and I started getting really sharp pains in my chest.  After a few trips to hospital in the back of an ambulance I was fortunate enough to find a cardiologist who was prepared to do some more investigations rather than brushing things under the rug.  He scheduled me for a Stress Echocardiogram which basically entails ultrasound imaging of your heart before and after running on a treadmill while hooked up to an ECG print.  The upshot of this exam was that my heart was fine, but I was now diagnosed with a new condition called pericarditis.

Pericarditis is an inflammation of the pericardium – the sac that surrounds your heart – and is responsible for causing the palpitations.  I had about 7mm of fluid trapped between my heart and my pericardium.  My initial reaction to this was one of relief.  ”Great!” I thought, now we can treat it.  I was prescribed a course of a medicine called colchicine.  It is usually used to treat gout, but is also known to specifically treat pericarditis quite effectively.

Treatment, but still getting worse

One month after starting to take the colchicine I felt no difference in my symptoms at all.  This left me feeling a little depressed, especially since I’ve been experiencing increasing symptoms and took myself to hospital yet again as I was worried about having a cardiac tamponade, which is fatal if not treated quickly.  I went back to the cardiologist to see what else I could do.  He prescribed me some powerful steroids – immuno-suppressants – the intention being to stop my body from reacting to whatever it disliked that was causing the inflammation around my heart.

At this point I was at rock bottom – the idea of being on steroids to control the condition filled me with dread.  I have previously taken topical steroids for skin conditions and I am all too aware of their nasty side effects.  So, I made a decision to start being more proactive in helping myself and set out to learn more about this condition called pericarditis.

The second discovery

After a bit of Googling I found this pericarditis support group. It was quite reassuring to find a bunch of other people who were going through the same thing as me, although still fairly depressing that many people were either stuck on steroids or just learning to live with the pain.  Eventually I came across this post entitled “Lyme Disease Checklist” – I had never heard of this Lyme thing before so I clicked through and started reading.

What I read in that post has been life-changing.

It was immediately apparent to me that I ticked nearly all of the boxes on the checklist.  It made me realise that things that had been niggling me in the back of my head were actually real and that this could finally be an underlying cause for all of my symptoms.  These are symptoms that are going back for some years now – I had thought that perhaps I was just getting old and some mental faculties were waning as my short-term memory and concentration levels had been bad and getting worse, and suffering from severe fatigue and getting joint pains.  It turns out I can blame it all on Lyme Disease.

Finding a doctor

At this point I realised that my cardiologist was not going to be able to help with this, so I set out to find someone who could.  The support group postings had been very clear about one thing: finding a doctor is not easy.  It seems as though there ‘s a lot of controversy about Lyme and finding a Lyme literate doctor is essential.  This appears to be particularly hard here in Australia as there’s severe resistance to belief that it can be caught here (I caught mine elsewhere though) as it is seen as a northern hemisphere problem.  I discovered the Lyme Disease Association of Australia who put me on to a doctor 2 hours north of Brisbane called Andrew Ladhams.  I drove up to see him for an initial consultation and he recommended that I send some blood to a lab in California that specialises in diagnosing Lyme disease.  I got the results 3 weeks later and they were inconclusive, showing some positive and some indicative test bands.  However since the test is notoriously unreliable the recommendation is that the test is used in conjunction with a medical diagnosis.  Dr Ladhams decided that I should begin a course of treatment of antimalarial and antibiotics.

He also said that based on the test results, it’s possible that the strain of Borrelia I have could be from South East Asia.  I have not been there since the year 2002.  That means I’ve had this disease for over 10 years.

Antibiotics work by attacking bacteria when they are weakest – at the point they divide.  Most bacteria divides every few minutes, but the Borrelia bacteria divides every 12-24 hours.  This means that treatment has to take much longer than a regular course, probably 6-12 months.

I am now two weeks into my treatment.  I am ramping up the antimalarial before starting on the antibiotics.  I am hopeful that I’ll start feeling better in a few weeks, however it remains to be seen whether I will regain all my faculties as permanent damage could have occurred, particularly in my joints.

I will keep blogging about this disease as my treatment progresses, and if anyone reading this has any doubts about their own symptoms I urge you to visit a Lyme literate doctor.  If I make even one person aware and help them out as a result of this blog, I’ll be happy.

Wish me luck!


Read more
bigjools

As most of my colleagues know, I am a KDE fan.  I love using Kubuntu, despite its lack of “official” attention from Canonical.

I’ve heard all this fuss about Unity and I’ve no real idea what it’s all about, so I thought I’d give it a try.  Today will be my first full day of using it (and the last for 2 weeks since I am heading out on vacation) and I will attempt to write up my experiences.  It’s a bit of a brain dump, but here follows day one!

First impressions

My initial impression is that it looks pretty slick, but not as pretty as KDE4.  I’m clicking around a bit to see what’s what and I’ve immediately noticed a few things that I will miss from KDE:

  • There doesn’t seem to be a way to put widgets on the panel – I want my CPU/MEM/SWAP meter! (Some time later I found “indicators” in the Software Centre, there’s a system load indicator, but after installing there’s no obvious way of using it)
  • I am used to ctrl-F<N> to switch virtual desktops, I can’t see a way of emulating that.  (Ok I found the setting an hour later, great)
I’m also not sure about the global menu thing, I’m finding it a lot more effort to mouse around to get to menus.
Right, so let’s try and configure things as I like them.  First, I am a focus-follows-mouse junkie (I first used X Windows in the early 1990s with twm!) so let’s poke around in the settings.  Hmmm, doesn’t seem like I can change that… Ok some quick Googling reveals I have to install a so-called compiz settings manager and run ccsm. Right, I can set it in there.  That’s bizarre that I have to install something to edit more settings!
Now, focus-follows-mouse  has also made the global menu even less desirable as it changes to whatever app I mouse through to get to it. Eugh.  (I realise this is a concious design decision by the Unity team, rather than a shortcoming though – doesn’t mean I have to like it!)

Visual differences

Ok so I’ve had some more time to get used to the layout now.  More thoughts:
  • The icons on the left have some weird triangles on them, some solid some not.  I’ve no idea what they mean, but I am sure I will find out at some point.
  • It seems like I have to run an application before I can add it to the left panel as a quick launcher (by setting “Keep in Launcher”)
  • The KDE file browser Dolphin is massively better than Nautilus (I’ll write more about that some other time)
  • The mail indicator is a nice idea at the top right, but it wants to use Evolution.  I don’t! How can I make it use kmail?
  • Having a music player integrated into the volume indicator is a nice touch. I’d like to use Amarok though; it lists it but there’s no controls for it.
  • Clicking on the time indicator shows a calendar, like KDE.  I suspect I can’t use an arbitrary calendar app though, it seems tied to evolution.
  • The logout button shows a load of seemingly arbitrary menu items. Odd.

Interaction

As a KDE user I love krunner (a bit like Gnome-Do). So one my reactions is to hit alt-f2 when I want to run something.  I see that it starts up a smiliar dialog as hitting the button at the top left.  I started typing the name of the program I wanted to run, “kmail”, and it found it quickly.  I hit “enter” to run it but nothing happened.  I noticed that the kmail icon was not on the list of icons found any more!  I then noticed that if I backspace my input one character, so it says “kmai”, then the kmail icon appears again.  This must be a bug I guess.
I decided to have a play with the menu system a bit.  It seems a bit more work to find stuff than simply mousing around the K menu but I’ll keep trying it out and see how I get on.  My initial impression is that it needs some work though as it feels as though it’s trying to hide results for no reason until you click on “See N more results ?”.  I don’t understand why it doesn’t put a scroll bar up and show everything right away, I’m sure this would be quicker to navigate.
Dealing with windows:
  • The window controls have moved to the opposite corner.  Not a problem, but hard to get used to.
  • alt-tab selects windows that are not on the current virtual desktop.  This is *really* annoying :(
The final point to note today is that there appears to be no way to save my session and have it restored at login.  This is a feature I rely on extremely heavily in KDE and I am really sad to see it not available in Unity.
I hope to write ongoing reports over the next week or so.  I am actually away on holiday so it will be sporadic, but I’m sure I will find some moments.

Read more