Thoughts of a geek

14 May 2012

Community (The Blog Roll topic 1)

Some friends and I somehow ended up agreeing to try blogging about a series of topics together. For some reason this initiative is called “The Blog Roll”. The first topic is “community”. Perhaps there will be more. So far Melanie, Frith and Polly have blogged on the topic; Daniel and Valerie may also do so at some point. Perhaps other people will decide to join in as well.

So. Community. What can I say about it? I think it is important. It is a fairly vague word that can be used with a variety of different meanings. And it keeps coming up.

I am not very good at contemplating on demand.

Well! Another week has passed. I will try to at least flesh out something from my notes.

One form of community is a group of people who happen to be in the same place regularly. When this happens they tend to at least recognise each other’s faces, and sometimes friendships and deeper community develop. One factor in how much this happens is how big the group is; as groups get bigger there is less opportunity to talk to each individual person for an extended period of time — assuming the time spent together remains constant and that it is split evenly between the people present then the amount of time per person is inversely proportional to the number of people in the group. How much the people in the group have in common also tends to have a significant effect, be it age, situation, common interests or whatever else. What the people are doing and how much opportunity it allows to talk to others and get to know them is also a big factor. I find that walking often works quite well for this, as it tends to break a larger group up into smaller groups of 2–4, while also allowing people to move around between these smaller groups. Situations like working in an office, where everyone is busy at their own desk most of the time, are less conducive.

On the other hand, I found Memphis (the graduate computer science lab at VUW) to be a stronger community, even though on the face of it it seems like a rather similar situation to such an office environment: a bunch of people sitting in front of computers doing their own thing. I think there were a number of reasons for this. One was the presence of (comfortable, old and somewhat dodgy) couches, where people could hang out and chat. While this could sometimes be distracting for those working, it also led to lots of interesting conversations about all sorts of topics, and encouraged an environment where people could ask others for help. Shared music (through the oft-rewritten Memphis stereo system) also contributed significantly, I think. Sharing other people’s choice in music provides a connection in itself I think, it provides some feeling in common. And speaking of the stereo, projects like writing the stereo software and that for Fridge also provided opportunities to work together with other people on interesting and open-ended projects outside of coursework, which also served to build relationships and community. Memphis also organised a number of social and sports events outside of the lab, and built a shared culture through things like the Memphis painting hack, t-shirts and badges. It is a pity that it all died so quickly once the lab was closed and things were restructured for the new engineering degree, but that is often the way in the university environment, with a fresh new group of students coming through each year not knowing much about what has gone before.

Another form of community is when people join particular groups. I distinguish this from the first form because the first is mostly people who just happen to be through together by work, study or something else, while this second form is more a matter of choice, perhaps specifically for the purpose of meeting other people. There is certainly some overlap though. The group may be one that meets together physically, as clubs tend to, or it may be online or through some other mechanism. The #wellingtonlunchchat IRC channel is an example of the latter — a group of people who used to work or study together, who now have mostly moved on to other places, across a number of countries, but still keep in touch on a daily basis in many cases, if in a fairly low-key way. The channel originally started as a way to organise meeting for lunch with those working in other offices in Wellington, but always ended up being more about general procrastination, techy news and asking for help and advice with programming issues.

Examples which come to mind of such groups which did meet together in real life were the two main clubs I was part of at university: Interface and VUWCU. I am still in touch with many people whom I met through both; in fact I think they make up the majority of my friends from Wellington. This suggests that they did something right.

A third form I will categorise is wider communities, where one is a part without knowing the majority of the other people in the community, yet shares some common bond. This is a looser sort of community, yet can be quite cool sometimes, when one can feel like part of something bigger. Perhaps this is important. The common bond of such a community could be some major part of life like religious belief (say the wider Christian community), common interests (people sometimes talk about the geek community as such an entity) or just a common hobby (swing dancing, or Lindy Hop in particular!).

A couple of examples of such connections with a wider community which I thought were cool come to mind. The first was when a friend and I were travelling around Scandinavia and spent a night in Oslo, where we stayed with a group of Christian students in their flat near one of the universities. We did not know any of them personally, but my friend had a connection with one of the people in the flat through some mutual friend through IFES, and they were happy to have us to stay when we visited. Even better, it just so happened that the night we were staying was their weekly community night and so we got to eat dinner together with them all and the two adjacent flats, learn a new card game, and then we all sung a few hymns together in Norwegian. Despite being in a foreign country and not speaking the language, we had something in common. And interestingly I found it easier to pronounce Norwegian words when trying to sing along with a bunch of other people.

