<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.1.2" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://www.rssboard.org/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>Diary of a geek</title>
    <link>http://blog.andrew.net.au</link>
    <description>Andrew Pollock's blog.</description>
    <language>en</language>

  <item>
    <title>[debian] Fixing some issues with changelogs.debian.net</title>
    <description>
    	&lt;p&gt;
I got an email last year pointing out a cosmetic issue with
changelogs.debian.net. I think at the time of the email, the only problem was
some bitrot in PHP&apos;s built-in server variables making some text appear
incorrectly.
&lt;/p&gt;
&lt;p&gt;
I duly added something to my TODO list to fix it, and it subsequently sat there
for like 13 months. In the ensuing time, Debian changed some stuff, and my code
started incorrectly handling a 302 as well, which actually broke it good and
proper.
&lt;/p&gt;
&lt;p&gt;
I finally got around to fixing it.
&lt;/p&gt;
&lt;p&gt;
I also fixed a problem where sometimes there can be multiple entries in the
&lt;tt&gt;Sources&lt;/tt&gt; file for a package (switching to using
&lt;tt&gt;api.ftp-master.debian.org&lt;/tt&gt; would also address this), which caused
sometimes caused an incorrect version of the changelog to be returned.
&lt;/p&gt;
&lt;p&gt;
In the resulting tinkering, I learned about &lt;a
href=&quot;http://api.ftp-master.debian.org/&quot;&gt;&lt;tt&gt;api.ftp-master.debian.org&lt;/tt&gt;&lt;/a&gt;,
which is totally awesome. I could stop maintaining and parsing a local copy of
sid&apos;s &lt;tt&gt;Sources&lt;/tt&gt; file, and just make a call to this instead.
&lt;/p&gt;
&lt;p&gt;
Finally, I added linking to CVEs, because it was a quick thing to do, and adds
value.
&lt;/p&gt;
&lt;p&gt;
In light of &lt;tt&gt;api.ftp-master.debian.org&lt;/tt&gt;, I&apos;m very tempted to rewrite the
redirector. The code is very old and hard for present-day Andrew to maintain,
and I despise PHP. I&apos;d rather write it in Python today, with some proper test
coverage. I could also potentially host it on AppEngine instead of locally,
just so I get some experience with AppEngine
&lt;/p&gt;
&lt;p&gt;
It&apos;s also been suggested that I fold the changes into the changelog hosting on
&lt;tt&gt;ftp-master.debian.org&lt;/tt&gt;. I&apos;m hesitant to do this, as it would require
changing the output from plain text to HTML, which would mess up consumers of
the plain text (like the current implementation of changelogs.debian.net)
&lt;/p&gt;
    </description>
    <link>http://blog.andrew.net.au/2015/05/17#changelogs_back_2015</link>
    <pubDate>Sun, 17 May 2015 14:42:00 </pubDate>
  </item>
  <item>
    <title>[tech] LWN Chrome extension published</title>
    <description>
    	&lt;p&gt;
I finally got around to finishing off and &lt;a
href=&quot;https://chrome.google.com/webstore/detail/lwn-helper/dokopkjfamcinchhakehipepopknnlbf&quot;&gt;publishing&lt;/a&gt;
the LWN Chrome extension that I &lt;a
href=&quot;http://blog.andrew.net.au/2015/03/07#lwn4chrome&quot;&gt;wrote a couple of months
ago&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I received one piece of feedback from someone who read my blog via Planet
Debian, but didn&apos;t appear to email me from a usable email address, so I&apos;ll
respond to the criticisms here.
&lt;/p&gt;
&lt;p&gt;
I wrote a Chrome extension because I use Google Chrome. To the best of my
knowledge, it will work with Chromium as well, but as I&apos;ve never used it, I
can&apos;t really say for sure. I&apos;ve chosen to licence the source under the Apache
Licence, and make it &lt;a
href=&quot;http://git.andrew.net.au/?p=lwn4chrome.git;a=summary&quot;&gt;freely
available&lt;/a&gt;. So the extension is available to anyone who cares to download
the source and &quot;side load&quot; it, if they don&apos;t want to use the Chrome Web Store.
&lt;/p&gt;
&lt;p&gt;
As for whether a &lt;a
href=&quot;http://userscripts-mirror.org/index.html&quot;&gt;userscript&lt;/a&gt; would have
done the job, maybe, but I have no experience with them.
&lt;/p&gt;
&lt;p&gt;
Basically, I had an itch, and I scratched it, for the browser I choose to
use, and I also chose to share it freely.
&lt;/p&gt;
    </description>
    <link>http://blog.andrew.net.au/2015/05/13#lwn4chrome_published</link>
    <pubDate>Wed, 13 May 2015 22:03:00 </pubDate>
  </item>
  <item>
    <title>[tech] Honey, I wrote my first Chrome extension!</title>
    <description>
    	&lt;p&gt;
