Saturday, February 22, 2014

REALLY!?! - On the Problem of Incomplete Data

A couple of months ago, the Austrian Federal Railways (ÖBB) opened their data for Google (maps). Whether this can be already considered "open data" or not, is not todays subject.  Wiener Linien (let's call them the Vienna Transport Authority) did not.

My concern is, that Google now has the time table data of the railways, but not of the (local) public transport in Vienna (underground, tram, bus).

Which leads to incomplete data for commuters in and around Vienna (within Google Maps), or a segment, which I in reverence of SNL like to call



REALLY!?!

So, because there is no underground/metro/tube data. Incidentally ÖBB also operate the airport transfer bus, which happens to have a station right next to my office. And thus... Google Maps fills the gap in Vienna with a nice little transfer to the airport and back to my office... Because that's the only routing data (apart from walking) the find.

REALLY!?!
My regular commute time is around 50 mins.
So please, all, get your act together.

Saturday, February 08, 2014

Lightning Drap'n'Drop Problem

In my earlier post (and comment discussion) about Opening ICS Files with Thunderbird/Lightning we mentioned that you can also drag the .ics link directly from the browser to the calendar pane in Thunderbird/Lightning.
I also found, that this is not always working.

So - as promised - I looked into this a bit.
First, narrow down the "not always" to something reproducible:

I took a link that I knew was working with drag&drop (actually from the timetable of the Austrian Federal Railways), and verified this. Yep, working nicely

Then I just downloaded the resulting .ics file to my local hard disk into a folder that was mapped into my webserver (Tomcat 7). I wrote a tiny .html file that mainly included a link to the .ics file.


Then open the html file in Chrome/Firefox and drag the download text/link into (or is it onto?) the Lightning calendar pane in Thunderbird. Ignore the second line for a second (no pun intended).

Nothing.

Well, that was surprising... So I went on to waste a lot of time with checking the mime-type etc etc.

But it was fine by responding with "text/calendar" - see:

So I took some Java drag&drop code I had, and took a closer look at the data included in the DnD object. Also everything fine there (I spare you the details here).

By chance I looked into the access log of the webserver and found the following:

GET /test/download.icsdownload HTTP/1.1" 404 1001

Which essentially says, that Thunderbird requests a broken URL. It should GET /test/download.ics and not /test/download.icsdownload

No wonder it gets a 404 and cannot import anything.

Quick test to include a "?" in the a href (see above, the second line I asked you to ignore earlier).
If you drag this one, you'll get a
GET /test/download.ics?download? HTTP/1.1" 200 949



As we are handling static files here, the "?download?" appended to the filename will gracefully get ignored and the file will get served (as can be seen by the 200 response code)
And with this link, Thunderbird really imports the file and opens the event dialog.

Fine there.

What Lightning does, is - wrongly - append the text of the html anchor ("download" or "download?") to the URL. You can test with naming the anchor asdfgh and will see that /test/download.icsasdfgh will be requested.

Why does it do it ?

It seems to be that Lightning picks up the HTML fragment data type that gets passed by DnD. The browser passes the full anchor, from begin tag to end tag (see above), and Lightning stupidly parses until the first newline (\n), and throws away the HTML tags.
This is wrong.
Should not happen.
I'll file a bug in bugzilla.


Friday, January 24, 2014

Google Maps Navigation now finally for Croatia

Since mid December Google Maps Navigation is finally available for Croatia.
I drive from Vienna to Zagreb every month or so (for business reasons) , and, yes indeed, I do know the way by heart now, but within Zagreb itself, it really annoyed me that I only had the maps, but no turn-by-turn navigation.

Well, this week when I went there again this week, it was just nice to have it available

Wednesday, December 25, 2013

UPDATE: Five Reading Tools - part IV: Read Quick

How embarrassing.

In my tiny review of Read Quick I lamented about the fact, that one could not mark an article read (in Pocket) directly in Read Quick.
Also, and option to mark the article as read, once you are done with it, would be nice.
Oh, was I wrong.

This apparent lack of a feature was so annoying to me, that I decided to click on the "finished" icon next to the article - and voilà... a new menu appears, with the usual range of sharing options, but also an Archive icon.

Archive - of course - is the pocket way to mark an article as read.

So I stand corrected, Read Quick does fully sync with Pocket.  Hooray!

Speaking of Pocket, here's a nice little info I got from them... it appears I'm amongst the top 5% of pocket users. Another hooray!

Friday, December 06, 2013

Five Reading Tools - part V: Reader in Safari

And finally... on my iPad in Safari I use the Reader.

It has about the same features as Evernote Clearly, except that it is not an extension and only exists on iOS.
Luckily it is built into the browser since several iOS version (not sure how long) and therefore is just there (for free).

It also comes with a reading list feature, but I never use that, simply because I want my reading list centralized (i.e. pocket).

I only use it to clean the article of all the clutter around it, and it works like charm.

All you need to do is press the little reader icon (seems to represent some text lines as in "text only") left of the URL bar.

Our Wikipedia entry looks like this (click to enlarge).

Nice thing is, that links work.

Thursday, December 05, 2013

Five Reading Tools - part IV: Read Quick

Now for something quite different:

While I studied at TU Vienna (Computer Engineering) I took some lectures in Computer Linguistics offered by the Linguistics Department of the (regular, good old) University of Vienna.One of those lectures/courses was about Text Comprehension and Computers (this was 1990), and I was the proud presenter of the topic Reading on the Screen.

One of the methods I came across during preparation was Rapid Serial Visual Presentation (RSVP). It is about presenting one word (or very short phrase) at a time at a fixed location. This allows for reading rates of up to 700 words per minute [1].


Flash forward 22 years (ouch) and imagine the déjà vu I had, when I learned about ReadQuick. Because it is exactly an implementation of this.
ReadQuick is an iOS app, that uses Pocket, Readability or Instapaper as a back-end service to store/queue the articles and then presents them in RSVP style.

You can set the speed yourself (in words per minutes). I'm currently at 335 as you can see. You'll notice that over time your reading speed will increase - as advertised. I think I started around 220 or so.

One nice side effect is, since the article size (in words) and the speed is known, it can tell you how long in minutes this article is, or how much you have left.


It actually is a totally different reading experience. After a time you'll get rid of "reading" and just absorb the text as it flies by.

It's $4.99 in the app store, but totally worth it.

The longer or more narrative an article is, the rather I read it with ReadQuick. However, you do need a quieter environment then for the rest (at least I do), because once you get distracted, you cannot easily jump back one sentence or paragraph.

Also, and option to mark the article as read, once you are done with it, would be nice.

Unfortunately, this app is iOS only for the time being. An Android version is said to be in the works.

~~
UPDATE here.

--
[1] Mills, C.B./Weldon, C.J.: Reading Text from Computer Screens. ACM Computing Surveys 19,4 (1987)... to be found here. Well at that time, I got it from TU Vienna Library back in the days.

Wednesday, December 04, 2013

Five Reading Tools - part III: BeeLine Reader

Beeline Reader is a Firefox and Chrome extension very similar to Evernote Clearly, but with a little twist...

They use a color gradient that "flows" along the line and creates a high onctrast between two lines.
See how the color changes from black to blue to red and also varies saturation:



Supposedly this should make reading easier. Quite frankly, I cannot judge this, but it seems to work.

The drawback is, that it only allows for reading, no saving, printing, ...

If you are a Firefox or Chrome user, install it from here and try it. Worthwhile.
Again, here's our Wikipedia entry for comparison with the other tools. Click to enlarge.






Tuesday, December 03, 2013

Five Reading Tools - part II: Evernote Clearly

Evernote Clearly is an extension to both, the browser and Evernote.

I guess, it is fair to say, that it only makes sense to use Evernote Clearly, if you are an - at lest modestly - active Evernote user. But see for yourself.

To quote their own website:
Clearly makes blog posts, articles and webpages clean and easy to read. Save them to Evernote to read them anywhere.
And that's really it.

I use Clearly whenever I'm on a PC/browser and want to read some longer article or post [1], or when the web page is cluttered with too many gadgets, ads and nonsense - primarily when I need to read it now (otherwise I'd use pocket).

