Self decrypting emails considered harmful

Sending a sensitive file, one that should be encrypted, amongst Linux and OSS geeks is doable. Most have heard of PGP, many have a GPG key (here is mine) and some even use it. Sending an encrypted file to most people is a non-starter. The software may be there (Outlook is S/MIME capable), but the knowledge and the experience definately isn’t. Which is a shame, because I’d like to have my bank statement securely sent to my email account. PGP Desktop has a feature called the Self Decrypting Archive. To quote the PGP Command Line for Servers FAQ:

»
Author's profile picture Alex Willmer

from ESRI.ArcGIS import Geodatabase

A couple of years ago I tried to use ArcObjects, through IronPython. It didn’t quite work. Last week I tried again, using the newly released IronPython 2.0. This time it worked better. create_sde_conn_file.py is based on CreateSDEConnFile.java, from Creating ArcSDE connection files on the fly using Python and ArcObjects on ESRI’s Geoprocessing blog. For those not already familiar, ArcGIS is by accounts the market leader for Geographic Information System (GIS) software. The core of the suite comprises ArcGIS Desktop, and ArcGIS Server. On the desktop ArcMap is used to create map documents (.mxd file), whilst ArcCatalog is used to manage data sources. ArcGIS Server can (amongst other things) serve a map document, as a service for web client, Google Earth or remote ArcMap users. ArcGIS may be automated to an extent, through an interface known as ArcGIS Geoprocessing. But this covers only some cases, delving deeper provides much greater opportunities. ArcGIS is built on a COM object library named ArcObjects. Native ArcGIS files, such as an ArcSDE connection (.sde file) are the in memory COM object, serialised to disk as binary. It is difficult to edit or create such files in an automated fashion, without calling ArcObjects. So, like the Java code CreateSDEConnFile.py calls ArcObjects directly. It can produce an ArcSDE connection file, suitable for ArcCatalog. It works by calling the .NET bindings, through Interop assemblies. Anything that can be done through VBA, or C# should be possible through IronPython. There are a couple of rough edges. ArcObjects is verbose, and IronPython requires some boilerplate to deal with interfaces. Instead of writing conn_props['SERVER'] = sys.argv[2] or even conn_props.SetProperty('SERVER', sys.argv[2]) one needs to write: esriSystem.IPropertySet.SetProperty(conn_props, 'SERVER', sys.argv[2]) This is explained properly in IronPython bug 1506 and 4538. To run the script call it as: "c:Program FilesIronPythonipy.exe" create_sde_conn_file.py filename.sde hostname 5151 username password SDE.DEFAULT "" My intention is to take this proof of concept further. To do the same with layer files and map documents. Ultimately to create a build system, able to automatically generate a complete ArcMap document, from textual source files (e.g. json2mxd.py, mxd2xml.py). This would allow proper version control of the source material, and automatic deployment of ArcGIS Server map services. In the wider scheme, it should be possible to create custom GIS applications with Python, using the full capabilities ArcObjects and ArcGIS. Updated 29 Jan 2009: Added some context, for those coming to this post from a Python background. Expanded goals.

»
Author's profile picture Alex Willmer

meetyourmessenger.co.uk smells phishy

Here’s an email I received today:

»
Author's profile picture Alex Willmer

Only one predication, Windows 7 will be released as Windows Vista SP 2.5

I have no evidence, and it’s wishful thinking more than anything. However, I predict that just before the expected release Microsoft will reveal Windows 7 is to be a free upgrade for Windows Vista users. P.S. If you have any trouble posting a comment to this blog, please let me know on alex@moreati.org.uk.

»
Author's profile picture Alex Willmer

Timesheets in OpenOffice Calc and Excel

Putting my timesheets in order today, I finally figured out how to make Excel deal correctly with time durations. The default is to treat values as a date/time, formatted as hh:mm. So a value such as 37:00 - meant as a duration - is displayed as 13:00 (1 PM the following day). To correct this, choose custom cell formatting, and enter the format as [h]:mm. In OpenOffice Calc, [H]:MM is the default format for a time value (tested with 3.0), so durations work out of the box. For something pre-cooked, the OpenOffice Documentation site has a timesheet template by Vivian Lal.

»
Author's profile picture Alex Willmer

Deep Zoom and others for displaying large images on the web