I love reading &lt;a href=&quot;http://www.lwn.net/&quot;&gt;Linux Weekly News&lt;/a&gt;. It&apos;s a
great source of high quality Linux and FOSS journalism, and I&apos;ve been a
subscriber for years.
&lt;/p&gt;
&lt;p&gt;
One mild annoyance I have with the site is the way articles are cross-linked.
All the article URIs are in the format &lt;tt&gt;/Article/531114/&lt;/tt&gt;, which isn&apos;t
particularly descriptive about that article&apos;s content.
&lt;/p&gt;
&lt;p&gt;
When faced with an article that links to another article, with perhaps a word
of anchor text, it&apos;s hard to tell if the new article is worth opening in a tab,
is indeed already open in a tab, or has been previously read. (Yes, the
&quot;visited link&quot; colour can help to a small degree, but even then, it doesn&apos;t
tell you &lt;em&gt;which&lt;/em&gt; previously read article it is).
&lt;/p&gt;
&lt;p&gt;
This is what &lt;strike&gt;God&lt;/strike&gt; the W3C invented &lt;a
href=&quot;http://www.w3schools.com/tags/att_global_title.asp&quot;&gt;the title
attribute&lt;/a&gt; for.
&lt;/p&gt;
&lt;p&gt;
Back in April 2011, I emailed Jonathan Corbet and asked if his content
management system could just do this, but it was apparently a bit tricky, and
it got filed in the &quot;feature request&quot; bucket.
&lt;/p&gt;
&lt;p&gt;
I was sufficiently irritated by this deficiency last Monday, when doing some
heavy reading on a topic, and so I decided to take matters into my own hands,
and also learn how to write a &lt;a
href=&quot;https://developer.chrome.com/extensions&quot;&gt;Chrome Extension&lt;/a&gt; into the
bargain.
&lt;/p&gt;
&lt;p&gt;
I was delighted to have scratched the itch under 24 hours later and &lt;a
href=&quot;http://git.andrew.net.au/?p=lwn4chrome.git;a=summary&quot;&gt;developed something
that solved my particular problem&lt;/a&gt; - &lt;tt&gt;lwn4chrome&lt;/tt&gt; I&apos;m calling it.
&lt;/p&gt;
&lt;p&gt;
I&apos;m just finalising an icon for it, and then I&apos;ll have a stab at putting it in
the &lt;a href=&quot;https://chrome.google.com/webstore&quot;&gt;Chrome Web Store&lt;/a&gt; as a
freebie.
&lt;/p&gt;
&lt;p&gt;
I might even have a crack at writing a Firefox extension as well for
completeness, but I suspect the bulk of LWN&apos;s readership is using Chrome or
Chromium.
&lt;/p&gt;
    </description>
    <link>http://blog.andrew.net.au/2015/03/07#lwn4chrome</link>
    <pubDate>Sat, 07 Mar 2015 22:03:00 </pubDate>
  </item>
  <item>
    <title>[tech] A geek Dad goes to Kindergarten with a box full of Open Source and some vegetables</title>
    <description>
    	&lt;p&gt;