The second example was just through swing dancing, Lindy Hop in particular. It is quite cool to be able to go along to a dance anywhere in the world and find people who know the same steps and enjoy the same music, and just be able to dance with people with whom you might not have much else in common. I was in Toronto earlier this year, as I had a week in Kitchener-Waterloo for work and so flew into Toronto and spent the preceeding weekend staying there with a friend. It just so happened that the weekend I was in town was the weekend of the Toronto Swing Dance Exchange, so I dragged my friend along and we went to the Saturday night of it. It was the first time I had done any swing dancing outside of London, so I found it particularly cool just to be able to show up, in a new country, and dance with a whole bunch of people I had not met before, and perhaps never will again. A bigger community!

I was thinking about writing about online community as a fourth form, but I think it is already covered by the other forms: either particular groups like #wellingtonlunchchat, or wider communities like Reddit. Perhaps blogging comes in somewhere here too? Can the ‘blogosphere’ be considered a community, or is it too loose and disconnected?

Community flats probably bear a mention, though I have had mixed experiences there. I have only been in one flat that was explicitly a ‘community flat’ (it even had a blog), but I think I found more community (Can community be compared like that? Closer relationships, perhaps?) in the flat I lived in after that, although it was not particularly organised as a community flat per se. We just happened to get on pretty well, chatting and eating together quite a bit without it being an explicit aim. We still had our conflicts, of course, but on the whole it was pretty good. Perhaps trying to force community is a bad idea? Or perhaps it was just that everyone was really busy and stressed for other reasons, and there were a number of personality conflicts.

On the other hand, there are certainly things that can be done to encourage community. I think the physical layout of a house can make a big difference. Being on a single level, with rooms arranged around a central living room or kitchen can be helpful as people in their bedrooms can hear what is going on and join in. Just having a nice comfortable living room where people want to hang out by default makes a big difference, and having enough room for everyone. That can perhaps be tricky in somewhere like London where space at a premium, and long narrow terraced houses are common. Perhaps some architects out there would like to look at designing houses to encourage communal living in big cities while being space-efficient?

I was thinking of writing more comparing London and Wellington, but I am not too sure what to say, and this post is getting too long as it is, so I think I will just post it (at last). Perhaps that will be a topic for another time, or perhaps not. Hmm, there might be something more to write about music here too, and how it ties people together. But enough for now. In the mean time, what are your thoughts? Comments? Any questions?

18 February 2010

Your fare is Mifare

Filed under: Computers, University — Tags: , , , , , — qwandor @ 9:22 pm

Or rather, your student ID.

I recently bought a Snapper Feeder to have a play with, as I had heard that they were supported by libnfc under all the major operating systems and could talk to a variety of contactless smartcards. I tried any cards I could get my hands on, and other than the Snapper card itself I found that our building access cards were not compatible (using a different frequency, perhaps?) but the Vic student ID cards were recognised. Furthermore, it turns out that these ID cards are MIFARE Classic 4k cards.

Now, this is interesting because encryption scheme used by the Mifare Classic was broken and research published explaining the vulnerabilities as early as 2007, and this is even acknowledged by the manufacturer. Anyway, being the curious sort I am, I went about trying to see what I could see about the Vic student ID cards. I have not yet been able to replicate the card-only crack to recover the keys, but I have had a bit of a look at how the cards are formatted.

Firstly, a bit of background. The Mifare Classic 4k has 40 sectors, each of which has 2 48-bit encryption keys (called A and B) and 12 configuration bits which control which of the keys allow read and write access to the sector’s data and configuration. Each sector is broken down into a number of 16 byte blocks. The first 32 sectors have 4 such blocks (64 bytes total), while the last 8 sectors each have 16 blocks (256 bytes per sector). The last block of each sector is called the sector trailer and contains the encryption keys and configuration bits previously mentioned. Note that the configuration and keys for each sector is independent of all the other sectors. Reading from and writing to the card is done on a block by block basis. Accessing a block is a two step process. First you must authenticate to the sector with either the A or the B key, then you can read or write one of the blocks in that sector.

With this in mind, here is what I have found so far about Vic’s student ID cards. I used the micmd tool, which provides a fairly simple interface to access Mifare Classic cards using libnfc, and a few other bits and pieces. Authentication to all sectors except sector 15 worked using FFFFFFFFFFFF (a common default key) as either key A or key B. However, despite the successful authentication, I was only able to read the blocks of sector 0. (Admittedly I did not try all of the other sectors, but all that I did try failed to read.) This may indicate that these sectors are configured to not to be accessible by either key, as a way of permanently disabling them, or it may be a problem with my reader. The reason I suspect my reader is that it would often lock up after certain operations, not responding at all until I unplugged it and plugged it back in again. I am not sure what is causing this; if anyone has any ideas do say.

