Skip to content

Tools

Take note (or loose notes)

../../../assets/posts/eb33d439c91c25dd96004db4b1caf5b8_MD5.jpg

I like a tablet-only travel style: going to conferences without a laptop. I usually just want to take notes, follow social media, and do email. A tablet gives me mobility, both in weight and in battery life.

But at OKCon last week, I had major fail. I have an Android tablet, and I had been using Epistle for some time: a simple but useful text editor, that nicely connected with Dropbox to make my files available on my laptop.

A recurring problem with text editing (on Android devices, at least) is the lack of undo options in almost any app. Swipe your finger slightly wrong, type a letter, and your precious text is gone. Forever.

Around the web in week 44

../spider-web.jpg

Early 2009, I started using Friendfeed as a way to aggregate various sources of web links to share. August that year, Facebook bought FriendFeed, ripped out the innovators, and left the site to bleed to death. (I’m sure it felt less dramatic to the fine folks who built it.)

I’ve had a nagging feeling since, wanting to move away, but (luckily) the great features of their service stayed on air, and (sadly) no real open alternative showed up. But with the 1.6.0 release of tt-rss, my current news reader, came a “share…” bookmarklet, with the lacking piece of the puzzle: a way to inject any web page into a feed of web links to share.

When I suggested what I still missed, the developer almost instantaneously responded, completing the feature for my use case.

Twitter puts the bird in a cage

../../../assets/posts/930f1da714d32395beab1797d6b2c73f_MD5.jpg

photo: Pat Pilon, via flickr, CC-BY-20

When I came across Twitter, years ago, it first looked like another chat service. But with the ability to interact via SMS, and easy ways to feed tweets into websites and applications, it quickly became a rich ecosystem for exchanging all kinds of status updates. You see metro lines on twitter, announcing disruptions in services.

It seems the days of the free ecosystem are over, and Twitter is joining the Closed Silos Club to monetise my social connections.

Twitter was a platform that was very open for messages coming in and going out through dozens, even hundreds of applications. Together with similar services like Jaiku, and open source versions like identi.ca (Status.net), it looked like the beginning of federated social networks, at least for such status streams.

It could be something like email, or chat via Jabber or IRC: you can communicate with others, regardless of whether you use the same service (Gmail, Hotmail, your own) or tools (Thunderbird, Outlook). And you could contribute to the common infrastructure by setting up your own server.

This ability to contribute to the infrastructure is what is key to the success of the internet. In peer-to-peer applications, this even is made so easy that most people don’t even realise they are contributing: BitTorrent, Skype, Spotify, the key to success is that not everything has to go through a central entity.

But over the last months, Twitter has started to focus on “ delivering a consistent Twitter experience “.

What that means is that I loose. One by one, the connections I made between websites and tools will be terminated.

Instead of being the source, it is turning into the sink of status updates on my networked profiles, a place where I dump updates made on other platforms, and where I will (for how long?) mostly interact during conferences.

Twitter introduced “Cards” which look remarkably like Facebook or Google+ status updates. But I don’t need another Facebook-style destination (like another Google+ ghost town). What I liked about Twitter was the wide variety of ways to interact. I don’t want a company-dictated “consistent Twitter experience”, I want to interact around status updates.

As a content publisher, I don’t need yet another social graph and more markup language. Or a provider who insists on monitoring everything I and my visitors do.

Apparently, the new terms for the API say:

“Don’t resyndicate data. If your service consumes Twitter data, don’t take that data and expose it via an API, post it to other cloud services, and so on.”

As if Google would forbid me to forward an email in my Gmail account with anything other than their web client.

My tweets were free, now they have to live in a cage…

Denying service to my own mail server

We had some intermittent problems recently with a mail server not being available. As it turns out, I basically was doing a “denial of service” attack on my own mail server, thanks to some caveats in how IMAP, push notifications, and my mobile email client, K9 work together.

The problem

