Dear Interwebs: Secure SMTP Relay Wanted
I'm looking for a basic SMTP relay which supports SMTP AUTH, TLS, supports the sendmail interface, and has a local mail queue, so that I can send mail from my laptop in Evolution (to localhost, or calls sendmail) and the shell (calling sendmail) when online or offline.
I need SMTP AUTH and TLS, which means nbsmtp, masqmail, and nullmailer are out. I want a local queue for when I'm not online which means esmtp, ssmtp, msmtp, and nullmailer are out (I'm not convinced that msmtp's queue scripts are reliable enough). Surely there must be a simple SMTP relay which will reliably manage a queue if the mail cannot be sent! If not, does anyone know of a good guide to configuring Postfix or Exim to do this?
New Gypsy Release
Because I'm fairly lame there are not matching Debian packages yet, but I'll get around to that tomorrow. In other news, a very nice man called Ian Lawrence wrote a buzzword-compliant tutorial where he uses Gypsy to talk to a Bluetooth GPS, tests it with my Gypsy Status 10-minute hack, and then uses Django to redirect the user to the relevant geohash.org page.
NP: Remembranza, Murcof
Thanks to Photoshop Disasters, this Photoshop horror cheered me right up.
Original source, although the image was just pulled from the site.
EDS and Memory
I was going to reply to Philip's post, but Federico did a wonderful job before I could start.
That said, I still haven't forgiven you for some of the finer details of libecal Federico. :)
Dear Intertron: Emacs Help Please?
I recently switched to Emacs from XEmacs, and have pretty much got it working how I like. There are just two problems remaining.
- I'm using emacsclient, and when I close the last frame Emacs quits. With XEmacs when in server mode the process continues when the last frame is closed, anyone know how I can get Emacs to do this too?
- Emacs appears to be moving the mouse pointer when I open a new frame. This is totally frustrating not only because I use sloppy focus, but also because its moving the point to the wrong frame. How can I turn this off?
Help greatly appreciated!
Traits of the Common and Generally Mythical Evolution Data Server Replacement
When not writing media centres or GL toolkits, it appears that the latest trend in open source is to write Evolution Data Server replacements. There is a fairly common pattern forming.
First, implementation details will be announced as a major, if not the main, feature. The shining example is "based on DBus". Yes, DBus is great. Yes, ORBit is a dying technology for something as simple as transfering a few strings between two processes. But this is an implementation detail. I'd prefer a project using DBus instead of another incredibly complicated IPC, but implementation details are typically not something to get excited about.
Often this first point gets out of control and suddenly the point of the project is to design a DBus interface, not to write real working code. Of course, an interface without any code behind it, without any reference implementation, without several applications and different users, is bound to be broken somewhere. But you'll never know until it is too late and you've labelled the interface as STABLE. Learn from DBus itself, anyone who followed the project before 1.0 knows that the core concepts were rewritten several times before it was finally marked as stable.
Spreading basic FUD is fairly common too. "EDS is not efficient concerning network bandwidth" doesn't make sense, because EDS is a local daemon. When it does talk over the network, it's fairly sensible. The LDAP (and Groupwise/Exchange I believe) backend maps EDS searches to native searches so that only the requested items are fetched. Backends such as WebCal have no option but to fetch the entire file, because that is how they work. "EDS is not efficient concerning memory usage" is rather vague, and if you interpret it as "private dirty memory usage is unreasonably high when in use" then in my opinion that is untrue and I have Massif logs to back me up.
If these points were true, they'll generally be fixable within EDS. The default local calendar backend is implemented as an iCalendar file on disk, which is parsed into memory in its entirety on startup. This certainly works well for a basic implementation but should be replaced with a database of some sort, a simple one which stores a hash of UID to event would reduce memory usage for large calendars. Add to that a cache of start and end times to optimise that common case and the end result is probably both faster and uses less memory, for a few days work.
Occasionally complaints are spot-on, but EDS isn't immutable and whilst starting a new project from scatch may be more fun, please think of everyone else. EVCard is over-complicated and yet tragically crippled, whilst EContact tries to be clever but generally gets in the way. Luckily we can write a new contact object which is easier to use. The query language is limited, but Milan Crha of Red Hat fame has been chipping away and now it's more flexible without breaking existing applications. Maybe someone can come up with a good replacement language, and the old language deprecated.
I'll summarise what I'm trying to say.
- EDS isn't perfect, we all know that.
- However, EDS also isn't immutable. It can be fixed.
- If you find bugs or bad design in EDS, please file a bug report.
- If you have spare time to start a replacement project, please briefly consider the possibility of working on EDS first. The code isn't that scary, honest (especially the DBus port when I get around to merging it).
- If you still want to start a replacement project, at least be polite and inform the evolution-hackers mailing list that you are starting a project to replace it. You never know, there might be common ground that we can both work on.
NP: Kharah System, Hereill
Over the weekend I hacked on a clone of Marco Polo for GNOME. The idea is that you define a set of contexts, such as "work", "in meeting" or "home". The current context is determined by a set of rules, for example being on the "Burton" wireless network means I'm in the "home" context, the time being between 09:00 and 18:00 means the "daytime" context, and so on. Finally, when entering or leaving a context actions can be executed, such as muting the sound card, mounting a remote drive, or changing the default printer. So far I have sources for the time of day and wireless network name, and actions to run a command and set a GConf key.
Now that the basics are in place, I'm looking for other alpha-testers. Experience with Python is a requirement at the moment as there is no UI or configuration file yet. That said, if this application sounds like it could be useful to you then please email me.
NP: !K7, Various
Devil's Pie Graphical Editor
Thanks to Chris for pointing out gdevilspie to me, a graphical interface to writing Devil's Pie rule files. I've never used it so I can't comment on how well it works, but I'm very glad that someone finally wrote it!
In the last fortnight I have managed to Freecycle the following objects:
- Bathroom scales
- A safe
- An Orange Pay As You Go SIM
- A wooden chopping board
- A Bluetooth headset
- Six iPod cases
- A Bodum teapot
- A radio walkman
- A Sharp portable minidisc recorder
- A Nikon APS camera
- Five belts
- Two boxes of word fridge magnets
- A 802.11g CardBus card
- An external USB sound device
It sounds a little like the Generation Game, I know. Combined with a bin bag full of junk, I can actually see the bottom of my drawers now!
More Tasks Magic
Feedback on what magic strings should be detected would be great too. Currently it detects "today", "tomorrow", "yesterday", "this [weekday]" and "next [weekday]". Next up is "by|due|on [local date representation]", but what else would be useful?
About an hour ago my ADSL router started flashing again, so I'm finally back on the Internet. Whilst I could read some mail and keep up with office gossip by using my phone as a modem, it wasn't exactly great thanks to the lack of 3G coverage out here in the fens.
If you were wondering why I haven't replied to your mails, reviewed your patches, or if I've been ignoring you, then I'm back! I can't promise that I won't continue ignoring you though...
Sound Juicer "Died To Make This Sound" 2.22.0
- Fix various crashes in the preferences dialogs (thanks Matthew Martin)
- Translate the genres (thanks Brian Geppert)
- Add a paused track state (thanks Brian Geppert)
- Use the system icons for play/record (thanks Micharl Monreal)
- Many many translations!
Thanks to everyone who helped with Sound Juicer 2.22, there has been a huge influx of new contributors thanks to the GHOP and gnome-love projects.
For Sale: IBM ThinkPad X22
In an effort to clear up the utter mess which is my home office, I'm selling my old laptop. It's an IBM ThinkPad X22 (ultra-portable), with (and this is from memory) a Pentium 3 Mobility at 733MHz, 640MB RAM, and a 20GB HDD. I think. (update: 40GB HDD). It has built-in wired ethernet but no built-in wireless, though I can throw in the Orinoco-based wi-fi card I've been using. There is also the UltraSlice micro-docking station with a hotpluggable CD drive/HDD bay. It will come booting Debian, but it has a Windows 2000 license and I'm sure I have the CD somewhere in the attic. The main caveat is that the screen hinges have lost their grip so it is best used either closed as a router or network music box, or against something to keep the screen from falling open. :)
So, anyone want to make an offer? I'll put it on eBay if nobody wants it, but I thought I'd offer it out to the Planets first. If anyone is interested ping me and I'll go and turn it on to double-check the specifications.
Dear Mark Prisk
It's been over three months since my last letter to Mark Prisk MP, and I've yet to receive a reply. Is he ignoring my letter, or is he just useless?
NP: Sounds Like Murcof, Last.fm
Google Contacts Data API
Those nice people at Google have finally opened their Contacts API. Now, Evolution already has a Google Calendar backend, so does anyone fancy writing a Google Contacts addressbook backend? If someone with C/GObject knowledge is interested, I'll happily provide assistance on the Evolution side.
Poky "Pinky" 3.1 Released
From: Richard Purdie <firstname.lastname@example.org> Subject: [poky] Poky Version 3.1 (Pinky) Released It gives me great pleasure to announce a new release of Poky, version 3.1 (Pinky).
Poky 3.1 is released! We've been hard at work for this one, mainly deep in the guts to make it more portable and powerful. Of interest to GNOME developers is that Pinky is shipping a complete GMAE 2.20 platform, and a plugin for Anjuta to make building and deploying software for your target device trivial.
We've also got a sweet new web site and possibly the cutest mascot ever. I, for one, can't wait to stroke a plush Beaver.
From the most excellent Flat Earth News, a rip-roaring (I've always said that phrase should be used more) tale of corruption, falsehood and propaganda in journalism:
The readers are never wrong. Repulsive, maybe, but never wrong.- Piers Morgan, as editor of the Daily Mirror, referring to how he lost circulation due to the paper's stance against the Iraq invastion.
Flat Earth News is a great book, and I can recommend it to everyone who is disappointed with the state of global journalism, and even more to anyone who thinks journalism is in general doing a good job.