<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>tag:wnd.katei.fi,2007:weblog/</id>
<updated>2018-02-24T13:39:00Z</updated>
<title type="text">wnd's weblog</title>
<link rel="alternate" type="text/html" href="" />
<link rel="self" type="application/atom+xml" href="atom.pl" />
<author>
	<name>Tommi Saviranta</name>
	<email>wnd+weblog@iki.fi</email>
</author>
<generator uri="http://katei.fi/woclema.html">Woclema</generator>
<entry>
	<title>International phone call scams are very much real</title>
	<link href="entry-99" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=99</id>
	<published>2017-07-31T14:27:04Z</published>
	<updated>2017-08-01T21:27:56Z</updated>
	<content type="html">
<![CDATA[<p>
tl;dr: I lost my &quot;yes scam&quot; virginity.
</p>

<p>
In 19 July 2017 I received an unexpected phone call. By means unknown to me, my
phone displayed not only the number (+442079460873) but also word
&quot;London&quot;.  Because of reasons, I typically answer these calls. I did
answer the call.
</p>

<p>
I was greeted by a woman who spoke reasonably good English, but her
pronunciation wasn't exactly the best I've heard. I could not identify the
dialect, but my suspicions pointed towards east. The caller first wanted to
confirm she was speaking with a person with my name, yes? &quot;That would be
me.&quot; The call centre noise in the background was rather annoying.  She
then continued to introduce herself as a researcher at CTAM in London. It took
a couple of pardon-mes and sorries to actually make the abbreviation out.  The
company was supposedly doing an economy research on European households.
&quot;Could you answer some questions, please?&quot;
</p>

<p>
I can't remember the details on how the call then proceeded, but the questions
where mostly meaningless, and the data should've been readily available in most
EU countries. &quot;Do you own an apartment, yes or no?&quot; &quot;Do you have
a mortgage, yes or no?&quot; Some of the questions were utterly irrelevant.
&quot;Is this your personal phone, yes or no?&quot;. As is typical for me, I
answered nearly all questions with proper sentences such as &quot;I do&quot; or
&quot;I have&quot;, or &quot;it is&quot;. Repeating the yes-or-no part started
to sound a little fishy at some point. I am certain I slipped some direct
&quot;yesses&quot; a few times.
</p>

<p>
Not all the questions were like that, though. She was also interested in my
income bracket, my profession, and my thoughts on how the recent efects in
Europe have affected my financial security. For whatever reason, she wasn't
happy with &quot;software engineer&quot;, so she had to settle with &quot;a
programmer&quot;. Obviously she'd also like to have my email. I provided her
with a GMail address that I only use for irrelevant stuff.
</p>

<p>
After seven minutes of her time and my holiday being closer to its end, she
thanked and ended the call. I did a quick internet search with the phone number
and ended up reading an article by national news agency about strange
international phone calls. The recommended action was obviously not to answer
the calls.  The article did not speculate what the attack vector for the calls
was.  Reading about the fishing for yesses, I grew a little nervous. The few
yes answers I'd given worried me, but eventually managed to put the thought
aside.  Should it become necessary, I'd have a recording of the call. Except I
didn't. The latest software update to my phone meant the recording application
was no longer functioning. Oh dear.
</p>

<p>
On 27th my phone beeped again. A call from a secret number. I left my
workstation and went to one of our meeting rooms, and answered the call. By now</p>
<p>...</p>]]>
	</content>
</entry>
<entry>
	<title>More on Game of Life in 6510 assembler</title>
	<link href="entry-98" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=98</id>
	<published>2016-12-07T09:02:09Z</published>
	<updated>2016-12-08T11:49:16Z</updated>
	<content type="html">
<![CDATA[<p>
	As it turned out, I never released the sources for the second
	generation of my Commodore 64 version of Conway's Game of Life. Unlike the earlier version,
	this second attempt packs four cells per byte. While it adds to the
	complexity, it also reduces time spent in data retrieval by a lot. This version uses
	lookup tables to count live cells by using a lookup table on zero-page.
</p>

<p>
	<a href="/src/life/life2-raw/">Get the sources</a>. You may also
	<a href="entry-61">read an earlier entry</a> and/or see
	<a href="/src/life/">the earlier version(s)</a>.
</p>]]>
	</content>
</entry>
<entry>
	<title>Stockholm, August 2009</title>
	<link href="entry-97" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=97</id>
	<published>2014-11-28T20:16:18Z</published>
	<updated>2014-11-28T20:24:42Z</updated>
	<content type="html">