Sector 15 appears to be using a proper key, and is probably where the real data of the card is stored.

Sector 0, the one sector I did manage to successfully read, does not appear to hold much of interest. On one card, with a UID of D4 EE 01 6E, the four blocks were

0: D4EE016E55980200648E565165603905
1: 800F0000000000000000000000000000
2: 00000000000000000000000000001248
3: 000000000000787788C1000000000000

Block 0 of sector 0 apparently holds read-only data set by the manufacturer, so is not that exciting. It appears that the first 4 bytes are the UID of the card. The 5th byte also seems to vary between cards (on the 3 cards I tried the values were 0x55, 0x5F and 0x61). The remaining 11 bytes of block 0 were the same on all 3 cards I tried. Blocks 1, 2 and 3 (the trailer block) were also the same on all 3 cards, which suggests that they are unlikely to be interesting.

I did attempt to use the nested authentication attach (I believe) as implemented by mfoc and MFCUK to recover the keys for sector 15, but for some reason both implementations failed, possibly due to the reader ceasing to respond part-way through as mentioned above. Any suggestions on how to get past this are welcomed.

Does anyone have any other interesting smartcards?

16 May 2008

Truth, faith, science and religion

I came across an interesting blog article recently, entitled Internet Arguments and the Search For Truth. It discusses the meaning of ‘faith’, and its relation to religion and science. The author has some interesting things to say about ideologues and debate, and I recommend reading it.

Whether science and religion can co-exist seems to be a common topic of disagreement and confusion, especially the divide manufactured between ‘Creationism’ and ‘Evolution’. Certainly it was a common theme to the questions people had to ask last year when the VUW Christian Union ran our Ask God in the Quad event here at Vic, and it has come up again this year.

Unfortunately some Christians have quite strong and loud beliefs along the lines of ‘God created the Earth in 6 (24 hour) days a few thousand years ago, this is the only possible way of interpreting the bible, and Evolution is an evil plot by Science to destroy people’s faith in God’. For their own part, their opponents often have equally fundamentalist views that Evolution conclusively disproves all religion, without even understanding very well what Evolution means.

I see no contradiction between science and Christianity. I am no biologist, and I cannot claim to have a terribly clear knowledge of exactly which of the claims grouped under the popular heading of ‘Evolution’ are generally accepted by the scientific community from what evidence. The closest I have come to studying evolution is the use of evolutionary computation techniques in AI (genetic algorithms, genetic programming, etc.), where they are a useful technique for optimisation and machine learning. My understanding is that there is a clear case from fossil records that there has been change with species throughout history, and a fairly clear case for speciation and common descent (at least to some extent), but there is no scientific consensus on how life came to exist in the first place. There seem to be a range of models for and hypotheses on abiogenesis, but no substantial evidence.

There are in fact quite a range of views within Christianity on the origins of life, based on different interpretations of the creation account given in Genesis. gives one useful comparison of some of the views, from the perspective of a proponent of Old-Earth Creationism. TalkOrigins has a much shorter summary of some interpretations.

Christians have been thinking about these issues for quite a long time: Augustine of Hippo (a Christian theologian and philosopher who lived from 354 AD to 430 AD) had some interesting attitudes towards the interpretation of the Genesis account (as well as open-mindedness in general). He makes the excellent point:

In matters that are so obscure and far beyond our vision, we find in Holy Scripture passages which can be interpreted in very different ways without prejudice to the faith we have received. In such cases, we should not rush in headlong and so firmly take our stand on one side that, if further progress in the search for truth justly undermines this position, we too fall with it.

Davis A. Young has written a good article about Augustine’s views that I recommend reading, both for non-Christians and Christians.

13 May 2008

Essay writing as graph traversal

Filed under: Maths, University — Tags: , , — qwandor @ 2:17 pm

As one of the assignments for COMP425 (Computational Logic) we have to write an essay about ‘logic and computation’. We were discussing this in class yesterday, and it was suggested that essay writing is essentially graph traversal (or perhaps flattening). I wonder how true this is.

21 April 2008

History Meme

Filed under: Computers, Me, University — Tags: , , — qwandor @ 10:20 pm

Following Patrick’s example:


andrew@rise:~$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
105 java
56 cd
51 mixerctl
39 git-branch
26 git-status
25 ls
19 ssh
15 git-checkout
13 xmms2
11 gitk

I am rather surprised that I have run git-branch more than git-status. I guess I tend to run it quite a few times in a row to see branches, create a new one and then check them again.