Zoe&apos;s Kindergarten encourages parents to come in and spend some time with the
kids. I&apos;ve heard reports of other parents coming in and doing baking with the
kids or other activities at various times throughout the year.
&lt;/p&gt;
&lt;p&gt;
Zoe and I had both wanted me to come in for something, but it had taken me
until the last few weeks of the year to get my act together and do something.
&lt;/p&gt;
&lt;p&gt;
I&apos;d thought about coming in and doing some baking, but that seemed rather done
to death already, and it&apos;s not like baking is really my thing, so I thought I&apos;d
do something technological. I just wracked my brains for something low effort
and Kindergarten-age friendly.
&lt;/p&gt;
&lt;p&gt;
The Kindergarten has a couple of &lt;a
href=&quot;http://www.eduss.com.au/school/&quot;&gt;eduss&lt;/a&gt; touch screens. They&apos;re just
some sort of large-screen with a bunch of inputs and outputs on them. I think
the Kindergarten mostly uses them for showing DVDs and hooking up a laptop and
possibly doing something interactive on them.
&lt;/p&gt;
&lt;p&gt;
As they had HDMI input, and my &lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;Raspberry
Pi&lt;/a&gt; had HDMI output, it seemed like a no-brainer to do something using the
Raspberry Pi. I also thought hooking up the &lt;a
href=&quot;http://www.makeymakey.com/&quot;&gt;MaKey MaKey&lt;/a&gt; to it would make for a more
fun experience. I just needed to actually have it all &lt;em&gt;do&lt;/em&gt; something,
and that&apos;s where I hit a bit of a creative brick wall.
&lt;/p&gt;
&lt;p&gt;
I thought I&apos;d just hack something together where based on different inputs on
the MaKey MaKey, a picture would get displayed and a sound played. Nothing
fancy at all. I really struggled to get a picture displayed full screen in a
time efficient manner. My Pi was running &lt;a
href=&quot;http://www.raspbian.org/&quot;&gt;Raspbian&lt;/a&gt;, so it was relatively simple to
configure &lt;a
href=&quot;http://www.freedesktop.org/wiki/Software/LightDM/&quot;&gt;LightDM&lt;/a&gt; to
auto-login and auto-start something. I used &lt;a
href=&quot;https://packages.debian.org/sid/triggerhappy&quot;&gt;triggerhappy&lt;/a&gt; to invoke
a shell script, which took care of playing a sound and an image.
&lt;/p&gt;
&lt;p&gt;
Playing a sound was easy. Displaying an image less so, especially if I wanted
the image loaded fast. I really wanted to avoid having to execute an image
viewer every time an input fired, because that would be just way too slow. I
thought I&apos;d found a suitable application in &lt;a
href=&quot;https://packages.debian.org/sid/geeqie&quot;&gt;Geeqie&lt;/a&gt;, because it supported
being out of band managed, but it&apos;s problem was it also responded to the inputs
from the MaKey MaKey, so it became impossible to predictably display the right
image with the right input.
&lt;/p&gt;
&lt;p&gt;
So the night before I was supposed to go to Kindergarten, I was up beating my
head against it, and decided to scrap it and go back to the drawing board. I
was looking around for a Kindergarten-friendly game that used just the arrow
keys, and I remembered the trusty old &lt;a
href=&quot;http://www.frozen-bubble.org/&quot;&gt;Frozen Bubble&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
This ended up being absolutely &lt;em&gt;perfect&lt;/em&gt;. It had enough flags to control
automatic startup, so I could kick it straight into a dumbed-down full screen 1
player game (&lt;tt&gt;--fullscreen --solo --no-time-limit&lt;/tt&gt;)
&lt;/p&gt;
&lt;p&gt;
The kids absolutely loved it. They were cycled through in groups of four and
all took turns having a little play. I brought a couple of heads of broccoli, a
zucchini and a potato with me. I started out using the two broccoli as left and
right and the zucchini to fire, but as it turns out, not all the kids were as
good with the &quot;left&quot; and &quot;right&quot; as Zoe, so I swapped one of the broccoli for a
potato and that made things a bit less ambiguous.
&lt;/p&gt;
&lt;p&gt;
The responses from the kids were varied. Quite a few clearly had their minds
blown and wanted to know how the broccoli was controlling something on the
screen. Not all of them got the hang of the game play, but a lot did. Some
picked it up after having a play and then watching other kids play and then
came back for a more successful second attempt. Some weren&apos;t even sure what a
zucchini was.
&lt;/p&gt;
&lt;p&gt;
Overall, it was a very successful activity, and I&apos;m glad I switched to Frozen
Bubble, because what I&apos;d originally had wouldn&apos;t have held up to the way the
kids were using it. There was a lot of long holding/touching of the vegetables,
which would have fired hundreds of repeat events, and just totally overwhelmed
triggerhappy. Quite a few kids wanted to pick up and hold the vegetables
instead of just touch them to send an event. As it was, the Pi struggled to
play Frozen Bubble enough as it was.
&lt;/p&gt;
&lt;p&gt;
The other lesson I learned pretty quickly was that an aluminium BBQ tray worked
a lot better as the grounding point for the MaKey MaKey than having to tether
an anti-static strap around each kid&apos;s ankle as they sat down in front of the
screen. Once I switched to the tray, I could rotate kids through the activity
much faster.
&lt;/p&gt;
&lt;p&gt;
I just wish I was a bit more creative, or there were more Kindergarten-friendly
arrow-key driven Linux applications out there, but I was happy with what I
managed to hack together with a fairly minimal amount of effort.
&lt;/p&gt;
    </description>
    <link>http://blog.andrew.net.au/2014/12/08#geek_dad_kindergarten</link>
    <pubDate>Mon, 08 Dec 2014 22:03:00 </pubDate>
  </item>
  <item>
    <title>[opinion] On Islamaphobia</title>
    <description>
    	&lt;p&gt;