One of the mail servers we operate quite regularly became unavailable, apparently not accepting any connections. We managed to investigate the problem as it was happening, and found out all available connections for the IMAP server were in use, and nearly all of them originated from a familiar IP address: my home.

I disconnected the email clients on my devices (laptop, phone, tablet) and switched them on one by one. Clearly, my Android-based phone and tablet with the K9 mail client were causing the problem: they made dozens of connections. It turned out the problem was even worse: K9 reconnects several times.

IMAP and push notifications

Normally, an email client connects to the mail server to check if there is new mail in any of the folders, via IMAP. It would be nicer if the server just informs the client if there is a new mail available. The client will know immediately, and doesn’t have to poll the server so often, which reduces the load on the server too.

Such “push notifications” are not part of the original IMAP protocol. There are two ways in which IMAP tries to solve this:

  1. Keep the connection between client and server open with IDLE commands, so that the server can talk to the client.
  2. Extend the IMAP protocol with “ IMAP NOTIFY “, that both server and client need to implement, to offer more sophisticated push notifications over a single connection.

Sadly, the second option is still under development, and clients and servers (such as Cyrus) haven’t really implemented it yet.

And even more sadly: with IDLE, you need an open connection for each folder that needs push notifications. If you only have push notifications enabled on one Inbox folder, that’s not such a big deal, but to have push notifications on a dozen folders or more, you need a dozen or more open connections between server and client.

How K9 and Thunderbird deal with it

Apparently, Thunderbird limits itself by default to five open connections to the server, no matter how many folders you have. As far as I found out, you’ll have push notifications on the last five folders you’ve looked at.

But K9 does not limit itself. In my case, with a few accounts on our server, and with “push” enabled on all my preferred (“First class”) folders, that resulted in a few dozen open connections.

To make things even worse, K9 quickly detects when I switch networks, for instance when going from Wifi to 3G, and establishes new connections for those folders over the new network. While the mail server still has the old connections open, waiting for them to time out before closing them.

How I “DDOS” my own mail server

On a regular day, I start at home, then go to my office, with all my devices.

  • Phone and tablet: 2 devices
  • Running K9, each with perhaps 20 connections for various folders
  • Switching from my home Wifi to 3G, then to my office Wifi, usually within 10-15 minutes: 3 networks

That adds up pretty quickly: 2 * 20 * 3 = 120 connections. No wonder my colleague had trouble accessing email as soon as I started working.

Suffice to say: I switched off push notifications.

Drones for good, pirates in the sky

You’re enjoying a sunny day in the park with some friends. You get out your smart phone to find that piece of music your friends really should hear, and all of a sudden, a flock of colourful mini helicopters appears out of nowhere, and perform a gracious dance in the sky above you while the music plays. Then they disappear again.

Sounds futuristic? Yeah, even still looked futuristic when I saw this at the GLOW Festival in Eindhoven, last November:

Science fiction is quickly loosing its fiction part and is becoming reality. The Electronic Countermeasures installation was a proof of concept of the technology, but now the Pirate Bay is preparing for the next step: using these flying robots to build a “low orbit network of server drones”. Let the robots in the sky help you share, independent of providers and regulators.

The military are building drones for “ Non-cooperative, Biometric Tagging, Tracking, facial recognition to follow people in a crowd, so why not use the same tools for to monitor police operations in demonstrations?

http://youtu.be/9vOor1xmVDs

Although still relatively expensive, the drones are a nice addition to the $100 Satellites, using balloons and kites to make maps and asses situations, for instance in the aftermath of the Deepwater Horizon disaster, or working with communities in Peru:

ed7e0b78fe65cad28d00841bacf4b882_MD5.jpg

Lets build Drones For Good!

Wordpress for Presentations (part 1)

For a while now, I’ve been wanting to get rid of using presentation software (like Microsoft Powerpoint and LibreOffice Impress). Since I’m mainly presenting stuff on the web, about the web, I want to use a web-based tool. Like my blog. And now I can! Here’s part one of the journey.