At home:

andrew@rata:~$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
114 sudo
49 ssh
31 less
30 clothes
28 kontact
27 cd
21 ls
19 ./ical2sqlite
13 ifconfig
13 aptitude

On my laptop:

andrew@rimu:~$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head
83 ssh
74 sudo
39 ifconfig
31 xrandr
30 ls
25 sync_rata
25 cd
23 ping
15 iwconfig
15 grep

26 March 2008


Filed under: Links, Me, University — Tags: , — qwandor @ 8:05 pm

I now post on a couple of other blogs that readers of this one may also want to read:

  • The blog for my flat, Kelp. All of us in the flat will be posting on this from time to time.
  • I have started a blog for my Honours project, where I will be keeping a regular journal of my research. This is probably of less interest to the general public, unless you find optimising compilers exciting.

28 July 2007

ICFP programming contest

Filed under: Computers, Interface, University — qwandor @ 12:18 pm

Last weekend I competed with a team of VUW students in the ICFP programming contest. This is an annual, international contest lasting 72 hours. It is run by a different university each year, so the format tends to vary from year to year. There are no restrictions on team size, programming languages or computing resources.

Our team (called ‘interfacers’, for want of a better name) consisted in the end (after several people did not end up participating for various reasons, and one person who happened to be in the lab joined us) of Andrew Childs (hereafter referred to as lorne), Timothy Goddard, Clinton Scott, Samuel Hegarty, Michael Welsh (yomcat) and me.

This year, it ran from 10:00 pm on Friday 20th July until 10:00 pm on Monday 23th July. The story behind this year’s task was that an alien (of the Funn species) named Endo had been dumped on Earth by an Interstellar Garbage Collector and then hit by a cargo container. Endo was unconscious, and could not survive on Earth in his then-current form. Therefore our help was urgently needed to provide the necessary modifications to his DNA to adapt him to Earth’s environment. Our proposed modifications were to be evaluated by his spaceship Arrow and the proposal most likely to ensure Endo’s survival would be performed by Arrow.

We were given a copy of Endo’s DNA (a 7.2 MiB string of the letters I, C, F and P), and a specification of how Funn DNA works. The DNA works by repeatedly modifying itself through a long series of matching and replacing according to certain rules (which we were given) until it is all consumed, and in the process producing RNA. We were also provided with a specification of how to transform the RNA into a 600×600 px image. We were given a source image (which is produced by running Endo’s DNA as provided), and a target image (which we were to attempt to reproduce by constructing a prefix to be prepended to Endo’s DNA):
Source image Target image

1 July 2007

TSCF conference 2007

Filed under: Christianity, University — qwandor @ 10:23 pm

This week I went to the annual TSCF (Tertiary Students’ Christian Fellowship) conference, this year in Waikanae. It was a great week, with about 100 students from universities around New Zealand attending. Andrew Lim (the pastor of Christ Sanctuary in Palmerston North) spoke in the mornings about I Thessalonians, and Dave Wells (from BCNZ) in the evenings about ‘True Witness’. There were also 5 streams of 3 seminars, though I was a bit disappointed with the stream I chose.

One thing that particularly stood out was the need to live a whole life for God. It is too easy for me to think of worship as something done at church (the Christian habit of calling singing at church ‘worship’ does not help this), rather than an attitude to apply to my whole life. Work (in which I would include study) is God-given. As such, I need to remember to do it as for God, to show an example to others and bring glory to God. Colossians 3:23 says ‘whatever you do, work heartily, as for the Lord, and not for men’. I have read this before, but I still do not really apply it; I still tend to keep God and the rest of my life separate.


23 May 2007

Microsoft remote control car

Filed under: Electronics, Humourous, Interface, University — qwandor @ 10:48 am

Last week, one of VUW’s resident Microsofties (a ‘Microsoft student partner’) spoke at Interface‘s weekly meeting. At the end of the presentation, he gave away a few freebies. I got a rather cool (apart from the Microsoft branding) mini remote-control car. Ironically, when I got home, put batteries into it and tried it, it did not work — the steering worked fine, but it would not go forwards or backwards.

Fortunately, unlike Microsoft’s software products, it did not have a restrictive license agreement to prevent me from fixing it, so I took it apart and got it working.

1 May 2007

Interface key-signing party

Filed under: Computers, Interface, University — qwandor @ 9:34 pm

Interface are running an OpenPGP key-signing party tomorrow (Wednesday 2-5-2007) night, from 6:30 pm. If you want to participate, read follow the instructions on this page before 4:00 pm tomorrow.

Older Posts »

Blog at