AWSOME has the potential to be really awesome

Earlier today, Canonical announced AWSOME

I'm honestly pretty stoked about it. At the last UDS, Mark Shuttleworth expressed his concern over the state of AWS compatibility and how important it was.  As part of follow up conversations, Vish, Gustavo and I talked about ways to address it, and the one which everyone was the most pleased with was the idea of a gateway service that could talk AWS on the one side and OS API on the other. This would allow the code paths inside of Nova to become simpler, and innovation at the API layer inside of OpenStack could proceed as architecture dictated. At the same time, as a separate project, developers on a gateway wouldn't have to get nova core devs to care about AWS APIs at all, and themselves could write the service to be as robust and full-featured as they want.

Decoupling FTW!

Anyway - I'm at conferences a lot and I have conversations with people alot about ways in which they can help to solve the problems they are experiencing. It's not nearly so common that people step up to the plate and just fully own doing something about it - so I'm extra excited about AWSOME's existence for that reason alone.

At the moment it's listed on Launchpad as being AGPL (although this is not reflected in the source tree), which obviously would exclude it from being an official part of OpenStack, and probably from being deployed on any of the public clouds being stood up. However, if the details of getting it licensed Apache can get worked out, I would certainly personally support including it in OpenStack.

Thanks for the work Canonical! I'm excited to poke/learn more.

4 comments
Tags: ubuntu

death by a thousand cuts

It's amazing to me what features drive decisions when choosing a technology. In my case, it's a clock applet, but let me set a little bit of a context first.

I stopped configuring my UI environment several years ago, opting instead to use the experience that had been designed for me by the fine folks at Ubuntu. This wasn't entirely just blind trust or pleasure - but rather that the defaults were sensible enough, and I wanted to be in the business of doing things, not spending an hour deciding what font I wanted my desktop to display. I believe I've been doing this since dapper, if not earlier.

Until now.

I tried. I mean, I've bitched at Jorge some in person, but I ran Unity starting with Natty up until last week. I ran it as provided, as intended, and I tried to learn to think about things in the way it was asking me to.

Unity is generally a decent piece of software. I don't hate it by any means and it is certainly workable. I can see how, if one wanted to design a single user interface that would work on laptops, tablets and phones that Unity might be what you'd end up with. There are weirdnesses, such as alt-tab having become counter-intuitive and seemingly non-deterministic. That the launcher buttons launch a program the first time you click them and switch to the program subsequently makes sense for every application I run - except for terminal windows. Of course, since Unity isn't designed with me in mind (even though I'm a stalwart and loyal Ubuntu user who evangelizes it to eveyone I meet) it's to be expected that UI behavior around having 20 different terminal windows open might fall through the cracks 

None of the things I didn't like about Unity were monumental though, and I learned to deal with them in the spirit of being a good sport and knowing that sometimes initial distaste is really just distaste for change itself.

On a lark last week, while reading about Mint, I decided to give the Mint Gnome Desktop Extensions a try - which meant installing Gnome 3 - so I gave that a try too. Same thing, really - gnome-shell, MGDE - they're both fine. They're both weird in a their own way, and I'm sure I could get used to both of them if I cared to spend the effort - but they aren't any better than Unity, nor is Unity any better than either of them. They're all just new and weird and will take getting used to for a person who has used and loved an X11-based desktop as his primary interface since 1999. I've got habits. I expect them to work. On urging from a friend, and since I was already trying out alternatives, I gave XFCE a shot. It's also fine. It behaves more like how I'd expect things to behave than the others do, that's for darned sure.

So I had some alternatives, and they either fixed some things I mildly cared about, or they didn't and just chose their own unique ways to be weird... essentially a wash.

Except for the one thing.

The thing that, it turns out, has become the one must-have feature for me. The thing that I had before and now have lost. And the one thing that I tried in each of the environments to find a good solution for.

And failed. 

And that's the Gnome2 Clock Applet.

I have, on more than one occasion, lorded it over my friends who are silly enough to run something that isn't Linux about how bad-ass my clock applet is. They have nothing like it. It's a feat of UI brilliance. It works like a normal user expects a clock to work, and then it has additional features that are perfectly discoverable without having to read documentation. So it's got all of the power that a power user might want, and yet has sensible defaults and behavior if you just want it to be a clock.

Let me tell you some of what it does for me:

 

  • It is a clock.
  • In a very succinct way, it also shows me temperature and weather.
  • When I click it, it shows me a calendar, and an expandable list of locations.
  • It lets me add a set of locations
  • It shows me those locations as dots on a world map.
  • That world map has a daylight/nighttime line drawn across it.
  • It shows me the times of all of the locations, as well as the weather indicator.
  • It lets me change my location by clicking a button. 

 

NOW - the pure UI designers out there will scream - why does your clock show you weather information? That's unrelated to the time!!!

See - that's what's brilliant about the applet. It seems to understand that it's not actually a clock - even though that's the first element of it that you see. It's a location information and management applet. For a clock to truly and properly work these days, it kind of has to know where you are in the world (a feature of all clock systems on all computers at this point) Once it knows that - well then - why not be a gui interface to both managing that location and providing information that is dependent on that location. For someone who travels as much as I do (none of my family ever know what city I'm in) it's a godsend. With one click, I tell my laptop where I am, and it keeps a summary of essential information about that location in a useful location quickly within my eyesight. It recognizes a use case - a real use case. It recognizes that my location may not be a fixed quantity, and that I might want to deal with that in a seamless and sensible manner. It also recognizes that, in addition to just being able to change locations - I might work regularly with people all over the globe, and sometimes it's really handy to be able to simply and easily see whether it's appropriate to assume that they are awake or not. On top of all of that - if YOU happen to not need any of that, you don't have to know that any of that is there.

