<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-29944564</id><updated>2011-07-28T22:36:54.030+02:00</updated><category term='GSoC'/><category term='python'/><category term='haskell'/><category term='programming'/><category term='mac'/><title type='text'>Technobabble</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29944564.post-4738592613919929499</id><published>2009-06-22T13:51:00.004+02:00</published><updated>2009-06-22T13:54:45.054+02:00</updated><title type='text'>New blog!</title><content type='html'>Ok, this blog is pretty dead, but I have started a new one!&lt;br /&gt;&lt;br /&gt;Take a look: &lt;a href="http://sourcecodebean.com"&gt;Source Code Bean&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-4738592613919929499?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/4738592613919929499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=4738592613919929499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/4738592613919929499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/4738592613919929499'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2009/06/new-blog.html' title='New blog!'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-759065913094995678</id><published>2007-05-25T01:28:00.005+02:00</published><updated>2007-05-25T01:39:28.789+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Mondomouse</title><content type='html'>Since I bought my Mac I've been looking for a way to move and resize windows by using a modifier key and the mouse (as in GNOME, KDE and most other window managers).  Today I found the solution, Mondomouse!&lt;br /&gt;&lt;a href="http://www.atomicbird.com/mondomouse/"&gt;&lt;br /&gt;http://www.atomicbird.com/mondomouse/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-759065913094995678?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.atomicbird.com/mondomouse/' title='Mondomouse'/><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/759065913094995678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=759065913094995678' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/759065913094995678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/759065913094995678'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2007/05/mondomouse.html' title='Mondomouse'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-3488399509028032467</id><published>2007-02-20T01:56:00.000+01:00</published><updated>2007-03-02T20:44:08.662+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>How Eldora will differ from a BNC</title><content type='html'>&lt;a href="http://blog.nurd.se/bohemel/"&gt;Bohemel&lt;/a&gt; asked the obvious question "What is the difference between this application and an ordinary bnc?". I will try to explain it in this post.&lt;br /&gt;&lt;br /&gt;During the years I have tried many different IRC bouncers, but none has satisfied me. As I see it, the problem is how the client communicates with the BNC, the IRC protocol is not flexible enough. As an example, when you connect to a BNC, you receive log messages from the channels you are in, but they are time-stamped with the current time. You can not tell if a channel has new messages or not, since all received messages are "new" to the IRC client.&lt;br /&gt;&lt;br /&gt;The two solutions to this problem which I have found is:&lt;br /&gt;&lt;ul&gt;1. Extend the IRC protocol with additional features.&lt;br /&gt;2. Create a new protocol.&lt;/ul&gt;I have chosen the second solution because it offers more flexibility.&lt;br /&gt;&lt;ul&gt;IRC Client &lt; --IRC protocol--&gt; BNC &lt; --IRC Protocol--&gt; IRC Server(s)&lt;br /&gt;&lt;br /&gt;Eldora Client &lt; --Eldra protocol--&gt; Eldora server &lt; --IRC Protocol--&gt; IRC Server(s) &lt;/ul&gt;The Eldora protocol is similar to the IRC protocol, but adds additional features, such as separation of new messages and previously read messages. So when a Eldora client connects to the server, it can request n lines of log for each open channel and private chat. The messages will be time-stamped at the correct time (which often is a problem with BNCs, since IRC messages are time-stamped by the receiving client). It will also support various window managing commands, so if one client closes a window, or rearranges a window, it will propagate to all connected clients.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-3488399509028032467?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/3488399509028032467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=3488399509028032467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/3488399509028032467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/3488399509028032467'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2007/02/how-eldrora-will-differ-from-bnc.html' title='How Eldora will differ from a BNC'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-3962132359776963141</id><published>2007-02-13T01:17:00.000+01:00</published><updated>2007-02-20T01:48:53.236+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Eldora: Reinventing IRC</title><content type='html'>Reinventing is perhaps not the right word to use, but if Apple were the creators of Eldora they would probably claim so. Eldora is the codename of a project I'm currently working on, it is sort of a continuation/restart of an old project of mine, rIRC, which was never finished. &lt;br /&gt;&lt;br /&gt;Eldora is a Client/Server based IRC client. It is supposed to do what can be achieved using irssi in a screen on a remote shell. It will allow you to always be online in your irc channels, so you wont miss anything said during you turned your computer off. It will support multiple attached clients at the same time. Changes to the interface, such as open channels or private chats, will propagate to all connected clients. The server part will run on almost any platform, while the client application will (at least to start with) be mac only.&lt;br /&gt;&lt;br /&gt;The client application will support support growl notifications, have URL highlighting, URL logging (actually a server feature). Since it is going to be an OS X application it must of-course be very attractive as well :)&lt;br /&gt;&lt;br /&gt;So far I'm only working on the server implementation. I'm coding it in, do not be frighten now, Haskell. During the past months I have learnt a great deal of Haskell, and what seemed totally impossible to me 3 months ago, that I would actually like to code Haskell, is today true. It is a very powerful language, but it is also extremely hard to learn. &lt;br /&gt;&lt;br /&gt;Comments, thoughts or feature requests are welcome :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-3962132359776963141?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/3962132359776963141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=3962132359776963141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/3962132359776963141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/3962132359776963141'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2007/02/eldora-reinventing-irc.html' title='Eldora: Reinventing IRC'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-644418668939125054</id><published>2007-02-04T11:16:00.000+01:00</published><updated>2007-02-20T01:17:45.712+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>A better iSync script</title><content type='html'>The isync "script" I posted last time did work, but not as perfect as you might want, so here is a updated version! The new script starts iSync in the background, synchronizes and then exits iSync (if iSync was not running from the beginning, in that case the application will not be terminated). &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;tell application "Finder"&lt;br /&gt;    set iSyncRunning to (number of items in (processes whose name is "iSync") is greater than 0)&lt;br /&gt;    tell application "iSync" to launch&lt;br /&gt;    tell application "Finder" to set visible of process "iSync" to false&lt;br /&gt;    tell application "iSync" to synchronize&lt;br /&gt;    tell application "iSync"&lt;br /&gt;        repeat while (syncing is true)&lt;br /&gt;        end repeat&lt;br /&gt;        if iSyncRunning is not true then&lt;br /&gt;            quit&lt;br /&gt;        end if&lt;br /&gt;    end tell&lt;br /&gt;end tell &lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-644418668939125054?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/644418668939125054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=644418668939125054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/644418668939125054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/644418668939125054'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2007/02/better-isync-script.html' title='A better iSync script'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-78715330773461694</id><published>2007-01-22T01:09:00.000+01:00</published><updated>2007-02-20T01:14:52.084+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Use cron to automate iSync</title><content type='html'>I think it is rather strange that iSync does not have built in scheduling. However, a simple solution to this is to use cron to schedule it.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;0 22 * * * osascript -e 'tell application "iSync" to synchronize'&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-78715330773461694?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/78715330773461694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=78715330773461694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/78715330773461694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/78715330773461694'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2007/01/use-cron-to-automate-isync.html' title='Use cron to automate iSync'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29944564.post-115956728375624459</id><published>2006-09-29T23:43:00.000+02:00</published><updated>2007-03-08T00:35:49.413+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC'/><title type='text'>Google Summer of Code 2006</title><content type='html'>As you might know (if you followed my old blog) I participated in GSoC this summer. I wrote two applications for the GNOME desktop environment, "Panel Switcher", and "Session Backup". Panel Switcher is ready for release, hopefully it can be released as a package in Ubuntu efty universe soon. &lt;br /&gt;&lt;br /&gt;Session backup on the other hand, it not as mature as Panel Switcher, and since I found out that a guy working for Novell, is working on an application that pretty much does the same things that Session Backup was supposed to do, the future of this application is a bit unceartin. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/PanelSwitcher"&gt;https://wiki.ubuntu.com/PanelSwitcher&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/SessionBackup"&gt;https://wiki.ubuntu.com/SessionBackup&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29944564-115956728375624459?l=petermoberg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://wiki.ubuntu.com/PanelSwitcher' title='Google Summer of Code 2006'/><link rel='replies' type='application/atom+xml' href='http://petermoberg.blogspot.com/feeds/115956728375624459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29944564&amp;postID=115956728375624459' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/115956728375624459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29944564/posts/default/115956728375624459'/><link rel='alternate' type='text/html' href='http://petermoberg.blogspot.com/2006/09/google-summer-of-code-2006.html' title='Google Summer of Code 2006'/><author><name>Peter Moberg</name><uri>http://www.blogger.com/profile/11426489100724049925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://static.last.fm/avatar/d7cc4b265af1f2d17c0a7acbaf9ea0e4.jpg'/></author><thr:total>3</thr:total></entry></feed>