Once you installed the browser extension, you will find the Clearly icon in the toolbar. When needed, you just click on it, and it will overlay the current web page with it's own cleaner content-only view.

You can clip and save to Evernote directly from Clearly and you can also print the cleaner version.

Here's the reference Wikipedia entry as viewed through clearly (click to enlarge).

As you can see, this is really a clean and smooth reading experience. Try it on one of the ad-cluttered news sites for a start.

And most importantly: it comes with this cool Luxo Jr-like desk lamp as an icon. Always a plus.

--
[1] not necessarily long form, just longer than e.g. one browser page

Monday, December 02, 2013

Five Reading Tools - part I: Pocket


Pocket (formerly: read it later) allows you to save an article / URL to your pocket list for later consumption. The pocket list is not device specific, but kept "in the cloud", so you can access it from everywhere. You can see it as a competitor to Instapaper or Readability.

The main use is, that when I find an article or post interesting (or too long to read on the mobile while on the underground), or just stumble upon a post, but don't have the time to read it right now, I put it on my pocket list.

95% of the time this will be from Feedly [1], the remaining 5% are from Facebook, G+ or  Twitter. Yes, I'm still one of those grumpy old guys from last century, who use RSS.
Once click from Feedly, and it is in my queue.

If find the following important features extremely useful:

Easy to queue