Doing presentations with WordPress, part 1

  • Why?
  • How?

Why a web-based presentation tool?

Current presentation software sucks…

  • Poor conversion of formats
  • Hard to publish on your own site
  • Need to switch to a browser to demo anything

Obviously, I’m not only one with this itch. I’ve explored a couple of options.

I’ve also tried a few plugins for WordPress. The one I liked the most was (a)SlideShow.

Cool effects and all, but hard to have a post live as a blog post (with texts between the slides), and being able to switch it to presentation mode.

The web standard for style sheets (CSS) provides a mode for presentations: @media:projection. It should be possible to switch to a “projection style”, and use CSS to eliminate all the text in between the slides, provide basic pagination, and so on. But browsers still don’t really support this:

  • Opera uses the “projection” style (if available) when going into full-screen mode.
  • Firefox has a FullerScreen add-on that allows similar functionality, but needs to be installed separately.

With the Firefox add-on, it wasn’t hard to start working on a style sheet for presentations that works on my own laptop.

But… I’d like to be able to present from another machine as well, and to enable web visitors to my blog to also see how the slides look.

So the search continued for a simple library that would do the trick.

In the end, I mostly liked Zack Grossbart’s simple and clean version in the browser. And it should work well with the style sheet already prepared.

I’ve spent a bit of time integrating it into my web theme, and to strip Zack’s version further: no extra interface, just the same as the F11 key in my own “Firefox+FullerScreen” set-up.
It took a bit of hacking to put it into WordPress.

Doing presentations with WordPress, part 1

What the code does now?

  • Are we presenting a single post?
  • And is it in the category “Presentations”?
    • Is there a URL parameter “projection=1”?
      • Load the “projection” style sheet for all modes.
      • Load javascript to enable keys for “forward, back”.
    • Else
      • Load the “projection” style sheet for “projection” only.
      • Load another style sheet to present the slides in “screen” mode.

It can do pretty cool stuff already. Use standard embed codes (but you’ll have to add the div code with class="slide" yourself).

http://www.youtube.com/watch?v=PIa0n8rbUFQ

This is part one. There still is work to be done 🙂

Tools that work: OpenOffice as a blog writing tool

Syndicated

This is a version of my earlier post, made to the short-lived "Tools that work" blog.

As my first contribution to the Tools That Work blog, why not present a tool to make the process of writing a blog post easier: t he Sun Weblog Publisher for OpenOffice. I still prefer to write text in a word processor, with the best tools for spell-checking, the simplest ways to add links, and Zotero to manage references to sites and literature.

