Thursday, June 27, 2013

So, I decided to use Tiny Tiny RSS as my Google Reader replacement (if this confuses you, go read that link for the background). Problem is, you need a web server to run it, and I didn't have one. There's a couple of ways to solve that. One is to get a hosted server account. Fairly inexpensive, but you don't have a say on what OS is installed or what software is available. tt-rss is also not really meant to run that way, even though it's possible to do so.

Another option is to get a server for yourself at home. You have complete control of course, but also full responsibility. You need a physical machine; get yourself a fixed IP address or use dynamic DNS; set up all software; arrange backups and maintenance; perhaps get a domain name and keep everything up and running. Lots of work, but also a real learning experience.

A third, solution is to rent a virtual server from Amazon or some other cloud provider. You get some space in their data center that looks and acts as a separate machine. You still need to install and maintain software on it, but the "machine" and the network connection is a lot more reliable, backups are taken care of and you don't need to mess too much with networking. It is a bit more expensive than running things yourself; though not that much more, once you factor in the cost of hardware and electricity.

In the end I opted for a machine of my own. I'm trying to learn about all this as much as anything else, and I like the control that I get with having the machine right at home. If I want to hook up a web camera or thermometer to it, for example, I can easily do that. Not that easy with a virtual server running in some other country.

Last month I set up a virtual server on my aging desktop at home. I installed VirtualBox1, then installed the newest Ubuntu server image on it in turn. With a virtual server I can use my desktop as usual without disturbing the server; and I can easily move the server to a different machine if I need to. I'll probably get a separate low-power machine for it eventually.

After a few false starts (tried to use the nginx web server but failed) I got Apache, mysql, php and Tiny Tiny RSS installed on it, and tested it at home. I used it alongside Reader for a week or so, just to see that it did work as expected. And indeed it worked surprisingly well.

But my machine was not visible at all from the outside. Our net connection (Do Canvas, from NTT) comes with the building, and we don't even have our own router in the apartment, so even dynamic DNS is out of the question.