Pocket makes it really easy to put an item into your reading queue or list.
Feedly, for instance, directly supports Pocket, and all you need to do is press the pocket button to send an item to the queue.
All my browsers have extensions that allow me to send the current document/URL to the pocket list.
On Android, Pocket is integrated in the Share menu, so all apps that can share content via the SendTo Intent, automatically support Pocket as well.

iOS introduced a similar share menu (now combined with AirDrop), however, Pocket does not (yet?) support it.

What Pocket does nicely (both on iOS and Android) is to detect that you have a URL in the clipboard, and allows you to add it with just one click. So you can easily copy the URL from the Facebook app or browser, switch to pocket and simply save it there.

Available everywhere

Once an article made it into the pocket list, it can be read from everywhere. PC/Browser, iOS, Android.
I personally do 90% of the actual reading on my iPad, 10% on my Android mobile.
So my pattern is, queue from Android (while on the road) and read on iOS (at home).

Easy to read

The number one reason I queue article to pocket, is that I don't have the time to read them when I discover them (again...commuting on the train / underground). Or the device is to small.

The other reasons is, that pocket (like all the other tools I show in this series) removes all the disturbing gadgets from the web page, and shows only the pure content (+ content related images).

This is how Wikipedia (which is quite clean on the web, to be honest) looks in Pocket [2] on the iPad. You can spot that it does not too well with structured content (the start of almost every Wikipedia entry) but does very well with "regular" writing. (Click both images to see compare)




Once an article is read, you can decide if you want to delete it, or archive it. Either way, when you're done, you should get it of of the queue.

When you decide to archive (which is what I usually do), it does help to add some tags to it (tag icon) before you send it to the archive (check-box icon).


That's how pocket works for me.
You mileage may of course vary.

--
[1] or Google Reader back in the good old days.
[2] I will use the very same Wikipedia entry for comparison in this series.

Sunday, December 01, 2013

Five Reading Tools

No worries, this is not one of those link bait "10 best..." posts... I simply want to introduce 5 tools for online reading that I'm using or trying right now (apart from RSS readers, etc etc)

So over the next couple of days, I'll be posting about
Stay tuned.

Saturday, November 02, 2013

Getting an iPad Air

