29 July 2010, 3:31 pm
It’s been a while so I released a new version of Edit with Emacs for Google Chrome(ium). To be honest most of the changes are to edit-server.el. The most major change is moving all the frame configuration options into a single edit-server-new-frame-alist which might cause confusion if people don’t read the change log which is:
Extension
* New icon state. Blue=Waiting, Green=In Progress, Red=Error
* Improved mouse-over text for icon to give more useful feedback
edit-server.el
* Move all frame customisation into edit-server-new-frame-alist
* Don’t ask user before closing emacs and network process
* Just skip creating new network process if it’s already running
* Make sure edit buffer is selected on new frames
* Prompt window manager to bring new frames to the top of the stack (X windows only)
* Enable multi-byte mode on edit buffers for better unicode handling
* Explicitly fail on XEmacs if make-network-process isn’t found (XEmacs patches welcome)
29 July 2010, 8:06 am
The project I’ve been working on at work the last few weeks has involved bringing up a brand new embedded system. As part of that I’ve been tweaking a lot of start-up scripts and configuration files on the new system.
For part of that task I’ve installed GNU Zile which provides a nice Emacs-like experience for quick edits where you would usually fire-up vi. Despite the fact the new platform has a considerably larger backing store I’m not going to install the full-fat Emacs just to satisfy my editing needs.
Fortunately the full-fat Emacs has long carried a feature called TRAMP (standing for “Transparent Remote (file) Access, Multiple Protocol”) which is incredibly useful in this and other use cases. TRAMP allows you to edit files on remote machines in your normal home Emacs environment. find-file and friends all behave as if you are editing local files while behind the scenes Emacs pulls directory listings and files from the remote machine with ssh (or ftp or whatever actually works). I use TRAMP all the time to edit files on the rather ancient build machine rather the using the relatively ancient Emacs it has installed on it.
There was one minor wrinkle getting TRAMP working with my new embedded system. As some of the methods used to move files back and forth are designed for transferring text files Emacs goes to great pains to ensure the files are moved across un-mangled. Typically this involves some sort of encode/decode utility. The tramp code is actually quite a good example of using elisp in an extensible way and if you look at tramp-remote-coding-commands you’ll see it will even fall back to running remote in-line perl if it has to. As it happens we don’t have perl running on the embedded platform and as it would be a little overkill to put perl on the remote machine so I added the recode utility.
I consider TRAMP to be one of Emacs’ killer features. Next time you sigh at the prospect of being consigned to an inferior editor on some remote box consider visiting the file with TRAMP straight from your current Emacs session.
26 July 2010, 10:33 am
There are a number of potential topics for blog posts swirling in my brain which I’m not going to have time to write. I shall therefor attempt to address each on in paragraph form (Twitter style is a little too brief for me).
We were at Maelstrom this weekend. We splashed out for a van so we could take our proper IC tent to the event which we also slept in. Although our normal sleeping tent is quite spacious the IC tent is a lot more so and benefits from not broiling you in your sleeping bag when the sun rises.
I tried Google’s Navigation mode on my software pimped up Hero. I can see why the shares in TomTom and Garmin shares fell so sharply on it’s announcement. I particularly liked the street view picture that’s presented at the end of the journey for extra confirmation. I predict the era of the dedicated GPS road navigation unit is coming to an end – to be replaced by multi-functional smart phone type data pads.
I awoke this morning to the latest Wikileaks data dump as reported by the Guardian. I can understand why the armed forces are upset about this but it’s really an OpSec fail on their part that someone can extract that much data from their systems. Going after Wikileaks will ultimately be a futile exercise. Also baring a live twitter feed of current manoeuvres I’m not sure there should be an expectation of secrecy for historical military data. Transparency is coming to government which I think is a good thing, why not the military? At the same time we need to take some steps to educate the public on the limits of data. If people consider an entry in a database as equating to actual truth on the ground they are going to find themselves disappointed.
We watched the latest Grand Moff/Gatiss collaboration on TV last night. Although the final third had us shouting at the TV for the slowness of the protagonists to put two and two together overall we liked it. The text overlays were fun and the writing has done a good job of bringing the characters forward into the 21st century. We shall be watching the rest of the series.
Filed under general.
Tagged android, gatiss, google, holmes, lrp, moffat, pot-pori, transparency, tv, war, wikileaks
22 July 2010, 2:03 pm
One of the advantages of the current bread of smart phones is they are field upgradable. As so much of their functionality is basically software it makes no sense to treat the phone as a static product once it leaves the factory gates. Coupled with the rapid development of the Android OS means that updating the system firmware can result in a much improved experience without having to buy new hardware.
My phone, an HTC Hero, was one of the second generation Android phones. It’s a nice phone with a solid feel and nice touchscreen and display. However the default system software is the now rather old Android 1.5. It has been a continual source of frustration watching other phones get their updates to more recent versions while HTC continually slipped the release dates. As the base OS is all open source one might wonder what took them so long. Part of it might be due to the need to integrate HTC’s Sense layer with Android. A large part is no doubt due to the fact that by not submitting changes to the kernel upstream the company gets to keep the burden of porting the drivers to a newer kernels. It’s not entirely HTC’s fault, Google can take some of the blame for developing a power management infrastructure behind closed doors and being surprised the kernel developers weren’t going to just dump Wavelocks into their carefully engineered kernel. Eventually the embedded world will wake up to the cost of not working with upstream but I predict it will be a while yet.
The greatest reason is most likely that the bulk of HTC’s engineering resources will be working on the software for their latest phones and therefore making older phones work better is lower in their priorities. Unfortunately without jumping through hoops to install community firmware I was dependant on HTC to provide the update. While I was relaxed about getting a locked down phone (compared to a locked down PC) the experience has reminded me there are other reasons to prefer open systems than just a desire to hack about on them.
Unfortunately the promised Over The Air (OTA) update never arrived on my phone so I had to bootstrap the upgrade by manually updating to the next minor version. This took me two days of fighting with various flavours of Windows (install, un-install, re-install in a different order, arrggghg!) and HTC’s rather crappy update tool. However once done the notification duly arrived and 3 phone reboots later I had a brand new spiffy Android 2.1 phone.
First impressions are good. The responsiveness seems a lot better and the Google applications all offer significant improvements to the 1.5 based ones. While the hardware has always supported multi-touch the older Android release couldn’t take advantage of it. Now I can quickly switch between the many work spaces with a quick pinching motion. It really does feel like getting a new phone.
16 July 2010, 12:16 pm
Yesterday I attended an all day away event with work. It was a combination of motivational speaking, team working exercises as well as management Q&A’s and board level views. There was talk about vision and values. We had pretty much the entire company in the same place including the teams from South Africa and Malaysia.
I’m usually quite cynical about these sort of exercises, probably as a result of my experience with Marconi Communications fall from grace. However yesterday’s event was genuinely exciting. The day was facilitated by Olympic rowing champion Ben Hunt-Davis who described the steps the coxed eights rowing team took over 2 years that lead to winning the gold at the 2000 Sydney Olympics. Apart from it being an inspiring story he drew out a lot of lessons on how to get a team functioning well together even if they didn’t all actually like each other.
Other sessions included the obligatory Great Egg Race type challenge as well as for me the most interesting “view from the board”. While the company has been going for 10 years, all but the last 2 supported by VC cash it is now making money and growing. It was refreshing the board are committed to growth and taking advantage of the massive opportunity the current explosion in mobile data provides us. No one can predict the future with regards to IPOs or someone coming along with a suitably large bag of cash it was very much concentrate on growth and the field of options will only get wider.
After the day event we relocated to a cocktail bar in town where the free bar was serving themed cocktails and a fantastic band had most of the company funking out on the dance floor. It was a great informal occasion and a chance to chat amiably to people I don’t tend to deal with on a day to day basis.
I came away from the day feeling pretty good about the company. Even after a horrific recession the company is still standing, achieving double digit growth, hiring new people* and most importantly exporting to the rest of the world. Who says the UK can’t produce world class products the rest of the world wants to buy?
* if your interested let me know, recruitment bonuses are worthwhile, especially considering the fee’s agencies can charge
12 July 2010, 9:00 pm
On Sunday we headed down to the Shelford Feast to catch up with my parents and generally enjoy beer in the sunshine. However while we were out thieving scumbags attempted to break into our house. Apparently there is a bit of a spate of break-ins around fete times as it offers a weekend opportunity when houses are generally empty during the day.
They started by trying to leaver the back door open. However the multi-point lock system held up well. They did however put enough force into it to wedge one of the lock point so solidly that even when we unlocked the door we couldn’t get in. They also attacked the patio door with some sort of heavy implement. Although the window is fairly smashed up the laminate finish held it together to thwart their attempt. Unfortunately they didn’t leave empty handed as after forcing the lock on the garage they left with Fliss’ old mountain bike (fortunately we had taken our brand new bikes with us to ride to Shelford). They also forced the lock on one of the outbuildings but as far as I can tell they didn’t nick anything from what is essentially our walk-in LARP wardrobe.
The police turned up fairly quickly followed fairly shortly by the “method of entry” specialist. There was much discussion about the subtle and the not-so-subtle way to gain entry. After the subtle way failed we declined the more direct method to wait for the insurance authorised engineer to turn up. Eventually the SOCO turned up (offering to wear his sunglasses if it would us feel better
and managed to get some potential evidence from the scene. Hopefully it won’t have been in vain.
Our lovely neighbours put us up and allowed us to watch the World Cup final while we waited for the engineer to turn up and get us into the house. It’s a shame the game was so disappointing.
All in all the experience wasn’t too bad, the Police (2 officers responsible for most of the villages to the north of Cambridge) were especially helpful. I’ve been burgled before so from my point of view I can write this of as a failed attack, Fliss however has a slightly different perspective. Overall we are happy* that the house withstood the attack however we will however be reviewing security to make the place even more fortress like. While Cambridge is not like Manchester this has been a reminder of some of the downsides to our relatively exposed rural setting.
* modulo the hassle that is inevitable with dealing with insurance companies and the magic vaporware cover.
12 July 2010, 3:22 pm
I’m writing this post the Sunday house break-in attempt. However much as I’d like to vent and praise I thought I’d stick with some positive commentary on the weekend and save the rest for another post.
This weekend has involved a variety of mammals and their interactions with their human masters/slaves/overlords*. We started on Friday when an old friend of Fliss’ came over to stay with his lovely half-whippet dog Mina. Mina is very friendly and approachable but also fairly excitable which explains why our two cats didn’t really hang around for too long to get to know her. They quickly came to the decision that the wilds at the back of the house were more preferable than sharing with an unknown dog. We did shut the door between kitchen and living room to create a dog-free refuge for the cats but they seemed reluctant to trust in our security arrangements, even scarpering at high speed when I came into the kitchen to do some washing up.
I found another mammal in our garden during the evening. A hedgehog came wandering across my path before rushing into the perceived shelter of the garage. Rather than rush it out we decided to leave the garage open as late as possible. However the hedgehog persisted in hiding itself away until I eventually gave up and locked it in for the night.
Once Mina left with Thom late on Saturday it took a degree of coaxing to convince the cats that it was safe to approach the house again. I ended up taking a food bowl outside and progressively moving it closer to the house. I’m happy to report the cats are now back to fully the facilities offered by our humble abode.
That left us on Sunday evening with our hedgehog visitor having endured two overnight stays in the garage and showing no sign of leaving via the open doors during the day/evening. I ended up picking it up with some suitable gardening gloves, watching it cutely go into defencive ball position before laying down on the garden border and watching it waddle into the bushes, hopefully hungry to tackle the slugs in the garden.
* delete as appropriate
5 July 2010, 11:16 am
All my machines have been running persistent Emacs daemons for some time now. Every time I edit a web-page text area or a tweak a configuration file the Emacs client whizzes me to the file with efficient enthusiasm.
However I’m still running individual sessions for each “project” I work on. For example at work I currently have one for the main source tree, one for the standalone Java project and one for a kernel I’m working on. This is in no small part due to the rather basic project support I hacked up some time ago.
While conceptually switching my various project variables to be buffer locals would solve a lot of problems there would be a mess of smarts to improve on and I currently can’t justify the diversion. I’ve attempted to get things like CEDET and JDEE working before but with limited success. They all seem overly heavy-weight solutions to the things I’d like it to achieve:
- Associate new open files with the “project” they are in
-
Make M-x compile do the right thing:
- Select compile command from per-project compile history
- Separate compile window for each project
- Make M-x find-tag behave in the project context
As I say simple needs. Once I have all that working then current pain points like having multiple IRC channels over multiple instances of Emacs can go away and everything is literately only a few key-strokes away.
Dear lazyweb, what lightweight project management tools exist out there and which are really good?
EDIT TO ADD: I’m going to have a look at eproject. Other suggestions still welcome though
1 July 2010, 10:22 am
Our new Coalition Overlordstm have launched a new web-site to solicit feedback from the citizenry on what laws should be repealed/modified. This is a little more involved than the current option to sign e-Petitions at the number 10 website. The site supports commenting, tagging as well subscribing to feeds for each idea. I’m quite impressed if this site has come from zero to production since the new government took power.
Of course experience with the e-Petition site has shown governments are quite capable of ignoring causes with popular support. There are also issue of selection bias, astro-turfing and inclusion of people without broadband connections. However it’s an interesting experiment and we’ll see where it goes.