Fortunately, Canvas offers a fixed IP address for a monthly fee of 1000 yen (how fixed it actually is, I'm not yet sure). The online docs are intimidating; they warn that applying can take weeks, may require a visit from a technician, and might not be possible at all.

In reality it was very simple. I logged in to our customer account, selected the IP address service, entered my credit card details and pressed the "submit" button. Five seconds later a confirmation screen pops up with my username and password for the PPPoE service used to assign the address, and the fixed IP address itself.

I set up the virtual server to use the address I got, and bought the official Tiny Tiny RSS Android app (it's just a couple hundred yen, and a nice way to give the developer a bit of thanks). I tested my connection, and made sure that both my tt-rss web site and Android client worked and was usable for me.

The next morning I removed the Reader tab from Firefox and disabled NewsRob on my tablet, and completely switched over to Tiny Tiny RSS together with the companion TT-RSS Android app. And so far it's been a smooth experience.

The TT-RSS web application

The tt-rss web application is quite good out of the box. The visual design is not quite up to Reader of course — that's the difference between having a graphics design team on call or not. But functionally it doesn't lack anything for me. In some areas it actually improves on Reader, and I especially appreciate that it leaves me lots of room for the feed items I'm reading (Reader was quite wasteful of screen space).

You can have multiple users and you can reshare selected posts to a public RSS feed accessible to others. There's "labels" and "filters", potentially extremely useful for things like highlighting especially important posts — but they're completely undocumented, so I have yet to try using them for anything. The lack of documentation is a shortcoming of tt-rss and of small projects in general. Understandable but a bit unfortunate.

There's a number of plugins that can improve tt-rss even further. As a long time Google Reader user I especially appreciate the "Google Reader keys" plugin to give tt-rss the same keyboard shortcuts that I'm used to. There's a number of visual themes available, but the default theme in the latest version is tolerable enough that I haven't bothered changing it so far.

The display of feed items is less tolerant of errors than Reader was. A couple of feeds refuse to be loaded at all due to malformed input, and a few feeds display oddly. The Online Photographer posts, for instance, are shown without any paragraph breaks, giving me a long, solid block of text. I'm sure the rendering is correct and according to standards, but I wish it was a little more forgiving. "Be strict about outputs, forgiving about inputs" is a good principle, and I wish the tt-rss renderer was heeding that.

TT-RSS Android app

The Android app is not as good as my favourite app NewsRob. But it's not bad either, and bettering NewsRob would be a very high bar to clear.

It has the list-based kind of interface that I greatly prefer over magazine-style layouts, with the headline and a snippet of text for each post to give me an idea if I want to read it or not. The overall UI is quite clean, straightforward and easy on the eyes. It syncs directly with the tt-rss server so there's no waiting for updates; it's fast and responsive at all times. And it handles long lists of posts with no problem.

Offline reading is available, but rather problematic. The app is meant to have a constant connection to the server, which means the offline mechanism is a bit of an after-thought. You turn on offline mode, and it proceeds to download unread articles and images.

But when it says that you can go offline, it is really still busy downloading things in the background. And if you lose your connection partway through, or even try to do something else while it's downloading, it can forget all about being offline, and you'll lose access to the articles until you restart the client and synchronize with the server again.

If you turn on online mode again by mistake without having a working connection, it will forget everything you've done while offline, including what posts you've read or marked read, and what posts you've starred to read for later. And though it does download images, not all images are actually downloaded or displayed, so a lot of posts will be without illustrations while offline.

So the Android app is decent, but not great. I'll try out some of the other tt-rss reader apps in the Android app store eventually — it's open source, so several people have made improved versions. And I still hope that NewsRob will eventually support tt-rss as a back-end server.

Overall, though, tt-rss works very well for me. Not as good as Reader and NewsRob in a few cases; decidedly better in a few; but completely comparable for the most part.

The next steps have little to do with tt-rss itself, but is rather about setting up the server environment.

I use the IP address to access my server right now. It works fine of course, but it's much more practical to have an actual domain name. Suggestions for a .jp based domain name are welcome!

I've started making a web site for myself. I plan to have a landing page of sorts (a replacement to this outdated page); a storage area for papers and public research data; and a couple of blog posts that make sense as stand-alone texts. Might also want to set up a gallery as well at some point, as a complement to my Flickr account.

The server runs fine on my old desktop, but it's not really meant for that sort of thing. I'll want to get a dedicated machine of some kind for it eventually; something quiet and low-power, perhaps ARM based. I'll probably get a router as well at that time, so I can have an internal network and do things such as sharing my desktop.

And hopefully more to come as well. So far this has been a fun experiment. And with the exception of the news reader itself it's all non-essential, low-pressure hobby stuff, so I can relax and play with this when time permits and inspiration strikes.

#1 A warning regarding VirtualBox: You have something called "snapshots" that lets you save the current state of the virtual machine. The idea is you take a snapshot, and if something happens you can always restore the state from that snapshot.

But in practice, the snapshot functionality is very brittle, and I've had far more problems with that than with running the actual server. If you forget to pause the process before taking a snapshot, for instance, VirtualBox will silently save a corrupted snapshot. And as snapshots depend on each other (they just save the difference from the previous one), you may find out you don't have a valid backup snapshot days or weeks later. Some truly lousy interface design there.

Tuesday, June 25, 2013

As you may know, Google is shutting down Google Reader on July 1st. That's less than a week from now. I know that RSS is a completely unknown thing for most of you, but some people — like myself — rely on it for a lot of our information gathering. The link above says Reader is no longer needed, as we browse news in small bits through the day. That argument is not wrong, exactly, but it assumes that gathering news snippets is the only reason people use RSS.

This RSS Thing Would Be What, Exactly?

If you don't know, many (most, even) sites publish their content not just as ordinary web pages. They also publish a small file — an "RSS feed" — that contains the headlines and summary of everything they've published lately. Could be news, blog posts, forum updates; anything that has new content showing up periodically.

You can use a "news reader" program to subscribe to RSS feeds, and will show you all the new stuff you've yet to see in a simple list format or magazine-like layout. You click on anything you want to read, and it takes you straight to the piece in your web server. On this blog you can find the link to the feed at the very bottom of the page; or just click here to see the raw data directly. Below you see a set of posts displayed by NewsRob, my favourite Android news reader.

RSS is great for sites with a lot of new stuff every day. It's much, much faster to quickly browse through a single list of new things, than go to each site in turn. With RSS you know what you have seen already and what is new, so you don't miss anything.

I use RSS in part to get announcements for new research papers from places such as PLoS, Nature Neuroscience, Neural Computation, Journal of Computational Neuroscience and so on and so on. There's a lot of new papers published every single day, and I'd go nuts trying to keep up with it all without RSS.

But RSS is also great for sites that update only rarely. Take a blog like this one. I update it irregularly, perhaps 3-5 times a month. Sometimes I post twice in a day; sometimes there will be weeks between posts. To find out if I have posted anything youneed to come by and check. But that can feel pretty pointless when there's nothing new for weeks on end, and of course you'll often forget to check at all. But if you subscribe to the RSS feed at the bottom, it doesn't matter if I am silent for months — as soon as I post something you'll find out about it, and you don't have to do anything.

So, What's The Problem?

To use RSS you need some kind of "reader". That's an app that takes the feeds you're interested in, periodically checks them for anything new, and lets you go through the results. You want to be able to read entries in the app itself, or click through and get the original in your browser. It should let you see the whole entry, or just a list of headlines. If should let you save entries for later. And ideally it should synchronize with your other devices; if you've read a feed on your computer already, it shouldn't show up in the reader app on your phone.

There were — and are — quite a lot of reader apps for computers, tablets and phones. Firefox "Active Bookmarks", for instance, is really a simple feed reader, good if you follow only a few sources. But in 2005 Google released Google Reader, an browser-based reader app similar to Gmail. And just like Gmail it was good — really good. It's just a web page, so it's available anywhere you have a web browser. The interface was simple, fast and intuitive, and let you easily share things with others. It had an open "API" (an interface for other apps to use) that let any other reader synchronize with Google Reader.

It was so good, in fact, that it largely killed the market for other, similar readers. Phone and computer apps morphed into clients for Google Reader. The few online readers that remained led a quiet existence in the shadow of the giant. Few people minded, though. Reader was very good, after all, and the open API meant that you could use any client you wanted, on any phone, tablet or computer, and still get the benefits of synchronization and other perks.

Then, this spring, Google announces that Google Reader will be discontinued on July 1st. And now the whole fragile ecosystem that's grown up around Google Reader is falling apart. For instance, NewsRob, by favourite Android reader app, is floundering as the developer is figuring out what to do when synchronizing to Reader is no longer possible. And heavy users like myself have been agonizing all spring about what to do and where to go.

It's Not "Problem." It's "Opportunity."

The demise of Google Reader has really been like the toppling of a huge jungle tree. The tree is gone, and some plants and animals that depended on it is following it into oblivion. But the fall has cleared out a new, fresh space, where plants that lived in its shadow can finally thrive and grow. In the end, the demise of Reader may create a larger and more vibrant ecosystem than the one that disappeared with it.

There are quite a lot of alternatives out there, with new ones announced every week, and for the past couple of months I've considered many of them. A lot of people are moving to Feedly, and rightly so. It's a slick, beautiful app for Firefox (as a plug-in) and clients for Android and IOS. I used it for a while about a year and a half ago. But the magazine layout format doesn't really work for me, and there's some issues with it if you get feeds with lots of new items at the same time, so I'm giving it a pass.

NewsBlur and The Old Reader are online apps in the same vein as Reader itself, and new alternatives are cropping up daily, from Digg, AOL, and other places. Newsblur looks especially promising and I was very close to signing up. It has a small monthly subscription fee if you have a large amount of feeds, but I would have no problem with paying for an important service. What kept me off either is that I'd be dependent again on a cloud service I don't control. If I pick one and it disappears in a year or two I'd be back in the same bad situation as now.

There are a number of stand-alone reader apps for Android, IOS, Windows, Linux and so on, and they can be a great alternative if you don't want to sync across devices. But syncing is important to me; I have time to look through my feeds during the morning commute, but I need to be logged in at work to actually fetch research papers.

Lastly, there's actual web apps available. They require you to set up a web server for yourself, or get access to web hosting some way or another. Tiny Tiny RSS is probably the most popular alternative, but there are a number of others as well, such as Fever or CommaFeed. Setting up hosting or a server and a web app is a lot of work, but the advantages are great. You have a full net-based reader, available from anywhere but completely under your own control. The service isn't going away unless you want it to. Still, it'd be complete overkill to set up and maintain a web server just for an RSS reader, especially when there's numerous good, simple alternatives out there.

And The Winner Is...

Tiny Tiny RSS. Yes, there's good alternatives (NewsBlur comes to mind), and yes, setting up a server is plenty of work. I wouldn't do this if replacing Reader was my only goal.

But I've long considered setting up a server for myself anyhow. There are a number of reasons, but perhaps the main one is simply that I want to learn the basics of setting up a server, and there's no better way to learn than to actually do it. Also, I have a few ideas about what I'd like to do with a server at home.

Also, the shutdown of Reader and some other recent events have made me increasingly aware of just how much I rely on cloud and online services for my daily life, and how vulnerable that makes me. I want to gradually build a back-up system of sorts for my online life; if Flickr, Blogger, Gmail or whatever would become unusable to me I want something under my control to replace it.

I've already taken the first steps of setting up a (virtual) server at home, making it accessible from the outside, and setting up Tiny Tiny RSS. It is working, and I'm quite happy. This will be the topic of the next post.

Thursday, June 20, 2013

Golden Week is one of the most important holidays of the year. While New Year and O-bon both have people travelling to their parents' or their home towns, GW is when people hit the road for a regular holiday. As GW is not a single holiday, but a number of one-day holidays strung together, there's a gap in the middle that people often fill with a few vacation days of their own.

But as so many people travel at the same time, most places are insanely crowded, booked solid and very expensive. So we did not travel for GW; instead I took a couple of days off right before the holidays. That way we could visit Aomori in northern Honshu without the crowds and bustle, then return to Osaka just as the crowds arrive.

Nebuta, a symbol of Aomori.

We spent three nights in Aomori, with two nights in Aomori city and one at a nearby hot spring town. And just for fun, we decided to take the Shinkansen all the way up to Aomori city, then fly back home. Good decision on our part, as the train was one of the highlights of the trip.

Springtime Tokyo, at an outdoor cafe close to the station.

We stopped in Tokyo on our way up. The weather was a nearly perfect late spring, with sunshine and people enjoying themselves in parks and on outdoor cafés. We had lunch, then spent a few relaxing hours people watching and shopping before we returned to Tokyo station and boarded the Shinkansen to Aomori.

A Shinkansen cleaning crew waiting for an approaching train at Tokyo station. They clean a whole train in a matter of minutes. Tip: they have stickers to give out to curious children.

The area between Osaka and Tokyo is largely urban or suburban, with cities like Kyoto, Nagoya, Shizuoka, and Yokohama, so you're always passing from one city to another. But as you move north on the Tohoku Shinkansen, Tokyo is the last large city and that really brings home just how huge the greater Tokyo area really is. You spend what feels like hours on the high-speed train passing by one extended suburb or sleeping-town after another.

The train itself was new and very comfortable. We were lucky/unlucky not to get ordinary seats, so we had to book "Green Car" seats instead. Almost decadently luxurious fully reclining seats with power plugs (always a bonus). For some reason the Tohoku line Green Car tickets were still cheaper than the normal fare on the Tokaido line between Osaka and Tokyo.

Our train waiting to take us to Aomori station.

By the time we got to Aomori city the weather was lousy. Heavy clouds with rain and no more than ten degrees. We'd hoped to catch the cherry blossom, but we'd passed the advancing blossom front somewhere after Sendai. Spring was still to come.

Aomori city bridge.

Tugboat Utoh. Aomori harbour.

Pier and lighthouse in the Aomori harbour.

We spent two days in Aomori city, eating, walking and visiting an old friend of Ritsuko. It's not a very vibrant city when it's dark and wet, but it has calm, wistful atmosphere, as if it is quietly waiting for better times, that is very soothing. The sea is always clos, and is if anything better in bad weather than in good. And when you get in from the dark and the rain, an izakaya will feel all the more warm, bright and welcoming.

Northern Japan is known for its seafood, and there's few better places to experience it than at a place like this. I'm enjoying a spot of nihonshu with my seafood.

Shishamo grilled at the table.

Plain yakimeshi with a fried egg is an Aomori speciality.

Outside may be cold and gray, but inside is all the brighter and warmer by comparison. The indoor market is a treat, and we filled our bags with foodstuffs of all kinds.

There's a harbour center right next to the station, at the west end of the bridge, with shops and restaurants. This place had great modern-style organic and vegetarian food, heavy on apples — this is Aomori after all. Might be an idea to get there early; it was quite crowded, despite being off-season.

On the morning of the third day the weather gradually got better. We left the city by train for Asamushi Onsen further up the coast. It's an old hot spring resort, with lots of onsen and ryokan dating back a century or more. The train ride is quite short, and you can even glimpse Aomori city from the sea next to the train station, but the atmosphere is very different. You can feel yourself relaxing even as you walk from the station to your ryokan.

We stayed at a smaller, older ryokan toward the mountain side, about ten minutes walk from the station. It had a quiet, charming old-fashioned feel to it, and decent baths. I visited the baths once when we arrived, once at night, then again the next morning before we departed. There's also private baths available, and we went there together before dinner. I probably spent as much time in the water as out of it.

The entrance to our ryokan. They'd actually already turned off the outside lights, but immediately offered to turn them on when they saw us go outside for a picture. Good place, with good service.

Dinnertime. Ryokan are typically full-service places with dinner in your room included. This evening meal was all delicious — and a lot of food.

When they named this place after a hot spring they were not kidding. There's dozens of ryokan to stay at, and bathhouses to visit. There's hot springs — literal hot springs — right by the street where you can soak your feet or boil eggs (don't mix up the springs); and you can see steam venting out from the gutters and drains. Some cherry trees here blossom much earlier than others, as the ground and the water is constantly heated by the hot springs.

"Onsen tamago" — hot-spring eggs — is a common food in japan; somewhat jelly-like boiled eggs you eat with a salty sauce. This is the real thing: These eggs are being slowly poached in a public hot spring right on the street, and are done after 20-30 minutes. People living here apparently do this on a regular basis, and nearby stores sell eggs and nets for tourists to poach their own eggs too.

Your humble correspondent enjoying an amazingly refreshing foot bath in the cold, rainy spring weather. The other people are soaking their feet while they're waiting for their eggs to finish cooking.

This trip gave us exactly what we were looking for: a few days of peace and quiet away from the bustle of big city life. I'm happy we went, and I want to go back again.

Thursday, June 13, 2013

What is this? Who came up with this idea? It's June and supposed to be the rainy season. Rainy season, not hot. And this is Kobe; parts of Osaka had over 37° today. It's bad enough when we get this kind of temperature in August, but I absolutely refuse to put up with it already in June. I demand to see the manager. Or an ice cream. That would be good too.

Saturday, June 8, 2013

We didn't make umeshu last year. We were preoccupied with other things, and besides, we already have plenty from earlier years. But this year it was time again.

From our earlier experiments, we've found that brandy is excellent, and we've realized that the three year-old batch has a spectacular flavour by now. Awamori base and some brown sugar is also very good, and imparts a distinctive tone on its own without fighting with the ume. Our second attempt with rum was so-so; I guess the liquor just has too much flavour on its own to really mate well with the fruit.

So, this year we made two jars of brandy-based umeshu, with two different kinds of ume. We still have half of the current three-year old, and an unopened two-year old jar, so this is not for drinking now, but store for the next three years. Next year I'll make another batch with awamori-base.

We also made one jar with white alcohol and an ume variety called "purple queen", but that one is not for long-term storage. It supposedly imparts a purple colour to the liquor, and is best drunk within the first six months. We'll see how that one goes.

About Me

From Sweden, living in Japan. I've worked as a researcher in cognitive science, neuroscience and robotics. Now I work at OIST in Okinawa, as a member of the Scientific Computing and Data Analysis section.