![29c332a9cb651cb393554ed5d4a36f44_MD5.png](https://toolsthatwork.wordpress.com/wp-content/uploads/2010/04/screenshot-send-to-weblog-2.png)

Uploading a post as draft to a blog

But then the text needs to go into the blog: copy-pasting creates endless battles with an online “WYSIWYG” (What You See Is What You Guess) editor, reformatting lists and headers, or losing carefully crafted sentences through browser hick-ups and poor form handling.

Editing the HTML itself isn’t fun either. OpenOffice produces poor HTML output, “Export as” even worse than “Save as”. An unappealing alternative: coding HTML in a text editor, adding things like by hand. I’ve looked at HTML editors that would let me focus on writing instead of coding. KompoZer (follow-up to Nvu) is nice for producing reasonable HTML, but yet another tool and not really supporting the writing process. And it then still is an effort to get the proper part of the HTML into the blog.

I also tried ScribeFire, which lets you write a blog post and interact with the blog software from within Firefox, but it offers no simple way for simple structural mark-up like a

header. And, no support for references.

The Sun Weblog Publisher extension for OpenOffice seems to change the way I work: it adds a button to publish a document to a blog, using a variety of protocols to support different blog software, like WordPress. And another button lets you download existing posts from that blog, to edit them. The process of pushing a post into the blog has become a lot smoother.

![315a16b228566d9b9c94671a68c57fc5_MD5.png](https://toolsthatwork.wordpress.com/wp-content/uploads/2010/04/screenshot-3.png)

Upload and download posts from a blog

There is still some online processing to do, like adding tags and minor HTML cleanup. And I’m not sure how well it will handle images or complex layouts. But writing a post and pushing it into the blog has become a lot easier!

Edit

OpenOffice as (blog) writing tool

I’m a geek. So when it’s not a writer’s block keeping me from producing a blog post, I’ll dive into tools and techniques to “optimise” my writing experience before I start typing out sentences. Lets call it preventive productivity: getting a lot of related things done in order to be more efficient later. Like getting the tools and the work flow right. Perhaps I managed that, now that I can really use OpenOffice to write blog posts, with Zotero to manage my reference, and the Sun Weblog Publisher to push the result towards my website.

A writer’s technical block

I don’t really have a lack of stuff to write about (yet). But so far, I never was happy with how the writing went, as a process, as a work flow.

  • I keep quick notes in TomBoy: easy-to-use, always at hand, just enough formatting and wiki-style linking to add a bit of structure. Even somewhat useful for basic writing.
  • But then it needs to go into the web: endless battles with the “WYSIWYG” (What You See Is What You Guess) editor in Drupal and loosing my content over a disconnect; or hand-coding HTML in TomBoy or a text file with a regular editor.
  • And not to mention adding images, links and references… usually this means more hand-coding, copy-and-pasting, and so on.

Adding it all up, I usually end up spending 2 to 3 hours to get a blog post done, and around half of that is on the technical stuff.

That creates an additional problem: I don’t always spend those hours in one session. I want to be able to stop now, and continue later.

Failed contenders

I’ve looked at specific tools, like HTML editors that would let me focus on writing instead of coding. ScribeFire offers a few nice features in publishing a blog post from within Firefox, but offers no simple way for simple mark-up like

. KompoZer (follow-up to Nvu) is nice for building complete HTML, but yet another tool and not really focused on writing.

The most obvious choice to write texts is to use something like OpenOffice, especially when using Zotero to easily add bibliographical references. It has the best tools for spell-checking, the simplest ways to add links to sites, and so on.

But in its basic form, it doesn’t do a great job in producing HTML. “Save as” produces better HTML than “Export as”, but then you loose the special fields that allow you to later change references etc. And I’d still have to copy-and-paste the proper part of an HTML file into a new blog post.

Combining (new) tools

As part of today’s preventive productivity, I found the Sun Weblog Publisher extension for OpenOffice. Which adds a nice button to publish a document to a blog, using a variety of protocols. And also to download existing posts from that blog to edit.

It still produces problematic HTML, but at least my writing experience is improving a lot: quickly adding links, inserting references and footnotes, and so on.

In addition, having my preliminary blog posts in OpenOffice files makes it easier to use Tasktop, which promises better productivity by making task switching a lot easier. Their Firefox add-on tracks the sites I visit while working on a specific task.

A smoother process

Whenever I have an idea for a blog post, I add it as a task in Tasktop. That enables me to do a bit of planning for it, and also to activate it whenever I am looking for information to include. If I can’t finish it all in one session, I just stop the task, and when I reactivate it later, my browser tabs and the file I was editing are back in focus.

OpenOffice allows me to focus on writing texts while adding both links to sites and bibliographical references, and checking spelling and basic layout of headers, tables, and so on. I still need to decide whether a good template will help improve this step.

The Weblog Publisher extension lets me push my text to my website as a draft post, repeatedly if needed. I then need to do the last part of publishing on my website: adding appropriate tags, cleaning up HTML, and perhaps adding one or more images.

Does it work? Yes!

This is the first post I did this way. No references in this one, but adding the links was definitely lots easier. And the publishing part now only took 15 minutes (cleaning up some of the superfluous HTML, mostly). It definitely feels a lot smoother.