Slashgeo have noted the release of Deep Zoom in Javascript aka Seadragon, by Microsoft. Deep Zoom allows one to deliver a very high resolution image over the web, with pan and zoom. Only the portions viewed are download, so bandwidth usage is minimised. Until now Deep Zoom was Silverlight only. It works similarly to OpenStreetMap, Google Maps or Live Search Maps. A large image is transformed into a ‘pyramid’, by generating lower resolution versions (e.g. full, ½, ¼, …) and stacking them until a peak is reached. Each level is cut into square tiles, which are stored individually in a known hierarchy. The pyramid generation is similar to mip-mapping. The image might be satellite or aerial photography, a scanned map, a legal document, medical imagery (e.g. a smear test or x-ray) or any highly detailed photograph. Deep Zoom joins a collection of platforms and technologies that perform a similar role, which I’ll briefly summarise.

»
Author's profile picture Alex Willmer

Firefox rendering/scrolling slow on Linux? Try reseting page zoom

For months now, I’ve found Firefox on my Linux laptop to sometimes be sluggish and a CPU hogging, particularly when scrolling. T-Mobile UK and Engadget were the worst affected. Visiting t-mobile.co.uk saturated the CPU for several seconds whilst rendering. The result looked horrible - grainy, and badly pixelated. I’d attributed this to X, Nvidia, browser sniffing, Flash and Javascript/CSS. Of course it was me all along. Firefox 3 has a feature called Full Page Zoom, it doesn’t just resize text, it scales everything on the page. I had zoomed these pages, then forgotten. If any of this sounds familiar, try reseting your zoom level:

»
Author's profile picture Alex Willmer

Another Python cheat sheet

I couldn’t find a Python cheat sheet that I liked, so I made another.

»
Author's profile picture Alex Willmer

Barriers to year of linux on the desktop

This post is a tribute to Linux Hater who sadly has retired. He was insightful and right about many things, although sometimes a bit too whiny. Linux currently holds about 1% market share on the desktop. It has gained 0.5% in 2 years, whilst Mac OS X has gained 3%, and MS Windows has lost 4%. In the browser market Firefox is now nudging 20% market share. Can Linux ever achieve that? A single ‘Year of Linux on the desktop’ is unlikely, but it’s a popular meme, so lets to play. It’s some number of years in the future. Ubuntu ‘Satisfied Squirrel’ has built on slow, steady growth. Linux desktop share now nudges 20%. What might this future Linux desktop be like, compared to now?

»
Author's profile picture Alex Willmer

This week I have been mostly learning...

»
Author's profile picture Alex Willmer

Honey I hid the dot-files

Backing up my home folder this weekend, in readiness for the Ubuntu Intrepid beta I spotted some unusual path names scroll by:

»
Author's profile picture Alex Willmer

Job Seeking

It’s been Five years since I moved to Birmngham, to begin work with Defence Estates. I’ve enjoyed my time there, the people are fantastic and I’ve learnt much. It’s now time to move on; I want to find new challenges and broader horizons. If you’re looking for a DBA, a system administrator, someone skilled in GIS support, or in application support - then please email me or call me. My CV is online (as MS Word, OpenDocument, or PDF).

»
Author's profile picture Alex Willmer

SubHuman GTK theme: making GTK play nice with Fitts

In Fitts Law and Minimalism vs GTK+ and Qt I complained about the excessive use of borders and padding in GTK+ and Qt. Here’s what I’ve got so far (click for unscaled versions):

»
Author's profile picture Alex Willmer

Fitts' Law and Minimalism vs GTK+ and Qt

It all started with the Pidgin chat window, which is surrounded by several pixels of padding. To my eyes the padding doesn’t achieve anything, it just wastes space and detracts from the clean, minimalist lines of the Buddy List. After much fumbling, I managed to change it in the Pidgin source code . Bug 6987 with patch was duly filed. Now I’ve become obsessed, I’m spotting extra borders and pixels in nearly every application on my desktop.

»
Author's profile picture Alex Willmer

Commenting is now fixed, sorry

Anybody who tried to register on this blog during the last 6 months or so, would not have received an activation email. So many people will have been unable to comment. If this has happened to you sorry for the inconvenience. This Wordpress installation can now send emails, thanks to the Configure SMTP plugin by Scott Reilly. If you have any problems, please email me, my address is alex@moreati.org.uk.

»
Author's profile picture Alex Willmer