<![CDATA[<p>
	<a href="/photos/stockholm_2009/">
	<img src="/photos/stockholm_2009.jpeg" width="160" height="120"
		alt="Vasa warship, Stockholm, Sweden" style="float: right;" />
	</a>

	Extremely minimal set of photographs from Stockholm, Sweden. If it
	weren't for Vasa, I suppose there photos could be from anywhere. You
	have been warned. <a href="/photos/stockholm_2009">See the few photos
	here.</a>
</p>]]>
	</content>
</entry>
<entry>
	<title>N900/Fremantle and Iodine</title>
	<link href="entry-96" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=96</id>
	<published>2014-06-15T09:11:31Z</published>
	<updated>2014-06-15T09:11:31Z</updated>
	<content type="html">
<![CDATA[<p>
Grab a minimal-dependency iodine client start up script <a
href="/src/iodine-client/">from here</a>.
</p>

<p>
Long story short: I've rewritten
<a
href="https://github.com/barak/iodine-client-start/blob/master/iodine-client-start">iodine-client-start</a>
to have minimal dependencies and to run with standard Bourne shell. The only
additional packages this script should require are iodine and iproute.
</p>

<p>
Back in the days when Nokia N810 was my main and only &quot;internet
tablet&quot;, I discovered <a href="http://code.kryo.se/iodine/">iodine</a>, a
IP-over-DNS tunneling... thing. I set up my own server and tried to set up the
client with provided iodine-client-start script. Things didn't work
out-of-the-box and I soon discovered number of dependencies. Because I was keen
to see iodine in action, I quickly built a package with all necessary
dependencies in it. If my memory serves me right, I had to strip down things
like ipcalc to run on Diablo, and compile some others. Eventually I got Iodine
to work, and never bothered to properly package things.
</p>

<p>
When I finally got a N900 of my own, I tried to set up Iodine client for it as
well but failed. Life being busy and all, I never get around to get things
working. Until two weeks ago. I was walking back home from downtown and being
nice and sunny day, I stopped to sit on a bench. I can't remember what I was
going to check online, but in any case I tried to establish an internet
connection using an open AP that happened to be there. It turned out it was one
of those that requires a login. One thing lead to another, and by the time my
head hit the pillow that night, I had a nice little script ready for field
testing. Much to my surprise it worked without a hitch - except that the
routing to my own subnet was broken from my iodined.
</p>]]>
	</content>
</entry>
<entry>
	<title>Vim and long lines</title>
	<link href="entry-95" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=95</id>
	<published>2013-12-04T18:29:11Z</published>
	<updated>2013-12-04T18:56:16Z</updated>
	<content type="html">
<![CDATA[<pre>
highlight LongLines ctermbg=red ctermfg=white
match LongLines /.\\%>81v/"
</pre>

<p>
Some months ago <a href="entry-93">I switched to i3 window manager</a>
after discovering a Vim option to highlight column 81. As silly as it may
sound, not easily spotting long lines was one of the biggest reason for not
switching earlier. However, colorcolumn option wasn't perfect. It messed up
using X11 to paste text from Vim.
</p>

<p>
When I first grew tired to colorcolumn and loads and loads of unwanted
whitespaces in pasted text, I figured I'd use X resources to configure rxvt to
draw column markers. These markers would obviously be completely separate from
actual text buffer. After struggling to introduce X resources in rxvt, I
realised my plan also was flawed; this wouldn't work properly with Vim's
windows.
</p>

<p>
When the time to have a Christmas party at work arrived, I realised I'd have
quality time to work on this again. I patched rxvt with a private set of VT
escape sequences to manage a list of column markers. Adding this functionality
was surprisingly simple and the unminimised patch (without partially
implemented X resources) was just 145 lines. The next step would be to create a
Vim script, or in worst case scenario, patch Vim to send required sequences to
set the markers.
</p>

<p>
When I was testing my fancy little patch, I came across some settings in Vim
configuration file I had added for highlighting redundant whitespaces a decade
earlier. That's when I realised I could use exactly same thing for highlighting
long lines. It wouldn't be exactly as pretty as my fancy little patch, but
there would be no patching and no compiling.
</p>

<p>
The next time I think I need to patch some piece of software, I really need to
sit on my hands and think if it's really the only way. That would have a lot of
time.
</p>]]>
	</content>
</entry>
<entry>
	<title>Linux, SD card readers and HAL</title>
	<link href="entry-94" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=94</id>
	<published>2013-09-04T17:59:31Z</published>
	<updated>2013-09-04T18:36:06Z</updated>
	<content type="html">