A bit more than three years ago I bought an iPad (Generation 1 from today's point of view). 64GB, Wifi only.
There were good reason to stay on Wifi only, because I intended to use the iPad mainly at home and not as a "large" phone to carry around.

My iPad came to be a real companion at home...

  • first email and news check in the morning - on the iPad
  • last check in the evening/night - on the iPad
  • second screen while watching TV - the iPad
  • checking news (feedly), email, facebook, twitter in between - the iPad

It did not want to use it while commuting to the office, because I know that I'm an online junkie and that I'd be online all the time on the train/underground. In urgent cases I could still tether through my Android phone.

However, the performance and stability of the iPad deteriorated... or rather: began to suck.
For example. when entering a new appointment in the calendar app, the lag when trying to select the time was a couple of seconds (!). Feedly, Pocket, Facebook would crash, i.e. just exit, several times a day.
This really started with iOS 5.1... And since this is an Generation 1 iPad there is no upgrade path to iOS 6 or 7.

So, as much as I love my iPad I also started to hate it.
I used to work a lot (while at Sun Microsystems) with Thin Clients (specifically the SunRay) and loved the notion of a client device, that would not age. Meaning that the capacity in the client (CPU, memory, screen estate, ...) would suffice for all IT trends for say 7-10 years.

In a way the iPad started as a thin client, and - call me naïve - I expected an iPad to last 4-5 years.
It did not. Not even three years and it got obsolete (for my usage pattern).
That's a PC replacement cycle, not a thin client cycle.

So over the last couple of months I was actually considering switching to a Nexus 7. But then I decided to stay in both worlds, Android on my phone, iOS on my tablet.

Yesterday I ordered my iPad Air... to get back stability and speed. Still Wifi only.
The old iPad will probably stay around as a TV/raspbmc remote...

Sunday, October 20, 2013

Screenshots with Dropbox

A couple of weeks ago, Dropbox (my favourite cloud storage or rather information sharing tool) started to support putting Screenshots directly to your Dropbox folder (for Windows and Mac).

Make sure you have Verison 2.4 (or later) installed (get it here), then open preferences and enable Share screenshots using Dropbox on the Import pane.

From then on, when you press the Print Screen button, Dropbox will save the screenshot to a (new) folder in your Dropbox named Screenshots.

Alternativeley when you hit Ctrl Print Screen it will save the screenshot and copy a public web link (URL) pointing to the screenshot to your clipboard. You can immediately paste this into the browser, or an email, or skype, or whatever you want to use to share this screenshot with friends or coworkers.

You will then see a notification on your Dropbox taskbar icon, once the screenshot is saved (and ready for sharing).

By the way,  those screenshots where taken with Dropbox (as descripbed above) and then edited with Gimp.

Wednesday, September 25, 2013

Remember S.E.T.?

The other day, while cleaning out some drawers at home, I found an old registration confirmation for S.E.T from VISA.
I must admit, I hardly remembered.
S.E.T. - short for Secure Electronic Transaction(s) - was an attempt by VISA (and others) to establish secure protocols for electronic payments.
I think we even implemented this in an online shop, around 2000. At least we had a plan to do so, not sure if we really did...

Anyway, if you want to get nostalgic, check it on Wikipedia.

And while you're at it, check out WAP as well, should go to the same drawer shredder.

Tuesday, September 10, 2013

Dryft Virtual Keyboard

Wow... if this virtual keyboard - just presented by dryft - really works, I need it...

Don't have an Android tablet yet, but I neeeeed this.

(via GigaOm)

Sunday, September 08, 2013

Friday, September 06, 2013

JSP/JSTL migration problem

While migrating some of my work stuff from my old WinXP laptop (ThinkPad T500... good old machine) to my new Windows 7 T430 (also fine iron), I switched from Tomcat v5 (yes, indeed, old) to Tomcat v7.
Tomcat v7 comes with a new servlet, JSP and EL spec. Not a real problem - I thought.

But once I got all the data sources etc up and running, my JSPs would not compile and gave EL parsing errors like "javax.el.ELException: Failed to parse the expression".

A bit googling revealed this nice post on Stackoverflow.

Turns out, that with the new EL standard, Java keywords are forbidden as variables.

And I had "static" as an URL parameter  in ${empty param.static} as well as "class" as a variable to hold css/style class-names.

Once I renamed those everything worked fine again.
The first once was nasty, though, because as an URL parameter the name was of course exposed externally... Had to change some other scripts as well.

Thursday, September 05, 2013

No Key Lime Pie, take a break ^h^h^h^h^h^h Kitkat instead

So, Google decided to call the next Version of Android (4.4) Kitkat instead of Key Lime Pie (as has been rumoured).

Not a bad name, probably more (brand) recognition world-wide then key-lime-pie.
Also, they created a wonderful Apple spoofing ad. I just love it.



So I probably have to turn to my dear daughter to make me one of those... Keylimepiecut

Wednesday, August 14, 2013

JK everywhere

No, I'm not talking about the author of Harry Potter...  and I'm actually offended that you even considered this.

I'm talking about the keyboard shortcuts "J" and "K" (amongst others) to scroll/jump up and down in lists.
Using J and K to scroll goes back to the vi editor when you used it on old terminals without cursor keys (or maybe probably earlier, but I know them from vi) ... get the history here.

J/K became really popular with Google Reader (RIP), then later Google+ adopted it, Facebook followed as well, then of course feedly as the Google Reader replacement did it, and now I noticed that flickr (with their infamous redesign) at least adopted J/K navigation.

In case you are not familiar with it... J steps/scrolls down to the next post, K goes one step backward to the previous post.
That simple.

Thursday, August 01, 2013

Skydrive?

So, Microsoft will have to rename Skydrive...
BBC News - Microsoft made to rename Skydrive after BSkyB victory:

Makes me chuckle, and to some extent mad... No one would confuse Sky (the TV network) and Skydrive. Really.

If this were IBM, this could never have happened; they'd have clled it  'DDSF' from the start - as in 'Dislocated Data Storage Facility' :)

Friday, July 26, 2013

Android 4.3 refined app permissions

The key elements of discussions on app security on iOS vs Android (e.g on Tech News Today, All About Android, ... and others) have always been like this:
  • on iOS you as a user doesn't know anything (because he doesn't have to... Apple cares, so you don't have to)
  • on Android you know the permissions of the app and accept them (during installation), but still can't do anything about it (except for not installing, or rooting in some cases)
I always wondered, why the app manager or security manager did not let you change those permissions after installation as well?

It works like this: in order to do something privileged like placing a call, reading contacts, accessing the internet, ... anything outside the "sandbox" of the app, the app has to declare this in the manifest that comes with the app. If it is not declared, it is not granted, and the activity (e.g. reading contacts) will fail.

Now, with Android 4.3 it seems there is a tool to change those permissions during the life cycle for the app - see screenshot.
See also here on Android Police or here on TechCrunch.

This is really great: you can no e.g. enable location access / GPS for the one or two times you really want an app to have it, but revoke it afterwards...

One caveat, though: I'm afraid that most app developers are lazy and rely on the old model. That assume that the app will have the permission(s) simply because it asked for it during installation, so they will on catch the fact/error that the permission has been revoked, and simply crash.

Expect one or two iterations of some apps to fix this....

Still a huge improvement.