It&apos;s taken me a while to get sufficiently riled up about Australia&apos;s current
Islamaphobia outbreak, but it&apos;s been brewing in me for a couple of weeks.
&lt;/p&gt;
&lt;p&gt;
For the record, I&apos;m an Atheist, but I&apos;ll defend your right to practise your
religion, just don&apos;t go pushing it on me, thank you very much. I&apos;m also not a
huge fan of Islam, because it does seem to lend itself to more violent
extremism than other religions, and ISIS/ISIL/IS (whatever you want to call
them) aren&apos;t doing Islam any favours at the moment. I&apos;m against extremism of
any stripes though. The Westboro Baptists are Christian extremists. They just
don&apos;t go around killing people. I&apos;m &lt;em&gt;also&lt;/em&gt; not a big fan of the &lt;a
href=&quot;http://www.abc.net.au/news/2014-09-23/why-do-muslim-women-wear-a-burka-niqab-or-hijab/5761510&quot;&gt;burqa&lt;/a&gt;,
but again, I&apos;ll defend a Muslim woman&apos;s right to choose to wear one. They key
point here is &lt;em&gt;choice&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
I got my carpets cleaned yesterday by an ethnic couple. I like accents, and I
was trying to pick theirs. I thought they may have been Turkish. It turned out
they were Kurdish. Whenever I hear &quot;Kurd&quot; I habitually stick &quot;Bosnian&quot; in front
of it after the Bosnian War that happened in my childhood. Turns out I wasn&apos;t
listening properly, and that was actually &quot;Serb&quot;. Now I feel dumb, but I
digress.
&lt;/p&gt;
&lt;p&gt;
I got chatting with the lady while her husband did the work. I got a refresher
on where most Kurds are/were (Northern Iraq) and we talked about &lt;a
href=&quot;http://en.wikipedia.org/wiki/Shia%E2%80%93Sunni_relations&quot;&gt;Sunni versus
Shia&lt;/a&gt; Islam, and how they differed. I learned a bit yesterday, and I&apos;ll have
to have a proper read of the Wikipedia article I just linked to, because I
suspect I&apos;ll learn a lot more.
&lt;/p&gt;
&lt;p&gt;
We briefly talked about burqas, and she said that because they were Sunni, they
were given the choice, and they chose not to wear it. That&apos;s the sort of Islam
that I support. I suspect a lot of the women running around in burqas don&apos;t get
a lot of say in it, but I don&apos;t think banning it outright is the right
solution to that. &lt;a
href=&quot;http://pjf.id.au/ethics/2014/10/03/why-ban-the-burqa-doesnt-hold.html&quot;&gt;Those
women need to feel empowered enough to be able to cast off their burqas if
that&apos;s what they want to do.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I completely agree that a woman in a burqa entering a secure place (for
example Parliament House) needs to be identifiable (assuming that
identification is verified for all entrants to Parliament House). If it&apos;s
not, and they&apos;re worried about security, that&apos;s what the metal detectors are
for. I&apos;ve been to Dubai. I&apos;ve seen how they handle women in burqas at
passport control. This is an easily solvable problem. You don&apos;t have to
treat burqa-clad women as second class citizens and stick them in a glass
box. Or exclude them entirely.
&lt;/p&gt;
    </description>
    <link>http://blog.andrew.net.au/2014/10/02#islamaphobia_2014</link>
    <pubDate>Thu, 02 Oct 2014 16:45:00 </pubDate>
  </item>
  </channel>
</rss>