Unity has a clock applet that lets me switch locations - but no weather. I have to add the weather indicator for that, and then I have to maintain two location lists and update it in two places.

Gnome3/MGSE is even worse - the weather indicator that it has doesn't seem to support location lists - only your current location - and you are required to enter that location using cryptic weather station id codes.

XFCE's clock doesn't even support showing me the current date.

So I've decided something. For now, I will run Gnome Classic (aka Gnome 2) and I will continue to enjoy my user interface experience, complete with consistent operation of all of the buttons on my computer and an amazing location application that is unmatched across any operating system. Gnome 2 was the last thing that both worked well and was designed with me as a target user. When such a time comes that I am, for whatever reason, prevented from running it, I suppose I can sit down and port the features I need to whatever new environment I have to run - but it would be really outstanding if instead the people running the project that I'm ostensibly a member of started caring about me again.

13 comments
Tags: ubuntu

Need const_map

I love STL containers in C++. They're so much better in general to work with than their C counterparts. The bit that's missing though is an instantiation-time optimized version of map.

Take, for instance, reading a set of commands at startup from a set of dynamically loaded plugins. It's not going to change, in this hypothetical case, because we neither load nor unload plugins after startup. But it's dynamic in the sense that we do not know it at compile time - so doing something like gperf to generate a perfect hash is out of the question.

But why should we pay the lookup cost on a dynamic container for every lookup if I can determine, based on program flow, that the contents of the container are not going to change once it's instantiated.

Something like:

const perfect_map(some_dynamic_map_I_built);

Where the constructor would do a perfect hash generation once, and the map itself would be const (not allowing contents to be added or removed) but was full of references to objects which might not be const. Right? I can't be the only one wanting this, am I? 

4 comments

Mailing List FAIL

I've been thinking a bunch about email and mailing lists recently... about how to deal with them, how to follow the ones that are important but not get drowned in a sea of email noise. I have a non-tech email account which is where friends mail me personally and where I handle theatre-related stuff. I do not receive a stupid amount of email on this account, and I am almost always interested in reading the messages that arrive there. So on my inaugust.com email address, I've been considering unsubscribing from all mailing lists and setting both Launchpad and github to stop emailing me most things.

For Launchpad and github, most things I care about have status pages of some sort: lists of bugs or branches I need to attend to or whatnot. I really don't need to get an email every time someone files a bug - it's noise.

Mailing lists are the trickier one, because so many open source projects are centered around them in one form or another. For a long time I kept filters to file things in to mail folders - but then I realized that I'd forget about large numbers of them and would never read them. So then I removed those filters so that they'd hit my inbox and I'd read the stream - but that's obviously too much.

I'm starting to think that they are all a complete and total waste of time in terms of existing in my inbox. Back in the good old days of the internet, a lot of that sort of conversation occured over NNTP, which thankfully also had the idea of expiring messages from the newsgroup after a period of time. The separation here was really nice, as it separated messages in general from message TO ME. RSS feeds into a feed reader might be an option - but it doesn't model the "Oh, I noticed a thing I should respond to which now needs to be a conversation I'll follow" workflow.

I don't know the answer - but the current stream of crap hitting my Inbox is fully problematic. (And no Stewart, notmuch will not help my problem here)

50 comments

Hating Americans and Cats

Most of the time I think of myself as living in a fairly progressive and enlightened world. I'm fotunate that I work with a set of wonderful people, I can travel all over the world and I'm a member of an excellent theatre company. As a result, hatred of things, or at least expressions of hatred are generally just not tolerated in any of the circles in which I run. (With the exception, of course, of things that FAIL, like a particularly bad piece of code - but even then it's less about hatred and more about not liking something that didn't work)

There are two social acceptable exceptions to that rule, though: Americans, and cats.

I was reading a blog post earlier this morning (which I won't link to because that's not the point here) which was a fun post about older people finding new music. As a person who is not getting any younger myself, the blog post was quite enjoyable. Smack in the middle of it though, there was a fairly senseless off-hand dig at stupid Americans. It was so off-hand though, that I think that's why it jumped out at me - hate, scorn or derision of folks from the US is so normal as to not even elicit emotion. 

In most of the circles I travel in, if you said the same sentence but replaced Americans with just about any other arbitrary grouping of people (and were not being ironic) you would meet with quite a good amount of resistance. Just imagine me making a comment about "stupid Asians" and see how long I get to remain at the dinner party. 

I notice a similar thing with cats. In any group of people, there will be someone in the group who, if cats come up, will freely talk about how they hate cats, or how they used to torture cats. I have heard people talk about throwing cats across rooms with the same level of concern as they would tell me what sandwich they had for lunch. I suppose, given that a cat is just an animal, that one could just assume people don't care as much about animals... but substitute dog for cat in any of those stories and you will find yourself with a riot on your hands. And the times I've tried to point out the dichotomy to dog-loving friends who avow hatred of cats, the response usually comes back "I guess... but I hate cats"

Why is it socially ok to tell stories about torturing cats when torturing dogs is societally completely unforgivable. Why is it ok to single out a group of people based on geographical origin for scorn, when  it is not ok to do so in general?

The really sad part is that when I ask those questions... I get justifications. "Cats suck" or "The US brings it on itself." But I've got to say - abusing animals is not ok, no matter what the animal is, and bigotry is wrong no matter who the target is. Regardless of how cool you may think such expressions make you, I believe they do nothing but show ignorance... and they make me sad.

20 comments