<![CDATA[<p>
If your copy of GNU/Linux can't find your SD card in a reader, try running
<tt>lshal</tt> (which can be found in package <tt>hal</tt> in Debian) and then
check again.
</p>

<p>
Earlier today I was trying to copy the stuff from an micro SD card, but failed
miserably as the kernel log didn't mention a thing about the card when it was
inserted. Puzzeled, I inserted the card in my cheap Chinese Android tablet and
behold, the stuff was there. I then tried the same card with a Linux laptop
with no success. Baffled, I also tried other SD cards (regular and micro) with
my desktop. None of the cards worked. The card reader appeared as
<tt>/dev/sdg</tt> and that's all there was for it. At the same time using an
USB adapter for the micro SD card worked perfectly fine.
</p>

<p>
After asking the almighty Google about this, someone suggested running
<tt>lshal</tt> as a mean to investigate remotely similar problem. After
installing HAL, running it and grepping the output I saw the card was now
available through <tt>/dev/sdg1</tt>. <tt>dmesg</tt> now also mentioned this
&quot;newly&quot; attached device.
</p>

<p>
Obviouly I've fallen behind after introduction of DEVFS and udev, as I didn't
even think of HAL. In fact, I don't even really know what HAL is. I've known
what it stands for, I've known that for quite some time, but that's about it. I
still find it odd that <tt>dmesg</tt> didn't list the device until
<tt>hald</tt> was started (upon running lshal). Also, <em>if</em> HAL was so
crucial part of the system nowadays, why is it marked as optional in Debian? My
understanding here is rather limited, but why did things work so differently
for &quot;plain&quot; USB sticks?
</p>

<p>
Oh well, immediate problem solved. Perhaps I educate myself about all this
later.
</p>]]>
	</content>
</entry>
<entry>
	<title>i3 window manager</title>
	<link href="entry-93" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=93</id>
	<published>2013-06-06T09:36:23Z</published>
	<updated>2013-06-28T10:21:22Z</updated>
	<content type="html">
<![CDATA[<p>
I'm in love with &quot;<a href="http://i3wm.org/">i3, improved tiling
wm</a>&quot;, my current window manager of choice. I can't understand how I
managed to live without it for so long.
</p>


<h3>History</h3>

<p>
When I first started using GNU/Linux back in 2000, one of the first choices I
made was picking a window manager. I tried an early version Sawmill (Sawfish),
Enlightenment, Fvwm and others. Eventually I settled with Fvwm which could be
configured to be near-perfect match for me. Even though I had come from Amiga
and Workbench, I absolutely loved focus-follows-mouse, virtual desktops and the
pager, the ability to bring windows to front and sending them background by
simply clicking the frame and so on. As time went by, I added more obscure
commands to move and resize windows and removed all but one widget from the
window frame.
</p>

<p>
<img src="pics/fg.png" alt="fg" width="160" height="128"/>
Even though I was mostly happy with Fvwm and Fvwm2, I often ended up opening
far too many terminals for tasks that were only supposed to take seconds. My
usual workflow to use several desktops and organise stuff accordinly usually
worked well because I only had one or two overlapping windows on each desktop.
With one-shot windows, however, I sometimes had to hunt for that one terminal
with Vim put in the background. Furthermore, this helped me to form a habit of
typing &quot;fg&quot; whenever there was no Vim running on that terminal.
Clearly there was something wrong.
</p>


<h3>Enlightenment</h3>

<p>
Eventually I was introduced to tiling window managers. I loved the idea and
tried a few, namely xmonad and wmii. I decided to skip awesome for naming
reasons and ion because of the author's attitude. These experiments confirmed
that I liked the concept, but could not switch because I was so fixed
with having a terminal window limited to exactly 80 columns. This was because I
believed (and still do) that no line of code should have to be wider than 80
columns or there was something wrong with it. Yes, even with 8-column
indentation. If there wasn't an option to force certain windows to certain
size, this would be a showstopper.
</p>

<p>
As time passed, I came across a Vim option (colorcolumn) to highlight given
column. Even though the option made pasting stuff over X a bit more cumbersome
(as each line would have whitespaces at the end of each line), I started using
this option. Some time later I heard about i3 and decided to give it a go on my
home computer. Configuring i3 took almost no time and with this newly
discovered Vim option, I was happy. When I realised that I could make certain
window classes to always be floating I was even happier. These always floating
windows would only be used to very temporary stuff such as showing feedback for
keyboard shortcuts that controlled command line applications.
</p>


<h3>Point of no return</h3>

<p>
After a few months of running i3 on my home computer, I</p>
<p>...</p>]]>
	</content>
