<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Visa Kopu</title><description>Visa Kopun blogi mielenkiintoisista asioista.</description><link>https://visakopu.net/</link><language>fi</language><item><title>Installed trailer to a bike with hooded dropout</title><link>https://visakopu.net/2020/12/31/installed-trailer-to-a-bike-with-hooded-dropout/</link><guid isPermaLink="true">https://visakopu.net/2020/12/31/installed-trailer-to-a-bike-with-hooded-dropout/</guid><description>I bought a used Trixie dog trailer for my bike (Fuji Touring Disc) and when I started installing the hitch, it turned out to be more difficult than I expected. The bike has a &quot;hooded dropout&quot; which…</description><pubDate>Wed, 30 Dec 2020 22:50:02 GMT</pubDate><content:encoded>&lt;p&gt;I bought a used Trixie dog trailer for my bike (Fuji Touring Disc) and when I started installing the hitch, it turned out to be more difficult than I expected. The bike has a &quot;hooded dropout&quot; which means that there&apos;s a protruding hood covering each end of the rear axle, protecting the bolt and the QR skewer. This caused a problem, because the hitch was too large to fit into the slot.&lt;/p&gt;
&lt;p&gt;After banging my head to the wal... I mean doing thorough research on the Net, I found out that Burley makes &lt;a href=&quot;https://www.burley.com/product/hitch-adapter/&quot;&gt;hitch adapters&lt;/a&gt; which are specially shaped bolts that extend the rear axle outside the hooded slot. They don&apos;t have anything Burley-specific in them, so I got one for my bike.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/IMG_5369-1.jpeg&quot; alt=&quot;Burley hitch adapter (on the left) and Trixie trailer hitch.&quot; width=&quot;2016&quot; height=&quot;1512&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Burley hitch adapter (on the left) and Trixie trailer hitch.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/IMG_5371.jpeg&quot; alt=&quot;Installing the rear axle extension.&quot; width=&quot;2016&quot; height=&quot;1512&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Installing the rear axle extension.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The trailer hitch must be installed on the left side (non-drive side) of the bike which meant that I had to reverse the rear axle. Having the QR skewer on the drive side is not an issue per se (apparently some people think it should always be on the other side than the disc brake rotor) but the hooded dropout made it a little problematic. Because of that darned hood, there&apos;s only a couple of ways you can turn the skewer and that&apos;s backward or back and slightly upward. A mirrored QR skewer would be better, but I don&apos;t know if such exist.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/IMG_5375.jpeg&quot; alt=&quot;On the drive side QR skewer must be closed backward.&quot; width=&quot;1512&quot; height=&quot;2016&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;On the drive side QR skewer must be closed backward.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/IMG_5377.jpeg&quot; alt=&quot;Trailer hitch installed to the adapter.&quot; width=&quot;2016&quot; height=&quot;1512&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Trailer hitch installed to the adapter.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Because of the weather outside I haven&apos;t been able to actually test the setup yet, but I hope next summer I can tour the world (or at least the town) with the dog.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Originally posted at &lt;a href=&quot;https://www.reddit.com/r/bicycletouring/comments/kncp78/installed_trailer_to_a_bike_with_hooded_dropout/&quot;&gt;https://www.reddit.com/r/bicycletouring/comments/kncp78/installed_trailer_to_a_bike_with_hooded_dropout/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>Bike trip to Estonia: Looking back at my pack list</title><link>https://visakopu.net/2019/08/20/bike-trip-to-estonia-looking-back-at-my-pack-list/</link><guid isPermaLink="true">https://visakopu.net/2019/08/20/bike-trip-to-estonia-looking-back-at-my-pack-list/</guid><description>A couple of weeks ago I wrote about my forthcoming bike tour to Estonia and listed the stuff I’m going to take with me . The trip was a great success and looking back, it was a good idea to pay…</description><pubDate>Tue, 20 Aug 2019 05:09:00 GMT</pubDate><content:encoded>&lt;p&gt;A couple of weeks ago I wrote about my forthcoming bike tour to Estonia and &lt;a href=&quot;https://medium.com/@roxeteer/bike-trip-to-estonia-my-gear-and-pack-list-27fc14713314&quot;&gt;listed the stuff I’m going to take with me&lt;/a&gt;. The trip was a great success and looking back, it was a good idea to pay attention on what to pack and what not.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_W_LCzt6pwnHc7sKOrof40w.jpeg&quot; alt=&quot;&quot; width=&quot;1890&quot; height=&quot;1120&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Riding on the city streets of Kallaste, Estonia.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;We didn’t originally have a fully planned route. Thetrip ended up to be five days (4 days riding, 1 day travelling back on train and ferry). We started in Tallinn, rode to the east to Lahemaa National Park, then towards Rakvere and Lake Peipus, visited &lt;a href=&quot;http://www.sibulatee.ee/en/front-page/&quot;&gt;The Onion Route&lt;/a&gt;, and finally ended our trip in Tartu. On the fifth day, we took the train back to Tallinn.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_dMHp0avVhk7j9UF3d810sg.jpeg&quot; alt=&quot;&quot; width=&quot;1440&quot; height=&quot;1440&quot; loading=&quot;lazy&quot;&gt;&lt;/figure&gt;
&lt;h3 id=&quot;what-worked&quot;&gt;What worked&lt;/h3&gt;
&lt;p&gt;I really enjoyed our choice of route. The scenery is quite similar to the Finnish countryside &lt;strong&gt;except that there are no hill&lt;/strong&gt;s which is pretty great when you’re on a bike tour. The roads are very well maintained even in the rural Estonia (at least in these parts of the country), there were a surprising amount of separate bike paths, and the drivers behaved remarkably well. During the whole trip, there were maybe one or two cars that drove too close past us, but even they didn’t cause any accidents.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_i26sEpjDFIjfFgD8NLdY2Q.jpeg&quot; alt=&quot;&quot; width=&quot;2400&quot; height=&quot;1504&quot; loading=&quot;lazy&quot;&gt;&lt;/figure&gt;
&lt;p&gt;To carry most of the items, I used &lt;a href=&quot;https://www.thule.com/en-us/us/bike-accessories/rear-bike-racks/thule-tour-rack-_-100090&quot;&gt;Thule Tour Rack&lt;/a&gt; and a pair of &lt;a href=&quot;https://www.ortlieb.com/back-roller-classic&quot;&gt;Ortlieb Back Roller Classic panniers&lt;/a&gt;. The Thule rack is attached with straps instead of screws, and I was a little worried that it wouldn’t stay on its place. However, on my Bianchi and with the amount of stuff that I had, it worked perfectly! If I had a bike that has screw holes, I would probably choose a regular rack, though.&lt;/p&gt;
&lt;p&gt;The Ortlieb panniers are called Classic and not without a reason. They are well made, stay in their place, and now tested to be watertight. Highly recommended!&lt;/p&gt;
&lt;p&gt;My Bianchi Via Nirone 7 is a nice bike and it didn’t have any technical problems during the trip. The riding position could’ve been a little bit more relaxed as my wrists started aching during the days. Having a little break every once in a while always helped and the pain never persisted.&lt;/p&gt;
&lt;p&gt;After the trip, I was surprised how well I had packed for the trip. I basically didn’t have any extra items, apart from the first aid kit and the bike fixing kit, and I wouldn’t have left without them anyway.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_nQjRrrZcIcoerhn7O3QLBA.jpeg&quot; alt=&quot;&quot; width=&quot;1440&quot; height=&quot;1440&quot; loading=&quot;lazy&quot;&gt;&lt;/figure&gt;
&lt;p&gt;The weather turned out to be a little colder and more unstable than what we hoped for. &lt;a href=&quot;https://www.gorewear.com/eu/fi-en/gore-c3-gore-windstopper-classic-jacket-100259.html&quot;&gt;Gore Windstopper jacket&lt;/a&gt; worked superbly in those conditions, and I was really happy I didn’t leave it at home like I originally thought. Also, the &lt;a href=&quot;https://www.aliexpress.com/item/32700521687.html&quot;&gt;leg warmers&lt;/a&gt; I bought from AliExpress for a few euros were great on a chilly and rainy day.&lt;/p&gt;
&lt;h3 id=&quot;what-didnt-work&quot;&gt;What didn’t work&lt;/h3&gt;
&lt;p&gt;There’s not much to list here. The &lt;a href=&quot;https://www.aliexpress.com/item/32690961687.html&quot;&gt;lightweight cycling rain jacket&lt;/a&gt; from AliExpress was so-so; it either wasn’t very water-resistant or it made me sweat a lot, but after biking a couple of hours in the rain, my jersey was all wet. Probably the Gore Windstopper jacket wouldn’t have been much better in that weather, anyway, so I won’t say the rain jacket was useless. In the afternoon the weather got better, so thanks to having two jackets, I still had a dry Windstopper in the bag.&lt;/p&gt;
&lt;p&gt;Because of the rainy weather, I didn’t use the &lt;a href=&quot;https://sp-connect.eu/collections/bike/products/bike-bundle&quot;&gt;SP Connect stem mount&lt;/a&gt; for the phone that much. Even though there is an extra rain cover provided, the phone is very open to the elements when mounted. I used the Apple Watch for tracking distances, and we used &lt;a href=&quot;http://pood.regio.ee/en/regio-estonian-cycling-routes&quot;&gt;Regio’s Estonian cycling routes map&lt;/a&gt; (yes, it’s on paper!) for checking the next targets while we had breaks. A few times in the towns, especially in Tallinn, I had the phone mounted on the stem and actively used Google Maps navigation.&lt;/p&gt;
&lt;p&gt;There were only a few items I ended up not using. I didn’t need the fouta (hammam towel) because all the places where we stayed provided us with towels. I didn’t use the swimming trunks because the weather was too chilly. Also, I didn’t use the lights for the bike, because we never rode that late in the night or early in the mornings. And as said, we didn’t have any issues with the bikes (or their riders), so we didn’t need the first aid kit or tools.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_jAJCPVClosuvsp6WSWQA8w.jpeg&quot; alt=&quot;&quot; width=&quot;1890&quot; height=&quot;699&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Fields somewhere south of Rakvere.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&quot;what-i-would-do-differently-next-time&quot;&gt;What I would do differently next time&lt;/h3&gt;
&lt;p&gt;Not much. Our daily distances were 93 km, 107 km, 79 km, and 72 km. Next time I would probably plan the distances to be more on the 70–90 km scale than over 100 km.&lt;/p&gt;
&lt;p&gt;I won’t say that 100 km was too much, but it‘s not something I would like to do for many days in a row. If I was to go on a longer trip spanning over more days, I would probably plan a 1-day break after 4–5 days of cycling to relax and wash the laundry.&lt;/p&gt;
&lt;p&gt;Our trip was relatively high-speed, so we didn’t stop by anywhere during the days except when having coffee or lunch breaks. It was always a bit awkward to enter a café when you’re all sweaty, walking uncomfortably in clip-in shoes, and dressed in lycra. Having a longer break every once in a while would also allow us to do tourist-y stuff like sightseeing. Riding with lower speed and sweating less would of course be an option, but I’m not sure if it’s viable for me.&lt;/p&gt;
&lt;p&gt;And will there be a next time? Well, we already started to discuss taking the ferry from Helsinki to Lübeck and riding towards the Netherlands. Maybe next summer!&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_QDzeujdSXejZdDKgCwQ9bQ.jpeg&quot; alt=&quot;&quot; width=&quot;2400&quot; height=&quot;1803&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Here we have just reached our destination on the Day 4.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Originally posted at&lt;/em&gt; &lt;a href=&quot;https://medium.com/@roxeteer/bike-trip-to-estonia-looking-back-at-my-pack-list-f5d8f7f8828e&quot;&gt;https://medium.com/@roxeteer/bike-trip-to-estonia-looking-back-at-my-pack-list-f5d8f7f8828e&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Bike trip to Estonia: My gear and pack list</title><link>https://visakopu.net/2019/08/03/bike-trip-to-estonia-my-gear-and-pack-list/</link><guid isPermaLink="true">https://visakopu.net/2019/08/03/bike-trip-to-estonia-my-gear-and-pack-list/</guid><description>Estonian coast in summer.I’m soon leaving on my first multi-day bike touring trip. A friend and I are planning to take the ferry from Helsinki, Finland, over to Tallinn, Estonia. From there we will…</description><pubDate>Sat, 03 Aug 2019 18:00:00 GMT</pubDate><content:encoded>&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_usUrSp2ejNBmo2fezdYo8Q.jpeg&quot; alt=&quot;&quot; width=&quot;1890&quot; height=&quot;1004&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Estonian coast in summer.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;I’m soon leaving on my first multi-day bike touring trip. A friend and I are planning to take the ferry from Helsinki, Finland, over to Tallinn, Estonia. From there we will ride along the northern coastline to Viinistu in Lahemaa National Park. On the next day we will move south to Laekvere and then to Lake Peipus. On the fourth day we’re thinking to take the train from Tartu back to Tallinn, but we haven’t actually planned anything that far yet. The daily distances will probably be around 80–100 km.&lt;/p&gt;
&lt;p&gt;We’re not taking any tents, sleeping bags, or cooking items with us, since we’re staying in hotels and Airbnb’s. This will help us to reduce the weight significantly.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_i26sEpjDFIjfFgD8NLdY2Q-1.jpeg&quot; alt=&quot;&quot; width=&quot;2400&quot; height=&quot;1504&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Bianchi Via Nirone 7 with bags.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&quot;the-bike&quot;&gt;The bike&lt;/h3&gt;
&lt;p&gt;My bike is a 2019 Bianchi Via Nirone 7. It’s not a touring bike by any means, but since we’re only riding a few days with quite a little amount of stuff, it’s probably good enough.&lt;/p&gt;
&lt;h3 id=&quot;the-racks-and-bags&quot;&gt;The racks and bags&lt;/h3&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2021/01/1_J-j3vtommaDGTd2EbyUcYA.jpeg&quot; alt=&quot;&quot; width=&quot;2400&quot; height=&quot;2400&quot; loading=&quot;lazy&quot;&gt;&lt;figcaption&gt;Thule Tour Rack is not pretty, but I think it will do its job.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The Bianchi is a road bike, so it doesn’t have any holes for attaching a rack. That’s why I’ve opted for &lt;a href=&quot;https://www.thule.com/en-us/us/bike-accessories/rear-bike-racks/thule-tour-rack-_-100090&quot;&gt;Thule Tour Rack&lt;/a&gt; fitted with &lt;a href=&quot;https://www.thule.com/en-us/us/bike-accessories/rear-bike-racks/thule-pack-n-pedal-side-frames-_-pp_100017&quot;&gt;Pack ‘n Pedal Side Frames&lt;/a&gt; to carry a pair of &lt;a href=&quot;https://www.ortlieb.com/back-roller-classic&quot;&gt;Ortlieb Back Roller Classic panniers&lt;/a&gt; which my wife found with a ridiculously low price from a thrift store (€30, unused!). The panniers are a bit on the large side, but they are sturdy, waterproof, and fit nicely on the Thule rack.&lt;/p&gt;
&lt;p&gt;I’m also taking a &lt;a href=&quot;https://www.aliexpress.com/item/32856142372.html&quot;&gt;Rockbros tube bag&lt;/a&gt; (a “gas tank bag”) that I bought from AliExpress for €11. It fits my wallet, some snacks, and other frequently used items. Also, I might have a power bank there to charge my phone while riding. Speaking of which, for the phone I have a &lt;a href=&quot;https://sp-connect.eu/collections/bike/products/bike-bundle&quot;&gt;SP Connect bike mount&lt;/a&gt; right on the stem.&lt;/p&gt;
&lt;p&gt;Next time I may try &lt;a href=&quot;https://bikepacking.com/&quot;&gt;bikepacking&lt;/a&gt; and use a saddle bag and a handlebar bag and maybe a frame bag, but they offer so much less space than traditional panniers that I didn’t feel comfortable to try managing with that little amount of stuff on my first longer bike trip.&lt;/p&gt;
&lt;h3 id=&quot;riding-gear&quot;&gt;Riding gear&lt;/h3&gt;
&lt;p&gt;I’m used to riding in my MAMIL uniform, so I’m taking bib shorts and a cycling jersey with me on the trip. It would probably be more convenient to use more relaxed clothing, for example to have a break in a café or visiting a toilet, though.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Craft bib shorts&lt;/li&gt;
&lt;li&gt;SUGOI jersey&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gorewear.com/eu/fi-en/gore-c3-gore-windstopper-classic-jacket-100259.html&quot;&gt;Gore Windstopper jacket&lt;/a&gt; (I was going to leave this at home, but the evenings have suddenly turned much colder, and the jacket can be used both on and off the bike)&lt;/li&gt;
&lt;li&gt;Diadora X Tornado SPD shoes (originally MTB shoes, so they are at least a little easier to walk with)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etto.eu/product/stelvio/&quot;&gt;Etto Stelvio helmet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;DeFeet socks&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aliexpress.com/item/32690961687.html&quot;&gt;Lightweight cycling rain jacket&lt;/a&gt; from AliExpress&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aliexpress.com/item/32700521687.html&quot;&gt;Leg&lt;/a&gt; and &lt;a href=&quot;https://www.aliexpress.com/item/32701300668.html&quot;&gt;arm&lt;/a&gt; warmers from AliExpress (much lighter to carry than extra jersey or pants with long sleeves)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aliexpress.com/item/1716433438.html&quot;&gt;Rockbros cycling eyewear&lt;/a&gt; (again from AliExpress, dirty cheap at €10)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;off-the-bike-clothing&quot;&gt;Off-the-bike clothing&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fjallraven.com/fjallraven-mens-high-coast-trousers-navy-f82461/&quot;&gt;Fjällräven High Coast trousers&lt;/a&gt; (super comfortable and very lightweight, 289 g, weighing only a half of a pair of jeans)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.patagonia.com/product/mens-stretch-wavefarer-walk-shorts-20-inch/86641.html&quot;&gt;Patagonia Wavefarer shorts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A cotton t-shirt&lt;/li&gt;
&lt;li&gt;Helly Hansen light fleece&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jack-wolfskin.com/seven-wonders-packer-low-m/4026641-1010060.html&quot;&gt;Jack Wolfskin Seven Wonders Packer Low shoes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Underwear and socks&lt;/li&gt;
&lt;li&gt;Swimming trunks&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;toiletries&quot;&gt;Toiletries&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;45x90 cm fouta (hammam towel, much lighter than a regular bath towel)&lt;/li&gt;
&lt;li&gt;Super lightweight 6-gram toothbrush and a fitting size toothpaste&lt;/li&gt;
&lt;li&gt;A Gillette razor with the handle cut in half and &lt;a href=&quot;https://seatosummit.com/product/trek-travel-pocket-shaving-soap-50-leaf/&quot;&gt;Sea To Summit Pocket Shaving Soap&lt;/a&gt; (19 grams in total!)&lt;/li&gt;
&lt;li&gt;Deodorant&lt;/li&gt;
&lt;li&gt;Travel size hairbrush and hair wax&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tammed.fi/tuotteet/pyorailijan-ensiapupakkaus-cyclo/&quot;&gt;Tammed Cyclo first aid kit for cyclists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Painkiller and other medication&lt;/li&gt;
&lt;li&gt;Sunscreen&lt;/li&gt;
&lt;li&gt;Hand sanitizer&lt;/li&gt;
&lt;li&gt;Chamois cream&lt;/li&gt;
&lt;li&gt;Ear plugs&lt;/li&gt;
&lt;li&gt;Nail clippers (can also substitute for tweezers)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-items&quot;&gt;Other items&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Wallet and passport&lt;/li&gt;
&lt;li&gt;An IKEA pencil&lt;/li&gt;
&lt;li&gt;A spork&lt;/li&gt;
&lt;li&gt;Chain oil&lt;/li&gt;
&lt;li&gt;Duct tape&lt;/li&gt;
&lt;li&gt;Energy gel, SIS caffeine shots, and other snacks&lt;/li&gt;
&lt;li&gt;Drink bottles: Camelback Podium 0.71 l and Elite Corsa 0.55 l&lt;/li&gt;
&lt;li&gt;Elite Custom Race bottle cages (x2)&lt;/li&gt;
&lt;li&gt;An iPhone 7 and an Apple Watch with charging cables&lt;/li&gt;
&lt;li&gt;Apple Europlug USB charger (one of the smallest chargers I know)&lt;/li&gt;
&lt;li&gt;A power bank with two USB ports (can also be used as a hub to turn the Apple charger’s one USB port into two for charging the power bank, the phone, and the watch at the same time)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.leatherman.com/skeletool-18.html&quot;&gt;Leatherman Skeletool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Multitool&lt;/li&gt;
&lt;li&gt;Extra inner tube&lt;/li&gt;
&lt;li&gt;Patching kit with multiple tire levers&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bbbcycling.com/en_en/bmp-49-easyroad&quot;&gt;BBB EasyRoad mini pump&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://magicshine.us/product/ms-622-versatile-bike-light-combo/&quot;&gt;MagicShine MS-622 lights&lt;/a&gt; (front and rear, very minimalistic, weighing only 57 grams in total)&lt;/li&gt;
&lt;li&gt;Biltema folding lock and an Abus locking cable with loops&lt;/li&gt;
&lt;li&gt;A lightweight wire lock for panniers (so that nobody can just grab them along)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kmcchain.eu/connector-KMC_MissingLink_11R_EPT_Silver_reusable-road_cross-11_speed&quot;&gt;KMC MissingLink reusable chain connectors&lt;/a&gt; for fixing broken chains&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Originally posted at&lt;/em&gt; &lt;a href=&quot;https://medium.com/@roxeteer/bike-trip-to-estonia-my-gear-and-pack-list-27fc14713314&quot;&gt;https://medium.com/@roxeteer/bike-trip-to-estonia-my-gear-and-pack-list-27fc14713314&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Best SSH tip of the year</title><link>https://visakopu.net/2015/04/01/best-ssh-tip-of-the-year/</link><guid isPermaLink="true">https://visakopu.net/2015/04/01/best-ssh-tip-of-the-year/</guid><description>Why didn’t anyone tell me about transparent multi-hop SSH before? We have production servers that are not directly accessible through the Internet with SSH. To access the server, you have to first log…</description><pubDate>Wed, 01 Apr 2015 18:45:00 GMT</pubDate><content:encoded>&lt;p&gt;Why didn’t anyone tell me about &lt;strong&gt;&lt;strong&gt;transparent multi-hop SSH&lt;/strong&gt;&lt;/strong&gt; before?&lt;/p&gt;
&lt;p&gt;We have production servers that are not directly accessible through the Internet with SSH. To access the server, you have to first log into a proxy host and from there you can &lt;strong&gt;ssh&lt;/strong&gt; to the actual host. The production servers are not even in a domain that would be resolved through public DNS.&lt;/p&gt;
&lt;p&gt;This is of course very secure and all, but makes it difficult to locally run scripts that access the production host. But, &lt;strong&gt;ProxyCommand&lt;/strong&gt; to the rescue!&lt;/p&gt;
&lt;p&gt;Let’s say our servers are located at &lt;strong&gt;something.foobar.mgmt&lt;/strong&gt; and our proxy host is at &lt;strong&gt;proxy.example.com&lt;/strong&gt;. Now, edit your &lt;strong&gt;~/.ssh/config&lt;/strong&gt; file and add this:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Host *.foobar.mgmt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ProxyCommand ssh -A proxy.example.com -W %h:%p&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After adding these two lines, you can directly do &lt;strong&gt;ssh something.foobar.mgmt&lt;/strong&gt; and SSH will transparently proxy your connection through the other host.&lt;/p&gt;
&lt;p&gt;And if that’s not enough, &lt;strong&gt;scp&lt;/strong&gt; and &lt;strong&gt;sftp&lt;/strong&gt; will also work straight away using the same configuration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thanks, Ari!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Originally posted at &lt;a href=&quot;https://medium.com/@roxeteer/best-ssh-tip-of-the-year-45acbb726de8&quot;&gt;https://medium.com/@roxeteer/best-ssh-tip-of-the-year-45acbb726de8&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>JavaScript one-liner to get element’s text content without its child nodes</title><link>https://visakopu.net/2014/10/16/javascript-one-liner-to-get-elements-text-content-without-its-child-nodes/</link><guid isPermaLink="true">https://visakopu.net/2014/10/16/javascript-one-liner-to-get-elements-text-content-without-its-child-nodes/</guid><description>A testing engineer here at work asked me how he would be able to get an element’s text content without the text inside the possible child elements. The JavaScript DOM doesn’t give us a method to do…</description><pubDate>Thu, 16 Oct 2014 04:40:00 GMT</pubDate><content:encoded>&lt;p&gt;A testing engineer here at work asked me how he would be able to get an element’s text content without the text inside the possible child elements.&lt;/p&gt;
&lt;p&gt;The JavaScript DOM doesn’t give us a method to do that directly, but there’s a one-line solution that uses some interesting JavaScript tricks.&lt;/p&gt;
&lt;h3 id=&quot;examples-not-real-world-examples&quot;&gt;Examples (not real world examples)&lt;/h3&gt;
&lt;p&gt;The problem with using &lt;strong&gt;parentElement.textContent&lt;/strong&gt; directly:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&amp;lt;h1&amp;gt;Page title &amp;lt;em&amp;gt;Other stuff&amp;lt;/em&amp;gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  -&amp;gt; &quot;Page title Other stuff&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&amp;lt;p&amp;gt;My &amp;lt;blink&amp;gt;great&amp;lt;/blink&amp;gt; website&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  -&amp;gt; &quot;My great website&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What we want to achieve:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&amp;lt;h1&amp;gt;Page title &amp;lt;em&amp;gt;Other stuff&amp;lt;/em&amp;gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  -&amp;gt; &quot;Page title &quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&amp;lt;p&amp;gt;My &amp;lt;blink&amp;gt;great&amp;lt;/blink&amp;gt; website&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  -&amp;gt; &quot;My  website&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;the-solution&quot;&gt;The solution&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;// Get the parent element somehow, you can just as well use&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;// .getElementById() or any other DOM method&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;var parentElement = document.querySelector(&apos;#myDiv&apos;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;// Returns the text content as a string&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[].reduce.call(parentElement.childNodes, function(a, b) { return a + (b.nodeType === 3 ? b.textContent : &apos;&apos;); }, &apos;&apos;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;how-does-it-work&quot;&gt;How does it work?&lt;/h3&gt;
&lt;p&gt;DOM element’s &lt;strong&gt;childNodes&lt;/strong&gt; property is not an array even though it looks like one. It’s actually an instance of &lt;strong&gt;NodeList&lt;/strong&gt; which doesn’t have the usual array methods, such as &lt;strong&gt;.forEach()&lt;/strong&gt;, &lt;strong&gt;.map()&lt;/strong&gt; or &lt;strong&gt;.reduce()&lt;/strong&gt;. Luckily, we can easily borrow them from &lt;strong&gt;Array&lt;/strong&gt; by using the &lt;strong&gt;.call()&lt;/strong&gt; method found in the &lt;strong&gt;Function&lt;/strong&gt; prototype.&lt;/p&gt;
&lt;p&gt;So, we’re calling &lt;strong&gt;Array.prototype.reduce&lt;/strong&gt; with a &lt;strong&gt;NodeList&lt;/strong&gt; by creating an empty array and using its method:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[].reduce.call(arrayLikeObject, callbackFn, initialValue);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;// same as this, but we saved some characters&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Array.prototype.reduce.call(arrayLikeObject, callbackFunction, initialValue);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The .reduce() method takes one mandatory parameter – the callback function – and optionally the initial value. As stated by &lt;a href=&quot;https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce&quot;&gt;MDN&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The &lt;strong&gt;&lt;strong&gt;reduce()&lt;/strong&gt;&lt;/strong&gt; method applies a function against an accumulator and each value of the array (from left-to-right) has to reduce it to a single value.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We want the end result to be a string, so we give an empty string as the initial value.&lt;/p&gt;
&lt;p&gt;Our callback function looks like this (replaced the one character variable names with slightly more descriptive ones):&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;function(result, childNode) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  return result + (childNode.nodeType === 3 ? childNode.textContent : &apos;&apos;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The function will be called for each child node (including the text nodes, not only elements separated with HTML tags) that our parent element has.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;result&lt;/strong&gt; parameter contains the string that has accumulated so far.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;childNode&lt;/strong&gt; parameter contains the node currently being processed. First we’ll check the child node’s type. If it’s a text node (its &lt;strong&gt;nodeType&lt;/strong&gt; is 3, also found in the constant &lt;strong&gt;Node.TEXT_NODE&lt;/strong&gt;), we concatenate the node’s &lt;strong&gt;textContent&lt;/strong&gt; to the result. Otherwise we concatenate an empty string, keeping the result intact.&lt;/p&gt;
&lt;h3 id=&quot;what-about-whitespace&quot;&gt;What about whitespace?&lt;/h3&gt;
&lt;p&gt;As you may have noticed, &lt;em&gt;textContent&lt;/em&gt; property contains all the whitespace between the elements, including linebreaks. If you need them trimmed, I’ll let you do that as a homework.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Thanks to&lt;/strong&gt; &lt;a href=&quot;http://arqex.com/&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;Javier Márquez&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;for publishing the blog post&lt;/strong&gt; &lt;a href=&quot;http://arqex.com/939/learning-much-javascript-one-line-code&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;Learning much javascript from one line of code&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;which gave me a great starting point.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Originally posted at&lt;/em&gt; &lt;a href=&quot;https://medium.com/@roxeteer/javascript-one-liner-to-get-elements-text-content-without-its-child-nodes-8e59269d1e71&quot;&gt;https://medium.com/@roxeteer/javascript-one-liner-to-get-elements-text-content-without-its-child-nodes-8e59269d1e71&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Näin jaat hakemiston paikallisesti webbiserverinä</title><link>https://visakopu.net/2012/06/26/nain-jaat-hakemiston-paikallisesti-webbiserverina/</link><guid isPermaLink="true">https://visakopu.net/2012/06/26/nain-jaat-hakemiston-paikallisesti-webbiserverina/</guid><description>Pitäisi katsoa Paul Irishin Javascript Development Workflow of 2013 -video ihan kokonaankin, mutta siitä tarttui heti kätevä vinkki. Laita tämä ~/.profile-tiedostoon tai vastaavaan: function server()…</description><pubDate>Tue, 26 Jun 2012 05:38:50 GMT</pubDate><content:encoded>&lt;p&gt;Pitäisi katsoa Paul Irishin &lt;a href=&quot;http://www.youtube.com/watch?v=f7AU2Ozu8eo&quot;&gt;Javascript Development Workflow of 2013 -video&lt;/a&gt; ihan kokonaankin, mutta siitä tarttui heti kätevä vinkki. Laita tämä ~/.profile-tiedostoon tai vastaavaan:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;function server() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    local port=&quot;${1:-8000}&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    open &quot;http://localhost:${port}/&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    python -m SimpleHTTPServer &quot;$port&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tämän jälkeen työhakemiston saa jaettua paikallisesti webbiserverinä kutsumalla yksinkertaisesti server-komentoa. Oletusarvoisesti käytetään porttia 8000, mutta sen voi yliajaa antamalla porttinumeron parametrina. Esimerkiksi:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;$ server 8080&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Irishin esimerkistä puuttui -m-parametri, ehkä Python 3 ei sitä vaadi.&lt;/p&gt;
&lt;figure&gt;&lt;iframe width=&quot;612&quot; height=&quot;344&quot; src=&quot;https://www.youtube.com/embed/f7AU2Ozu8eo?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/figure&gt;
</content:encoded></item><item><title>Ohjelmointibloggausta työpaikan blogissa</title><link>https://visakopu.net/2012/05/25/2general-blog/</link><guid isPermaLink="true">https://visakopu.net/2012/05/25/2general-blog/</guid><description>Jos Python, JavaScript, Django ja muut ohjelmointiaiheet kiinnostavat, kirjoitan nykyään 2Generalin uunituoreeseen firmablogiin. Ensimmäiset kirjoittamani postaukset käsittelivät Node.js- ja…</description><pubDate>Fri, 25 May 2012 04:57:16 GMT</pubDate><content:encoded>&lt;p&gt;Jos Python, JavaScript, Django ja muut ohjelmointiaiheet kiinnostavat, kirjoitan nykyään &lt;a href=&quot;http://www.2general.com/blog/&quot;&gt;2Generalin uunituoreeseen firmablogiin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ensimmäiset kirjoittamani postaukset käsittelivät &lt;a href=&quot;http://www.2general.com/blog/2012/05/22/virtualenv_install_node_gem.html&quot;&gt;Node.js- ja Ruby-pakettien asentamista virtualenviin&lt;/a&gt; ja &lt;a href=&quot;http://www.2general.com/blog/2012/05/22/django_mediagenerator_dustjs.html&quot;&gt;Dust.js-sivupohjien kääntämistä django-mediageneratorilla&lt;/a&gt;. Lisää artikkeleita on tulossa, ainakin useammin kuin tähän blogiin.&lt;/p&gt;
</content:encoded></item><item><title>Päivän asu</title><link>https://visakopu.net/2012/05/15/paivan-asu/</link><guid isPermaLink="true">https://visakopu.net/2012/05/15/paivan-asu/</guid><description>Pukeudun oikeastaan ympäri vuoden samalla tavalla: farkut, t-paita ja neule. Keväällä takki vaihtuu ohuemmaksi ja jos kesä on vähäluminen, takin ja neuleen voi jättää pois. Kerralla käytössä on vain…</description><pubDate>Tue, 15 May 2012 16:20:54 GMT</pubDate><content:encoded>&lt;p&gt;Pukeudun oikeastaan ympäri vuoden samalla tavalla: farkut, t-paita ja neule. Keväällä takki vaihtuu ohuemmaksi ja jos kesä on vähäluminen, takin ja neuleen voi jättää pois. Kerralla käytössä on vain muutama vaate kutakin lajia, lähinnä varmaan siksi että täydennän vaatekaappia vain pari-kolme kertaa vuodessa.&lt;/p&gt;
&lt;p&gt;Tänään pukeuduin sinisiin C&amp;amp;A:n farkkuihin, tummansiniseen t-paitaan, jossa lukee &lt;em&gt;I’m Jonathan from Spotify&lt;/em&gt; (teetin sen joskus jossain nettipalvelussa) ja leveäraitaiseen neuleeseen, tällä kertaa sellaiseen, jossa on vetoketju ja huppu. Jalassa olivat mustat sukat, joissa on violetti raita varren yläosassa. Ne tulivat seitsemän parin paketissa, jonka jokaisessa sukkaparissa oli erivärinen raita. Kätevämpää kuin kokomustat sukat, kun parittaa sukkia pesun jälkeen.&lt;/p&gt;
&lt;p&gt;Kengät ovat Adidaksen parinkympin mustat lenkkarit, jotka ostin käytettyäni Reebokin lenkkarit parin vuoden aikana täysin loppuun. Reebokin huomattavasti kalliimmat kengät ostin joskus Tukholmasta ja ne olivat yhdet parhaista ikinä omistamistani kengistä. Adidaksen kengät eivät olleet niin hyvä ostos, vaikka hintaakin oli tietysti reilusti vähemmän. Adidakset ovat ikävän hiostavat ja ne narisevat välillä muovilattiaa vasten harmillisesti.&lt;/p&gt;
&lt;p&gt;En normaalisti kirjoita enkä lue näitä muotibloggauksia. Pitääkö tähän laittaa vielä jotain? Aamupalaksi söin ruisleipää ja join soijalatten.&lt;/p&gt;
</content:encoded></item><item><title>Stelmo&apos;s Alladin &quot;Romu&quot; 1999-2009</title><link>https://visakopu.net/2009/12/22/romu-1999-2009/</link><guid isPermaLink="true">https://visakopu.net/2009/12/22/romu-1999-2009/</guid><description>Rakas hovawartimme Romu nukkui eilen pois pitkän sairastamisen jälkeen. Keväällä, kun maa on sulanut, hautaamme tuhkat talomme pihalle, Romun vahtipaikalle. Niin Romu olisi halunnut. Emme tule koskaan…</description><pubDate>Tue, 22 Dec 2009 15:28:48 GMT</pubDate><content:encoded>&lt;figure&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/2020/11/4205590819_b6b815406a_c.jpg&quot; alt=&quot;&quot; width=&quot;799&quot; height=&quot;655&quot; loading=&quot;lazy&quot;&gt;&lt;/figure&gt;
&lt;p&gt;Rakas hovawartimme Romu nukkui eilen pois pitkän sairastamisen jälkeen. Keväällä, kun maa on sulanut, hautaamme tuhkat talomme pihalle, Romun vahtipaikalle. Niin Romu olisi halunnut.&lt;/p&gt;
&lt;p&gt;Emme tule koskaan unohtamaan sinua, Romppu.&lt;/p&gt;
</content:encoded></item><item><title>Yksitoista vuotta</title><link>https://visakopu.net/2009/10/09/yksitoista-vuotta/</link><guid isPermaLink="true">https://visakopu.net/2009/10/09/yksitoista-vuotta/</guid><description>Siitä on yksitoista vuotta kun syksyllä 1998 kirjoitin ylioppilaskirjoituksissa äidinkielen esseen. Muistan siitä ainoastaan, että pääsin samassa lauseessa Ilmari Kiannon Punaisen viivan…</description><pubDate>Fri, 09 Oct 2009 04:17:57 GMT</pubDate><content:encoded>&lt;p&gt;Siitä on yksitoista vuotta kun syksyllä 1998 kirjoitin ylioppilaskirjoituksissa äidinkielen esseen. Muistan siitä ainoastaan, että pääsin samassa lauseessa Ilmari Kiannon Punaisen viivan agitaattorista Spice Girlseihin. En muista enää yhtään mistä olin kirjoittamassa.&lt;/p&gt;
&lt;p&gt;Sain äidinkielestä L:n, joten jopa YTL:ssä tykättiin.&lt;/p&gt;
</content:encoded></item><item><title>Halutaan: täydellinen mikrobloggausalusta</title><link>https://visakopu.net/2009/03/24/halutaan-taydellinen-mikrobloggausalusta/</link><guid isPermaLink="true">https://visakopu.net/2009/03/24/halutaan-taydellinen-mikrobloggausalusta/</guid><description>Mikrobloggaus on vähentänyt monen bloggaajan päivitystahtia, niin myös täällä minun blogissani. Mikrobloggauksella tarkoitetaan lyhyitä blogikirjoituksen omaisia viestejä, joista suomalaisille tutuin…</description><pubDate>Tue, 24 Mar 2009 09:52:02 GMT</pubDate><content:encoded>&lt;p&gt;Mikrobloggaus on vähentänyt monen bloggaajan päivitystahtia, niin myös täällä minun blogissani. Mikrobloggauksella tarkoitetaan lyhyitä blogikirjoituksen omaisia viestejä, joista suomalaisille tutuin on varmaankin Facebookin statusviestit.&lt;/p&gt;
&lt;p&gt;Itse olen käyttänyt mikrobloggaukseen lähinnä Jaikua, Facebookia, Twitteriä ja uusimpana suomalaista Qaikua. Kaikissa niissä on kuitenkin omat ongelmansa.&lt;/p&gt;
&lt;p&gt;* * *&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.jaiku.com/&quot;&gt;Jaiku&lt;/a&gt; oli melko täydellinen palvelu, sillä siellä oli hyvä suomalainen porukka ja hyviä keskusteluja, mutta sitten tekniset ongelmat alkoivat hankaloittaa sen käyttöä. Vähän aikaa sitten palvelu siirtyi Google App Enginen päälle eikä se ainakaan helpottanut teknisten ongelmien suhteen. Käytin Jaikua lähinnä reissussa S60-mobiiliclientilla ja töissä seuraamalla RSS-feediä. Lisäksi Jaiku ilmoitti sähköpostitse, kun keskusteluihin tuli uusia vastauksia. App Engine -siirroksen jälkeen mobiiliclient ei enää toimi, RSS-feed on täynnä rikkinäistä roskaa eikä sähköposteja tule ollenkaan.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.qaiku.com/&quot;&gt;Qaiku&lt;/a&gt;, kuten nimestäkin voi arvata, on yritys tehdä parempi Jaiku. Moni suomalainen jaikuilija onkin siirtynyt qaikuilijaksi. Minä en kuitenkaan ole oikein päässyt palveluun sisään, koska siitä puuttuvat juuri ne tavat seurata päivityksiä, mitä minä haluaisin käyttää: mobiiliclient, RSS-feed ja notifikaatiosähköpostit.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://twitter.com/&quot;&gt;Twitter&lt;/a&gt; on varsinaisista mikrobloggauspalveluista maailmanlaajuisesti suosituin. Siellä on paljon väkeä, myös suomalaisia, mutta Twitter ei oikein tue keskusteluja. Kaikki blogikirjoitukset, “tweetit”, ovat yksittäisiä huutoja pimeyteen eikä niihin liity keskusteluthreadia samalla tavalla kuin kaikissa muissa mainitsemissani palveluissa. Twitterin API:n päälle on tehty kaikenlaisia virityksiä, joilla tweetit saadaan linkitettyä toisiinsa, mutta palvelu itsessään ei kunnollista keskustelua tue. Veikkaan, että jossain vaiheessa Twitter on pakotettu lisäämään tweeteihin kommentointisysteemin.&lt;/p&gt;
&lt;p&gt;Twitterin suosio aiheuttaa myös sen suurimman ongelman. Päivityksiä on niin paljon, että niiden seuraamisesta tulee helposti hankalaa. Twitterin käyttöön on hyviä softia, kuten &lt;a href=&quot;http://iconfactory.com/software/twitterrific&quot;&gt;Twitterrific&lt;/a&gt; Mac OS X:lle, mutta mitä enemmän seurattavia käyttäjiä on, sitä rajoittuneemmilta kaikki Twitter-softat alkavat tuntua.&lt;/p&gt;
&lt;p&gt;Suomalaisille suosituin mikrobloggauksen kaltainen palvelu on &lt;a href=&quot;http://www.facebook.com/&quot;&gt;Facebook&lt;/a&gt; ja sen statusviestit. Omista Facebook-kavereistani noin puolet päivittää statusviestiään. Facebookin systeemi on ihan hyvä, mutta se on tavallaan suljetumpi, koska ihmiset ovat siellä omilla nimillään ja naamoillaan, ja statusviestit ovat perinteisesti olleet tarkoitettu omalle kaveripiirille. Moni käyttää Facebookia puhelinmuistiona, jossa on oikeita kavereita, ja oletusarvoisesti statusviestit näkyvät vain tälle valitulle ryhmälle.&lt;/p&gt;
&lt;p&gt;Muissa palveluissa “kaverin” määritelmä on vapaampi. Esimerkiksi Twitterin käyttäjäkulttuurissa kaikki voivat seurata toisiaan ilman, että tarvitsisi olla oikeasti vaikkapa &lt;a href=&quot;http://twitter.com/BarackObama&quot;&gt;Barack Obaman&lt;/a&gt; kaveri. Twitteriä käytetään monenlaiseen muuhun toimintaan kuin varsinaiseen mikrobloggaukseen, kuten &lt;a href=&quot;http://twitter.com/BreakingNewsOn&quot;&gt;uutispäivityksiin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Facebookin viimeisin uudistus muuttaa siitä Twitterin suuntaan – varsinkin kun myös Facebook-sivut, eli käytännössä brändit – voivat nyt lisätä statusviestejä. Facebook on myös jatkuvasti siivonnut käyttöliittymästään ylimääräistä roskaa pois näkyvistä, joka on lähentänyt sitä mikrobloggauspalveluihin, mutta samalla vienyt siitä pois Facebook-sovellusten tuomaa laajennettavuutta, koska sovellukset ovat entistä enemmän piilossa. Käyttäjät ovat ottaneet tämän vastaan ristiriitaisin tuntein.&lt;/p&gt;
&lt;p&gt;Facebookin kulttuuri on varmasti muuttumassa siihen suuntaan, että kavereita lisätään listalle vapaammin, ilman “tosielämän” sidettä. Saa nähdä millä tavalla se muuttaa Facebookin käyttöä.&lt;/p&gt;
&lt;p&gt;* * *&lt;/p&gt;
&lt;p&gt;Minut löytää &lt;a href=&quot;http://roxeteer.jaiku.com/&quot;&gt;Jaikusta&lt;/a&gt;, &lt;a href=&quot;http://www.facebook.com/profile.php?id=666922951&quot;&gt;Facebookista&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/roxeteer&quot;&gt;Twitteristä&lt;/a&gt; ja &lt;a href=&quot;http://www.qaiku.com/home/roxeteer/&quot;&gt;Qaikusta&lt;/a&gt;. Katsotaan, mihin niistä tulee jatkossa päivityksiä. Vai tuleeko mihinkään?&lt;/p&gt;
</content:encoded></item><item><title>Kevätkuulumisia</title><link>https://visakopu.net/2009/03/24/kevatkuulumisia/</link><guid isPermaLink="true">https://visakopu.net/2009/03/24/kevatkuulumisia/</guid><description>Siitä on jo melkein viisi kuukautta, kun viimeksi kirjoitin Artun kuulumisista tänne blogiin. Aika menee niin nopeasti. Silloin Arttu oli juuri oppinut konttaamaan. Nyt Arttu on juuri oppinut…</description><pubDate>Tue, 24 Mar 2009 08:45:48 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/roxeteer/3338431595/&quot; title=&quot;Happy little boy by roxeteer, on Flickr&quot;&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;quot;alt&amp;quot;:&amp;quot;Happy little boy&amp;quot;,&amp;quot;sizes&amp;quot;:&amp;quot;(min-width: 978px) calc(600px - 1.33vw), (min-width: 750px) 60vw, 92vw&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;../../../assets/flickr/3338431595.jpg&amp;quot;,&amp;quot;index&amp;quot;:0}&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Siitä on jo &lt;a href=&quot;http://www.visakopu.net/2008/11/09/ensimmainen-isanpaiva/&quot;&gt;melkein viisi kuukautta&lt;/a&gt;, kun viimeksi kirjoitin Artun kuulumisista tänne blogiin. Aika menee niin nopeasti.&lt;/p&gt;
&lt;p&gt;Silloin Arttu oli juuri oppinut konttaamaan. Nyt Arttu on juuri oppinut kävelemään. Viime viikonloppuna oltiin Kaisankodissa vanhempieni 30-vuotishääpäiväjuhlassa ja siellä Arttu kipitti pitkin kartanon käytäviä. Kotona kävely vaihtuu vielä helposti konttaukseen ja seinätkin ovat aina turhan lähellä tuen ottamista varten.&lt;/p&gt;
&lt;p&gt;Työkaveri kertoi hauskan tarinan siitä, kuinka toinen heidän lapsistaan oli kävellyt ensimmäisen kerran. Lapselle oltiin oltu vaihtamassa vaippaa, kun hän oli päättänyt kieltäytyä ja lähtenyt juoksemaan ympäri taloa. Niin lapsi oli kiljunut innosta ja vanhemmat olivat juosseet perässä. Artulla kävelemään lähtö ei sentään käynyt ihan noin vauhdikkaasti.&lt;/p&gt;
</content:encoded></item><item><title>Polttoaine.netin karttapalvelu pettää lupaukset</title><link>https://visakopu.net/2009/01/30/polttoainenetin-karttapalvelu-pettaa-lupaukset/</link><guid isPermaLink="true">https://visakopu.net/2009/01/30/polttoainenetin-karttapalvelu-pettaa-lupaukset/</guid><description>Bensan ja dieselin hintavertailusaitti Polttoaine.net julkaisi tällä viikolla karttapalvelun osaksi saittiaan. “Nyt halvimman polttoaineen löytäminen on aiempaa helpompaa, ja vieraammillakin seuduilla…</description><pubDate>Fri, 30 Jan 2009 09:20:31 GMT</pubDate><content:encoded>&lt;p&gt;Bensan ja dieselin hintavertailusaitti &lt;a href=&quot;http://polttoaine.net/&quot;&gt;Polttoaine.net&lt;/a&gt; julkaisi tällä viikolla karttapalvelun osaksi saittiaan.&lt;/p&gt;
&lt;p&gt;“Nyt halvimman polttoaineen löytäminen on aiempaa helpompaa, ja vieraammillakin seuduilla liikkuva autoilija pystyy paremmin löytämään halvimman tankkauspisteen”, lupasi Polttoaine.net tiedotteessaan.&lt;/p&gt;
&lt;p&gt;Vaan eipä karttasysteemi oikein pidä minkä lupaa. Ensinnäkin koko kartan löytäminen saitilta on vaikeaa. Saitin etusivulla ei ole yhtään linkkiä, joka veisi karttasivulle. Pitää keksiä, että ensin pitää tehdä huoltoasemahaku, esimerkiksi mennä katsomaan pääkaupunkiseudun huoltoasemien listaa. Tuloslistassa jokaisen huoltoaseman kohdalla on linkki karttaan.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/roxeteer/3237845231/&quot; title=&quot;Polttoaine.net map search by roxeteer, on Flickr&quot;&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;quot;alt&amp;quot;:&amp;quot;Polttoaine.net map search&amp;quot;,&amp;quot;sizes&amp;quot;:&amp;quot;(min-width: 978px) calc(600px - 1.33vw), (min-width: 750px) 60vw, 92vw&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;../../../assets/flickr/3237845231.png&amp;quot;,&amp;quot;index&amp;quot;:0}&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kun karttasivun lopulta saa auki, joutuu pettymään taas. Suomalaisen &lt;a href=&quot;http://karttago.fi/&quot;&gt;Karttagon&lt;/a&gt; toteuttama kartta on vanhanaikainen klikattavilla nuolilinkeillä navigoitava systeemi, ei moderni raahattava kartta, kuten esimerkiksi &lt;a href=&quot;http://maps.google.fi/&quot;&gt;Google Maps&lt;/a&gt; tai &lt;a href=&quot;http://maps.live.fi/&quot;&gt;Microsoft Live Search Maps&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Karttasivulla näytetään ainoastaan tuloslistasta valitun huoltoaseman hinnat. Kartalla kuitenkin näkyvät alueen muut huoltoasemat aseman logolla merkittynä. Jos haluaa nähdä toisen aseman hinnat, pitää logoa klikata, jolloin sivu latautuu uudestaan ja edellisen aseman hinta menee piiloon. Mitään muuta tapaa vertailla hintoja ei ole, kuin klikkailla kaikki asemat läpi ja muistaa edellisten asemien hinnat. Systeemi on aivan naurettava. Olisihan juuri olennaista ollut nopeasti nähdä, mikä alueen asemista on halvin.&lt;/p&gt;
&lt;p&gt;Karttapalvelussa on myös reittihaku. Odotin, että reittihaku olisi toiminut niin, että voisin hakea reitin paikasta A paikkaan B ja näkisin reitin varrella olevat huoltoasemat (ja niiden hinnat). Vaan ei, voin ainoastaan laittaa lähtöpaikan ja hakea reitin valitulle huoltoasemalle.&lt;/p&gt;
&lt;p&gt;Polttoaine.net on pitkään ollut jämähtänyt 90-luvulle ja karttahaun julkistaminen lupasi paljon. Ikävä kyllä käyttäjät joutuvat pettymään.&lt;/p&gt;
</content:encoded></item><item><title>Ratkaisu ongelmiin</title><link>https://visakopu.net/2009/01/16/ratkaisu-ongelmiin/</link><guid isPermaLink="true">https://visakopu.net/2009/01/16/ratkaisu-ongelmiin/</guid><description>Eilen Hesari kertoi, että Espoon kaupungin vuokra-asuntoyhtiön Espoonkruunun asukkaat ovat kyllästyneet yhtiön toimintaan ja aikovat ryhtyä kapinaan . Yhtiötä kritisoivien mielestä vuokrat ovat liian…</description><pubDate>Fri, 16 Jan 2009 19:50:13 GMT</pubDate><content:encoded>&lt;p&gt;Eilen Hesari kertoi, että Espoon kaupungin vuokra-asuntoyhtiön &lt;a href=&quot;http://www.hs.fi/kaupunki/artikkeli/Espoossa+kytee+kapinaliike+kaupungin+vuokrayhti%C3%B6t%C3%A4+vastaan/1135242762174&quot;&gt;Espoonkruunun asukkaat ovat kyllästyneet yhtiön toimintaan ja aikovat ryhtyä kapinaan&lt;/a&gt;. Yhtiötä kritisoivien mielestä vuokrat ovat liian korkeat, asukkaita ei kuunnella ja asuntojen korjauksia saa odottaa pitkään.&lt;/p&gt;
&lt;p&gt;Tänään Hesarissa kerrottiin, että Espoonkruunussa on keksitty ratkaisu ongelmiin. &lt;a href=&quot;http://www.hs.fi/kaupunki/artikkeli/Espoonkruunun+hallituksesta+halutaan+karsia+asukkaiden+edustajia/1135242791512&quot;&gt;Viskataan asukkaiden edustajat pois yhtiön hallituksesta!&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Aloitteen hallinnon uudistamisesta tehnyt kokoomuksen Juha-Veikko Kurki perustelee asiaa sillä, että yhtiön hallinto on alusta asti ollut tarpeettoman raskas.&lt;/p&gt;
&lt;p&gt;Hänen mukaansa asukkaiden osallistumisen pääpainon tulee olla talotasolla.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Täytyy vain toivoa, että Espoonkruunusta löytyy myös sellaisia puolue-edustajia, jotka haluavat kuunnella asukkaita.&lt;/p&gt;
&lt;p&gt;* * *&lt;/p&gt;
&lt;p&gt;Asiasta toiseen, &lt;a href=&quot;http://roxeteer.jaiku.com/&quot;&gt;Jaiku-viestini ovat nyt julkisia&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Retroleluja</title><link>https://visakopu.net/2009/01/06/retroleluja/</link><guid isPermaLink="true">https://visakopu.net/2009/01/06/retroleluja/</guid><description>Jos olisi ylimääräistä rahaa eikä olisi jo talo täynnä Artun leluja, ostaisin kyllä jotain Morgan Cyclen tai Radio Flyerin valmistamaa. Vaikkapa nämä: Morgan Cycle Fire Engine Scoot-ster Radio Flyer…</description><pubDate>Tue, 06 Jan 2009 13:40:32 GMT</pubDate><content:encoded>&lt;p&gt;Jos olisi ylimääräistä rahaa eikä olisi jo talo täynnä Artun leluja, ostaisin kyllä jotain &lt;a href=&quot;http://www.morgancycle.com/&quot;&gt;Morgan Cyclen&lt;/a&gt; tai &lt;a href=&quot;http://www.radioflyer.com/&quot;&gt;Radio Flyerin&lt;/a&gt; valmistamaa. Vaikkapa nämä:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.morgancycle.com/cars/firescootster.htm&quot;&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/archive/morgancycle.jpg&quot; alt=&quot;Morgan Cycle Fire Engine Scoot-ster&quot; title=&quot;Morgan Cycle Fire Engine Scoot-ster&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.morgancycle.com/cars/firescootster.htm&quot;&gt;&lt;strong&gt;Morgan Cycle&lt;/strong&gt; &lt;strong&gt;Fire Engine Scoot-ster&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.radioflyer.com/rideon/rideon_8.html&quot;&gt;&lt;img src=&quot;https://cdn.roxeteermedia.com/visakopu/archive/radioflyer.jpg&quot; alt=&quot;Radio Flyer Little Red Roadster&quot; title=&quot;Radio Flyer Little Red Roadster&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.radioflyer.com/rideon/rideon_8.html&quot;&gt;Radio Flyer Little Red Roadster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item></channel></rss>