</entry>
<entry>
	<title>SID of the day: Good Enough? by Stellan Andersson (Dane)</title>
	<link href="entry-92" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=92</id>
	<published>2013-04-07T20:08:18Z</published>
	<updated>2013-04-07T20:13:10Z</updated>
	<content type="html">
<![CDATA[<h3>
Good Enough? by Stellan Andersson (Dane)
</h3>

<ul>
<li>
<a href="/sotd/2013-04-07_Good_Enough.sid">Original SID</a>
</li>

<li>
<a href="/sotd/2013-04-07_Good_Enough.ogg">Ogg Vorbis</a>
(low quality)
</li>

<li>
<a href="/sotd/2013-04-07_Good_Enough.mp3">
MPEG audio, MP3</a> (even lower quality)
</li>
</ul>

<p>
Stellan Andersson (Dane) is my new hero. Seems that every time I go through new stuff on
<a href="http://www.hvsc.c64.org/">HVSC</a>, I find something new from Dane
that I love. Similarly, much of the time when I listen to my favourite SIDs,
these gems by Dane really get my attention. Enjoy.
</p>]]>
	</content>
</entry>
<entry>
	<title>ruutu-dl - Tool for downloading video from ruutu.fi and jimtv.fi</title>
	<link href="entry-91" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=91</id>
	<published>2013-04-07T16:52:10Z</published>
	<updated>2013-04-07T16:58:20Z</updated>
	<content type="html">
<![CDATA[<p>
ruutu-dl is a tool for downloading video from ruutu.fi and jimtv.fi. It's a
Ruby script that implements ugly spawn-kill loop around flvstreamer. On
author's setup, flvstreamer would stall every few megatypes and rtmpdump would
produce large and broken video file. <a href="/ruutu-dl/">Read more</a> or <a
href="/src/ruutu-dl/ruutu-dl_latest.rb">grab the latest version</a>.
</p>]]>
	</content>
</entry>
<entry>
	<title>Web stores and questionable customer care</title>
	<link href="entry-90" />
	<id>tag:wnd.katei.fi,2007:weblog/,entry=90</id>
	<published>2013-03-29T14:00:00Z</published>
	<updated>2013-03-28T23:13:53Z</updated>
	<content type="html">
<![CDATA[<p>
<a href="entry-89">Sometimes shopping online just works</a>, sometimes
it doesn't. This is a story about the latter.
</p>

<p>
Back in November when I had finally received <a href="entry-87">my
first Android device ever</a> I also tried to purchase a protective cover for
it. I turned my attention to <a href="http://www.pandawill.com/">PandaWill</a>
that was selling a neat looking case that didn't add too much bulk to my
otherwise compact device. I placed an order on 3 October and started waiting. I
liked their check out process for not forcing me to create an account. The
final step in the process confirmed my order and said that I'd receive another
confirmation in an email with full details including order and invoice numbers.
I never did.
</p>

<p>
Three weeks passed and hadn't heard anything from PandaWill. Not even that
confirmation email. I didn't think much of it as I didn't register and I
figured I had to be minority and the system was largely untested for this use
case. Still, being tiny bit worried, I opened their fancy online support,
explained the situation and was given my invoice number that I should be able
to use to track the status of my order on their website. I couldn't. Using the
feature would have required me to create an account. Them having confirmed that
my order had been received I was content for time begin. Their online
support was friendly and didn't use canned replies like some bigger companies
do.
</p>

<p>
Four week later on 25 November I emailed their support explaining the situation
again and asked what I should do next. I got a quick response telling me that
my pacakge was shipped on 19 October. I was asked to wait for another week and
promised that if I haven't received the package by then, they'd send me another
package.  They told me that it usually took about a month for a package to be
delivered.
</p>

<p>
On 20 December I reported back and told I still hadn't received the package. I
was given three options; pay extra three dollars for registered mail, have the
package resent with no guarantees or get full refund as store credit.  I
decided to pay up, bringing my total to whopping 17 US dollars. After some
hassle with PayPal I was given a tracking code to be used on Signapore Mail
website. Also, I was told to refuse the package if the original package arrived
first.
</p>

<p>
Original package was still nowhere to be seen. On 9 January my registered
package arrived. Interestingly enough the tracking service said the package had
been shipped only a week earlier, on 2 January, and not in mid or late
December.
</p>

<p>
Fast forward to 20 February. I had just come back from work and noticed a padded
envelope from China waiting for me. There was nothing on the envelope that I
could have used to recognise the sender. No logo and no sender name. The
envelope</p>
<p>...</p>]]>
	</content>
</entry>
</feed>