So, southern Ontario is still blanketed with a delightful heat wave and my oven-er, apartment, is keeping me very warm: no freezing like in New Zealand. However, not being a croissant, I've been spending a lot of time out of it. Being a student, I have one of the best work places there is, a University campus. There's a thriving ecosystem to observe for entertainment, and excessive air conditioning in all the buildings. Wear shorts outside, and bring a jacket inside. It works.
However, on weekends, the buildings close early. I haven't been very social in Guelph, and am working on rectifying that finally, but for now, to get out of the apartment on a hot Sunday night, I have been adventuring, and have laid claim to a veritable Eldorado: the Second Cup. It's classy, it's Canadian (or isn't), and it's open until 11PM. Hoo-zah!
2011-07-24
Smooth Linux
I'm very happy with how quickly and easily I managed to setup my old laptop to a clean version of Fedora 15 for my trip to the Desktop Summit in Berlin next month. Yay!
Directories kept opening with my Media Player :(
Since upgrading to GNOME 3 with Fedora 15, whenever I tried to open a folder or insert a USB key, Totem, my media player, would try to open it. This had been quite annoying. I tried to go to System Settings -> System Info to change the Default Application for folders, but the option wasn't available.
I thought there might be a GSetting for it, so I tried to modify the key 'autorun-x-content-start-app' for the schema 'org.gnome.desktop.media-handling', but to no avail. Then, I tried looking for .desktop files, and found a stash in ~/.local/share/applications/. I greped for 'totem' and found a relevant reference in 'mimeapps.list'. Therein, I found a line:
Anyway, I removed the line, and now all is well, and nautilus opens directories again. Glee.
Relevant bug: https://bugzilla.redhat.com/show_bug.cgi?id=725257
I thought there might be a GSetting for it, so I tried to modify the key 'autorun-x-content-start-app' for the schema 'org.gnome.desktop.media-handling', but to no avail. Then, I tried looking for .desktop files, and found a stash in ~/.local/share/applications/. I greped for 'totem' and found a relevant reference in 'mimeapps.list'. Therein, I found a line:
inode/directory=gnome-nautilus-folder-handler.desktop;phatch.desktop;f-spot-import.desktop;totem.desktop;gthumb-importer.desktop;gthumb.desktop;Given that yum says nothing provides the first .deskop in the list, and that I don't have the next two installed, it made sense that totem was being called. I wonder where gnome-nautilus-folder-handler.desktop came from?
Anyway, I removed the line, and now all is well, and nautilus opens directories again. Glee.
Relevant bug: https://bugzilla.redhat.com/show_bug.cgi?id=725257
2011-07-23
GXml: test port of libgdata and documentation
This week has proven interminably long. Work has surrounded two main tasks
- libgdata port: I'm porting libgdata as a test. The patch is almost complete, but not quite. It replaces almost all the libxml2 usage and compiles. It's volatility means that I'm linking a diff patch rather than pushing it to a repo, as up until Thursday, I was still figuring out how to handle specific cases, or changing my mind on how I was already handling them.
- memory: I don't have a great understanding of how to handle memory for APIs that were generated through Vala, and I need to review that. I've learned a lot, but some of the Vala documentation is kind of out-dated, like that on transferring ownership. Perhaps when GSoC is done I can use what I've learned and update the documentation :D
- namespace support: It isn't part of DOM Level 1 Core that we're implementing, but libgdata uses namespaces, so right now those sections are commented out or ignored. I will try to implement something in this next week.
- verbosity: While some things are smaller/more concise using GXml, other stuff is more verbose, because libxml2 already has a compact naming "convention". After writing "gxml_dom_..." a hundred times, I'm considering removing the "_dom_" namespace section, so GXml.Element.get_attribute () will be gxml_element_get_attribute () rather than gxml_dom_element_get_attribute (). The Dom namespace is there to help separate future work from SAX and XPath, but enough of its classes will be used in other namespaces to justify omitting Dom to me.
- porting guide: I have a text file that outlines common mappings for things, like "how to get a property in GXml" and compares against libxml2. I'm going to move it onto live.gnome.org when I have time to format it.
- documentation: with a little bit of help, and a new conceptual understanding of what valadoc's options do, I can now generate documentation. Each class and method has something written about it now, though some of it is vague, some is inaccurate (!), and some of it could do with examples. I'll note that I'm annoyed that it complains when I use a double-space after a period.
- sed: it is my friend. After hand-porting lots of code for libgdata, I eventually got comfortable enough with the process to start automating it by creating a bunch of sed rules. That sped things up greatly this past week, though it still left me to manually review and fix the things it missed, which sometimes took extra time because it became hard to see what was originally intended. Hehe.
- Desktop Summit:
- Hooray!
While I'm only a GSoC student, living in Canada, I wouldn't have been able to afford this myself, so I am incredibly grateful to the GNOME Foundation, since I am
I'll actually be in Germany for about 3 weeks, as my parents are both from Germany and I have many relatives there, and have never been before. - I am going to sleep now. Tomorrow is a big, terrifying day.
2011-07-22
[Linux] Keeps falling back to sleep
So, since upgrading my laptop from Fedora Linux 14 to Fedora Linux 15, and
consequently from GNOME 2.3x to GNOME 3.0, I've had an issue where if I suspend my computer, about a quarter of the time when I resume it, it thinks there is no battery (or that there's an empty battery) and then instantly goes to hibernate.
It's bug 704110. There is a battery with sufficient charge there. Besides the problem of mistakenly thinking I don't have a battery with enough energy, it's compacted because GNOME 3.0 assumes your laptop won't be wrong, so when the laptop tells GNOME its battery is critically low, GNOME 3.0 only gives me the options of instantly hibernating it (suspend to disk) or shutting down. So, I wake it up, I see a message "No battery!" and then I watch it go back to a hard sleep.
I think previous versions of GNOME were less optimistic about the computer underneath, and gave options such as "do nothing when my battery has no power" or at least "ask me". So, just because gnome-control-panel doesn't let me choose those two passive options, doesn't mean they're not supported anymore.
Using the gsettings tool, I can manipulate hidden settings from the command-line, and in this case, I can set it to 'interactive' (ask me) or 'nothing' (ignore critical battery states) using the following command:
$ gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'interactive'
I hope that helps someone else until the bug is fixed.
consequently from GNOME 2.3x to GNOME 3.0, I've had an issue where if I suspend my computer, about a quarter of the time when I resume it, it thinks there is no battery (or that there's an empty battery) and then instantly goes to hibernate.
It's bug 704110. There is a battery with sufficient charge there. Besides the problem of mistakenly thinking I don't have a battery with enough energy, it's compacted because GNOME 3.0 assumes your laptop won't be wrong, so when the laptop tells GNOME its battery is critically low, GNOME 3.0 only gives me the options of instantly hibernating it (suspend to disk) or shutting down. So, I wake it up, I see a message "No battery!" and then I watch it go back to a hard sleep.
I think previous versions of GNOME were less optimistic about the computer underneath, and gave options such as "do nothing when my battery has no power" or at least "ask me". So, just because gnome-control-panel doesn't let me choose those two passive options, doesn't mean they're not supported anymore.
Using the gsettings tool, I can manipulate hidden settings from the command-line, and in this case, I can set it to 'interactive' (ask me) or 'nothing' (ignore critical battery states) using the following command:
$ gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'interactive'
I hope that helps someone else until the bug is fixed.
2011-07-21
undefined reference
/tmp/ccis3CaX.o: In function `_lambda42_':It's obtuse problems like the one giving me the above error that makes me think I must be incompetent. I understand what the compiler is complaining about, but I'm not sure why it's seeing what it is seeing. From the Vala perspective, Element extends BackedNode, where a few methods are defined. ElementTest exercises these methods, but for some reason, a method in BackedNode, to_string, ends up as 'undefined' when compiling the C code. If I check the C code for BackedNode, gxml_dom_backed_node_to_string is defined, and I don't know why it wouldn't get into the .so that ElementTest links against. I mean, the symbol name is present in the .so, and other methods that are coded similarly to to_string are there and considered defined. I've tried rewriting the function, using an almost-empty function, changing the function name, etc. This has caused me to waste too much time today and is giving me a major headache, and it's something so trivial. Sigh.
ElementTest.vala.c:(.text+0x39b0): undefined reference to `gxml_dom_backed_node_to_string'
collect2: ld returned 1 exit status
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)
update: Yup, I'm an idiot. A change to where I was storing the built .so resulted in me persistently linking to an older one for the last couple of days. I hadn't noticed, as I've been mostly working on documentation and porting another library to use mine, and hadn't added any new symbols. Going by hand, and using gcc and pkg-config directly, helped me figure this out, as well as writing the above.
git: failing to push
I am stupid, and cloned a GNOME git repository I had intended on writing to from git://git.gnome.org/gxml. Last week on a Planet GNOME update, I proudly declared my intent on pushing things more regularly. However, each time I tried, I'd get this loathsome message:
[richard@clarity gxml]$ git push fatal: The remote end hung up unexpectedly
Today, for purity, I even made a regular diff of my files, re-cloned the repository, re-committed all my changes, to no avail. After yet more Googling, though, at last I understood: http://live.gnome.org/TranslationProject/GitHowTo#Convert_an_anonymous_clone_into_an_eponymous_one
I was stupid when I blindly cloned it anonymously, but believed for the last week I'd done it correctly. http://live.gnome.org/Git/Developers clearly distinguishes between anonymous access and developer access, too.
Ultimately, I should have done:
git clone ssh://[login]@]git.gnome.org/git/[project]
But instead I did
git clone git://git.gnome.org/[project]
This was easily fixed by running
git config remote.origin.url ssh://[login]@git.gnome.org/git/[project]
Documentation is now up, so back to libgdata!
2011-07-16
GXml, fewer features, more stuff
A summary in bullet points for busy days!
- git.gnome.org: GXml's development is now hosted on git.gnome.org under gxml.
- libxml2: Patching libxml2's VAPI file. This is hand written rather than generated normally, so I've been adding bindings for functionality I want exposed for gxml. I should clean it up and post the patch to bugzilla soon, to make sure that I'm making changes appropriately :)
- I/O: Thanks to the above VAPI work, we now have Stream and File support for I/O operations. For future I/O work, I might add asynchronous support.
- configuration: Spent time figuring out pkg-config and how to generate a .pc file for GXml. Turns out I just had to hand-write it. Struggled with passing variables from WAF unless I started guessing. Hooray!
- documentation: The amount of todos and personal notes in the source code have grown enough and most code is there, such that I started to prioritise documenting stuff this week. I want to use valadoc, but honestly, I haven't been able to correctly generate the documentation using it yet. I'm going to start asking for help next week :) This has had the added bonus of revealing deviations from the spec, which have been being fixed.
- porting libgdata: I'm grateful for all the projects that volunteered their code. Based on scope of usage, and a bit of nepotism, I'm writing patches for libgdata, a GNOME library primarily used to communicate with Google services. I contributed to libgdata over a few months in 2009, working on PicasaWeb support, and I still use the library myself. I asked Philip Withnall if I could just make a branch in the official repository for it, and he said sure. I spent time this week figuring out how to include libraries compiled from Vala directly into C code (hence the pkg-config work) and have been reviewing its libxml2 usage and playing with changes to figure out what I need to do. There are features they use that we don't support yet since they're not strictly part of the spec, like getting a string representation of an XML node structure. I'm starting to realise that I should provide porting guidance once I'm done with this for other interested projects.
- intimidation and quality control: To be honest, having work hosted at gnome.org is pretty intimidating. It took me a little while at first to get comfortable with committing imperfect changes frequently to my gitorious repository, but my good mentor Alberto Ruiz encouraged me to, to at least demonstrate progress as it was made. However, previous efforts to submit patches to GNOME projects have generally gone through careful review and revision before being committed, so I've been reluctant this week to commit and push changes like documentation and libgdata toying until I was happy with it. This won't work, though, as the week is over and because the documentation work still doesn't generate correctly and because I'm not sure whether libgdata changes I'm toying with are what I'll want to keep, code hasn't been pushed for a few days. I do care about the quality of GNOME's code, and once GXml is sufficiently mature, I'll be much more conservative with the changes I push, but for now for the sake of transparency, I'm going to have to push things even when unready. Sorry!
- GSoC midterm evaluations: Despite having personal issues this past month and losing productivity for a couple weeks, I've passed my midterm evaluation, indicating support and confidence from my mentor, for which I'm glad. While life still isn't smooth yet, it is great to be trusted and allowed to continue this awesome project. Hooray!
2011-07-09
GXml 0.0.1 and Interruptions
GXml (formerly GDom) development was sidetracked for almost two weeks due to personal matters that required my attention and energy, but after discussions with my mentor, things are progressing again.
Since the last blog update, a lot has happened, some of which was reported on gnome-soc-list, and some of which in the last week.
Update:
I linked the wrong tarball. It's the same contents, but the tarball should be gxml, not gdom, and be generated by distcheck, not by hand. The link has been updated.
Since the last blog update, a lot has happened, some of which was reported on gnome-soc-list, and some of which in the last week.
- GXml: We decided to rebrand our effort as GXml, though we're still just implementing the DOM Level 1 Core API. In the future, GObject SAX and XPath may be provided.
- I/O: We can read files from GInputStreams (given a patch for libxml2's bindings). We can also save documents to paths, but not yet GOutputStreams, which will require more enhancements to the libxml2 Vala bindings. (Patches to come.)
- website: https://live.gnome.org/XML was updated, but is now out of date again. I will update it again this weekend including scheduling information for the rest of the summer.
- bugzilla: we have a 'gxml' bugzilla product now, which I've started to use to manage features to come. I still need to enter more.
- building: we now use WAF as our build system. This proved trickier than I expected, but I like how clean the result is.
- extended coverage: more classes work more fully now, including CharacterData, Text, NodeList, and a few others, and come with fun tests. Some classes in the API do not seem to have counterparts to wrap in libxml2 (like ProcessingInstruction and EntityReference) and we might have to forego supporting them.
- first release: while the source code has been available in a gitorious repo since the beginning, I have wrapped up a tarball and uploaded it to my server for today: http://kosmokaryote.org/files/gxml/gxml-0.0.1.tar.bz2. I've done this entirely so we can migrate to git.gnome.org, which wants at least one release for a new project. I don't really recommend using it until libxml2 binding patches are available, though, so GIO can be used rather than file system paths.
- project port: my request for volunteer projects from yesterday got a good response and I'm going to look at them this weekend and then decide by Monday which I'd like to use. Thank you for your helpful responses!
- libxml2 bindings: I'll need to submit patches for the libxml2 bindings so GXml can implement some of the features we want. For example, I've been intent on using xmlSaveToIO to get an xmlSaveCtxtPtr, since it aligns well with GOutputStream's methods, but those two libxml2 items aren't bound yet.
Update:
I linked the wrong tarball. It's the same contents, but the tarball should be gxml, not gdom, and be generated by distcheck, not by hand. The link has been updated.
2011-07-07
Wanted: software to port to GXml
Hello GNOMEys.
GXml is pretty functional now, and it's time to start exercising it in a real-world situation. I'm looking for a GNOMEy project which makes liberal use of an XML DOM via libxml2, and might be interested in seeing how GXml's GObject API could make life easier.
If you'd like to suggest your project, you're not under an obligation to accept the resulting patches if they don't meet your needs (though they will be irresistable), you don't need to do much work (though I might ask a few questions), you help ensure the usefulness of this Google Summer of Code project and help improve XML programming in GNOME.
Preferably, your project will be mainly in Vala or C. GXml itself is being written in Vala. XML use should be important to your project.
A first release, 0.0.1, will be out this week. I had a Life Situation slow progress for two of the past weeks, but things are sailing smooth once more. A status update comes tomorrow.
Cheerio!
GXml is pretty functional now, and it's time to start exercising it in a real-world situation. I'm looking for a GNOMEy project which makes liberal use of an XML DOM via libxml2, and might be interested in seeing how GXml's GObject API could make life easier.
If you'd like to suggest your project, you're not under an obligation to accept the resulting patches if they don't meet your needs (though they will be irresistable), you don't need to do much work (though I might ask a few questions), you help ensure the usefulness of this Google Summer of Code project and help improve XML programming in GNOME.
Preferably, your project will be mainly in Vala or C. GXml itself is being written in Vala. XML use should be important to your project.
A first release, 0.0.1, will be out this week. I had a Life Situation slow progress for two of the past weeks, but things are sailing smooth once more. A status update comes tomorrow.
Cheerio!
2011-07-04
Unlimited Heart Break
I've been party to the most heart breaking thing recently. A family friend, R, has had language issues due to strokes for a while, losing his ability to clearly articulate himself, unable to name nouns. He also seemed to become forgetful. Last week I found him at my dad's doorstep looking for my father's help with something. I was happy to see him out and about and a bit more independent than usual. I asked if I could help, assuming it was a physical matter at his house. He said he thought I could, and came in to explain his problem.
My heart strained as I heard him explain that strange people are keeping him in a house and controlling him, that there's a woman who's always there, telling him what to do. And they want his money, of course. He wanted my father to help. He wanted my father to drive him far away, and maybe come live with him for a month to help him set up. Somewhere in the country. He would pay my father well. He needed to escape.
My heart broke and my mind cried as I realised that R had forgotten that the woman was his beloved wife of decades.
I vainly tried to reason a little with him. I wanted him to remember that that lady who hovered over him, M, was his wife. I asked him if he remembered his visit to New Zealand two years ago, and he said yes, it was with my wife and I (I don't have a wife, but still). I showed him photographs of he and M together. He'd briefly think he remembered, but then assert that that is a different man who looks the same as the one in his house. That that couldn't be his wife, because his wife is dead. He saw her lying there. She was as cold as stone.
So, after the majority of their life together and with two sons (he is aware he has one, but doesn't know his name), the woman he has loved all that time continues to care for someone who doesn't even remember her.
I had to close my eyes to suppress tears yesterday when we joined them for supper, as well, when I realised that M didn't accept this yet, and was focused on it being simply a speech deficit with some small confusion. I wanted to talk to her about it, but all I could do was give her a hug.
My heart strained as I heard him explain that strange people are keeping him in a house and controlling him, that there's a woman who's always there, telling him what to do. And they want his money, of course. He wanted my father to help. He wanted my father to drive him far away, and maybe come live with him for a month to help him set up. Somewhere in the country. He would pay my father well. He needed to escape.
My heart broke and my mind cried as I realised that R had forgotten that the woman was his beloved wife of decades.
I vainly tried to reason a little with him. I wanted him to remember that that lady who hovered over him, M, was his wife. I asked him if he remembered his visit to New Zealand two years ago, and he said yes, it was with my wife and I (I don't have a wife, but still). I showed him photographs of he and M together. He'd briefly think he remembered, but then assert that that is a different man who looks the same as the one in his house. That that couldn't be his wife, because his wife is dead. He saw her lying there. She was as cold as stone.
So, after the majority of their life together and with two sons (he is aware he has one, but doesn't know his name), the woman he has loved all that time continues to care for someone who doesn't even remember her.
I had to close my eyes to suppress tears yesterday when we joined them for supper, as well, when I realised that M didn't accept this yet, and was focused on it being simply a speech deficit with some small confusion. I wanted to talk to her about it, but all I could do was give her a hug.
Subscribe to:
Posts (Atom)
Labels
#General
#Microblog
friends
#Technology
life
gnome
music
google
iaido
guelph
fedora
vegan
bugs
food
school
#GNOME
linux
technology
#School
jodo
blogger
gxml
#Budo
#Photos
work
web
nature
happy
vala
firefox
android
art
Flesherton
anime
internet
travel
home
open source
stress
kendo
kosmokaryote
writing
animals
birthday
dad
science
security
canada
computers
environment
future
cookies
development
german
language
photos
programming
reading
sick
sleep
snow
video
winter
GUADEC
cell phones
css
fun
learning
love
me
movies
people
phone
picasaweb
ta
time
christmas
evolution
vancouver
vegetarianism
#Vegan
Toronto
ai
git
gsoc
identity
new zealand
society
speech
vlogbrothers
adventure
birds
communication
dreams
facebook
google+
gseta
happiness
libgdata
netflix
night
responsibility
skedge
stars
tea
tv
video games
wind mobile
Nintendo
baking
cake
consumerism
design
fedora 17
javascript
memories
nlp
organisation
photography
quote
tablet
uoguelph
Josh Ritter
animalia
blogging
books
bug
encryption
family
humanity
magic
meaning
memory
money
pidgin
rain
recipes
speechdispatcher
sushi
weather
#Reading
Spain
TAing
The Frames
cat
chocolate
cold
cycling
death
emusic
film
flight
genderguesser
gitorious
halloween
health
knowledge
languages
liv
mail
new years
nightmares
politics
productivity
psychology
software
swords
the legend of zelda
ubuntu
web development
xml
xorg
youtube
Thanksgiving
acer
bc
busy
change
conversation
cooking
duolingo
emacs
fedora 18
galaxy nexus
gay rights
gmail
japan
libxml2
martial arts
materialism
mozilla
nerdfighteria
nostalgia
privacy
rhythmbox
sound
space
university
upgrade
valentines
wahoo
walking
water
web design
Con-G
Europe
John Green
Scott Pilgrim
age
animal welfare
apple
autumn
bash
blog
brain
brave
breath of fire II
calm
camera
canada day
clothing
comments
confidence
conservation
creativity
culture
dance
dataloss
djaqua
duplicity
e-mail
emotion
english
errors
feminism
gdom
germany
goals
google reader
gtk
humour
intelligence
japanese
laundry
law
light
math
morning
moving
ottawa
peterborough
pets
philosophy
pie
quality
research
sei do kai
shopping
spring
style
summer
value village
vday
vonage
website
x11
#Life
New York
alone
anime north
anxiety
argument
backup
budo
buffy
business
cats
computer science
concert
copyright
data loss
diy
eating
economy
education
energy
exercise
failure
fedora 19
feelings
file systems
flowers
freedom
french
friend
games
gdata
greyhound
growth
habits
heat
history
house
html
ice cream
im
information
java
joy
koryu
laptop
living
lost
microsoft
mood
moon
muffins
mystery
news
nz
pain
photo
php
physics
pirates
pizza
play
poverty
preupgrade
progress
purple
python
rae spoon
reality
reflection
religion
rss
self
serialisation
sharing
skating
social
sun
synergy
tachi uchi
testing
themes
thesis
thinking
thought
thoughts
transit
turtles
veggie challenge
velociraptors
violin
weekend
weird
yum
zellers
API
Air Canada
Empathy
Grimes
Hank Green
Hugo
Jane Austen
Lord of the Rings
Nexus One
OCUS
Sudbury
Trick or Eat
arboretum
audible
autonomous automobiles
beauty
bike
blogs
browsers
camping
cancer
canoeing
celebration
charity
chrome
cleaning
colour
community
content
corporations
crafts
decay
decor
depression
depth
disaster
drawing
epic
equality
experience
faery fest
farmer's market
fedora 12
fedora 16
fedora 20
fedora 22
fedup
fireworks
gender
ghetto
ghosts
glib
gnome blog
gnome shell
google talk
green
hair
hobocore
hungry
icarus
instant messaging
interest
introspection
jobs
last exile
luks
macbook
mail-notification
mario
meat in vitro
mind
mom
moon festival
motivation
mtp
ninjas
oh the humanity
pagans
pants
papers
past
performance
perl
phones
picnics
pitivi
plastic
pride
pumpkin
pumpkin pie
quiet thrill
receipts
rogers
rpm
seminar
sewing
simple
simplicity
sleep deprivation
smells
soy milk
speech dispatcher
sports
stories
story telling
strange
streamlines
swimming
telephone
temperature
texting
thrift stores
time management
time travel
tragedy
truth
understanding
united states
urban ecosystems
usability
usb
veganism
voice
volunteering
webschwerver
wild
wireless
working
world
yojimbo
zoology
Avatar: The Last Airbender
Blassreiter
CIS*2750
CIS*6890
Czech Republic
Diablo
Dresden Codak
Dunedin
Dutch Blitz
Electric Networked Vehicle
Elliott Brood
Ender's Game
France
Fringe
GNOME 3
HTC
Hayao Miyazaki
Mario Kart
Montréal
Network Manager
Newfoundland
Nintendo Switch
Ontario
Ouran Host Club
Richard
SVC
Samsung
Samurai Champloo
Santa Claus
Studio Ghibli
TCAF
US
academics
adb
advertising
aeroport
algonquin
amusing
animal agriculture
apartment
ask
automation
awkward
bad movies
banana
bats
battery
beard
belladonna
beta
bicycle
book
branding
breakfast
brno
bus
buses
buy nothing day
cabin
calgary
candy
cards
cars
catastrophe
celebrate
celtic
chat
cheap
cheese
childhood
china
chinese calendar
cities
clarity
clean
clock
comics
compassion
compiler
computer
conspiracy theorists
consumption
context
convention
cookie
cool
cornerstone
cosplay
cottage
country
court
creation
cthulhu
cupcakes
curiosity
cute
dancing
dark themes
dbus
definition
deja-dup
democracy
despair
detachment
dinosaurs
discomfort
dns
dodgeball
dragon
dress
dust
dystopia
earth
earth day
efficiency
eggs
elections
email
enhanced history
ethics
evil
exhausted
expectations
exploring
ext3
ext4
fail
fair trade
fall
fashion
favourite
feedly
ferry
focus
fonts
formal
free
friendship
fruit
fudge
full moon
furniture
gaelic
game boards
garden
gardening
gee
generosity
genetics
gimp
gir
gobject
good
google hangouts
google wave
government
grading
gratitude
green roofs
groups
gsec
guerilla gardening
haircut
hakama
help
homosexuality
honesty
howl
hp
human rights
humanitarianism
humility
hypocrisy
ice
images
imaqua
instagram
integration
intellectual property
internet explorer
jabber
jazz
jelly bean
jokes
kernel
keyboard
knife
labs
last exile: fam the silver wing
laurena
lazy
letters
library
libxml
livejournal
lizzie bennet
loneliness
loss
lovely
lyrics
maps
maturity
meditation
melancholy
metadata
microbes
microfinancing
microwaves
moon cake
morality
mother
music concert
muso jikiden eishin ryu
myth
namespaces
nasa
nautilus
nerdfighter
neural networks
nintendo 3ds
normal
normality
notes
obsolescence
oceans
open
open souce
open standards
panasonic
paper
parties
patches
peanut butter
perception
personal
perspectives
philanthropy
plants
pleasant
poem
politeness
potluck
preparation
problems
ptp
pulseaudio
quidditch
racism
recreate
redundancy
relationships
relax
repairs
resizing
richard's room
roomba
roses
rsync
running
sad
sadness
salsa
samurai
sanity
scary
schwarting
seasons
self-esteem
self-navigating car
selinux
semiformal
senility
sensitivity
sentimental
sheep
ships
silicon motion
sleeping in
sms
social justice
software engineering
solitude
solutions
songs
soup
speed
spelling
ssh
star wars
strangers
stupid
success
sunset
surreality
survival skills
suspense
sustainability
sweet
sympathy
symphony
tardigrades
tasks
teaching
technical communication and research methods
test
tests
thrift
tim tams
time and space
tired
tools
tracker
tradition
tranquillity
transience
trees
trust
tumblr
twitter
update
user experience
utopia
via
vihart
vlog
waffles
warmth
waste
waterloo
wave
web comic
webfonts
webkit
wii
wiki
winter is coming
wizard
wonder
woods
words
xmpp
yoga
youth
zoo
#Gaming
#Wishlist
#anime #general
1. is anyone reading this?
1602
1984
2. you win a prize!
2008
2014
24fps
3. gimme a call to collect
404
A Short Hike
All My Children
Andy Griffith
Argentina
Armstrong House
Avatar: The Legend of Korra
BarTab
Beach House
Boston
Boston Summit
British Columbia
Businesses
C
CIS*6050
Cambridge
Christopher Plummer
Claymore
Creatures
Darker than Black
David Attenborough
Dear Wendy
Docking Station
Dollhouse
Earthbound
England
Excalibur
FOMO
February
Fergus
Final Fantasy IX
Fire Emblem
GError
GNOME Files
GSA
Go
Google Play Music
Hunger Games
I am not okay with this
I believe in a thing called love
I'm a wizard
IRC
Ikea
Ireland
JRR Tolkien
King Arthur
Lost Lagoon
MIT
Mac OS X
Madrid
March
Massachusetts
Matlock
McGuinty
Melodies of Life
Merlin
Michael Cera
Mother Mother
Mr. Tumnus
Narnia
Neil Gaiman
New York Philharmonic
Nick and Norah's Infinite Playlist
Nintendorks
Norns
North Korea
NotesFromNewYork
Olympic
OpenShot
Orphen
Orson Scott Card
Oscars
PEAP
Pauline Johnson
Pete Peterson
Planet Fedora
Porco Rosso
Questionable Content
R
ROM
Rent
S
SIM Wireless
Sauble Beach
Sega
Sega Genesis
Selenium
Shakespeare
She-Ra
Snakes and Lattes
Splatoon
Star Trek
Steve Grand
Stranger Things
ThanksLiving
The Darkness
The Devil is a Part-Timer
The Fifth Estate
The Guild
The Hobbit
The Stand
Tianjin
Tim Hortons
Tolkien
UI
UK
UX
VPN
Will Grayson Will Grayson
Wolves in the Wall
WordPerfect
Xiki
[General]
abrt
absolutism
abuse
academia
accessibility
active
activism
activity
addiction
adreama
adrift
adulthood
advertisement
air
airport express
airship
ajax
al gore
alarm clock
albums
aldiko
alice in wonderland
alien
alistair summerlee
amateur
amazon
ambience
ambition
amy winfrey
anaconda
and imperfection
angle
angry birds
anhosting
animal cognition
animation
anon
anonymity
ant
apache
apology
appearances
appreciation
aqualab
arcade
architecture
arduino
arrogance
assassins
assignments
association analysis
astrid
asus eee top
asynchronous
ati
attachment
attitude
attribution
audio
aural abuse
authentication
authenticity
automake
automarker
avatars
awesome
b43
backpain
backtrack3
backyard bounty
bad
bagel
bandwidth
banjo
banks
barbarians
barefoot
baseball
bathroom
beaches
beautiful
bed
bees
beetles
being
belief
bellaqua
benedict cumberbatch
berlin
bertrand russell
bill gates
biofabrication
biology
biometrics
bit rot
bitcoin
black and white
blame
blockbuster
bloomberg
blue
board games
bohemian
bold
bon thé place
bonds
border
boredom
botany
boxing day
boy
brain scoop
brickworks
broadcom
broccoli
browsing
bubbles
bubbly
buildings
bunnies
burn
bus stops
butterflies
buttons
c#
c++
cafe
calendaring
calligraphy
camel
camera obscura
cameras
canadian english
canopy
capitalism
captivity
careless
caring
cast
causality
cbc
cedar row
cello
censorship
certainty
cgi
chalk
challenger
changing locks
chaos theory
charm
cherry blossoms
chickadee
chickens
chivalry
choir
chopsticks
chores
christchurch
christianity
chudan
church
cijf
cinnamon
classes
clif
clorox
clorox green works
cloud
cloud atlas
clubs
cname
coca cola
codeine
codeviz
cognition
coincidence
coins
color
comfort
commons
communism
competence
competition
competitive coughing
complaints
completeness
compliments
conference
configuration
conflicted
confusion
consciousness
consent
conservatives
conservativism
console
construction
constructive criticism
contagion
contest
contributing
convenience
corpses
cough suppressants
coughing
coupons
courageous
crashes
crates
crayons
crazy
creative commons
criminals
crisps
criticism
crosscanada
crowd
crtc
cry
crying
cryptic
cryptozoology
csh
cuddles
cult
currency
current tv
curse
customer service
customisation
cuttlefish
cvs
daily grind
data
data mining
databases
dating
david bowie
dconf
debate
debug symbols
debugging
delicious
design patterns
desktop
desktop summit
destiny
dftba
diet
difficult
digimon
digital receipts
disabilities
disappointment
discordianism
discourse
discoverability
dispute
dissection kit
distraction
diyode
dnf
doctor who
doctors
documentation
dokuwiki
doubt
doughnut
dpkg
drab
drano
drano prevention
dream
dreaming
drinking
drm
drowning
dryers
drying
dtwydt
ducks
dvds
dying
dynamic typing
ease
easter
easy
ebony jewelwing
ebooks
ecards
economics
editors
eeetop
el paso
elder neglect
electronic receipts
elements
elitism
ellen page
embarrassment
emily graslie
emptiness
empty
enchant
end of
enterprising
environmental science symposium
eog
epiphany
eplugin
equipment
essentialism
ether
euphoria
evoaqua
experiment
experimenting
expertise
extensions
extortion
facades
faith
falafel
familiarity
fan
fancy
fantasy
fascism
faun
favicon
fears
fedora 11
feed me
feedback
festival
fibonacci
fiction
fiddler crab
field guide
field identification
figment
figures of speech
file formats
finances
fire
fish
fitness
fixing
flac
flash light
flesherton fling
flexibility
flour
flow
flying
footprints
forceps
forgottotagit
fork
fortunate
fortune
found
fragaria
frameworks
fraud
fred penner
free time
freezing
french fries
fresh
friday
friend's wedding
frog
fspot
funding
funerals
funny
fury
fuse
gargoyles
gdb
geek
geeks
gf3
gi
gifts
gio
gitlab
gjs
glass
globalnewtgames
glory
gloves
glue
gluten
gm
gmo
gnome keyring
gnome software
gnome-control-center
go ninja go
go transit
goat
gods
goodbye
goodfella's
google assistant
google books
google calendar
google chrome
google wallet
gp2x
gqe
grad
graffiti
grammar
graphing
graphviz
grass
green beaver
grey county
groceries
growing up
gtest
gtg
guts
gvfs
gvfs metadata
gypsies
habit
hal
halls
hard
hard drive
hard drives
hardship
hardware
harry potter
hdtv
heart
heart break
heaven 17
hemlock grove
hewlett packard
hijinx
hiking
hoaxes
hobbies
holidays
homelessness
homework
honey badgers
honour
horatio hornblower
horror
hostels
hosting
hot
house of cards
hp lovecraft
hugs
humblebundle
humbleness
hunting
hyperlinking
hyrule
i am a carpet
ibm thinkpad x41
icalendar
ice cream sandwich
ice rain
icthyology
ignorant
ill
image
image editing
imagination
impermanence
inadequacy
inaturalist
inconvenience
independence
india
individuals
industry
infinity
ingrid michaelson
inhumanity
injuries
ink
innovation
insects
installation
intel
interactivity
interlocutor
internet tv
invertabrates
io
irish
irony
isolation
it
it is indigo
james bond
java 13
jedi
jikiden
joke
journalism
journey
judgement
julian assange
julie thiel
justice
kata
kayak
keys
ki-ai
killme
kim taylor
kinder
kindness
kirby
kitchen
kitzl
kiva
knights
knots
kodak
koodo
kung fu
labels
landau sacamoto
late
laundromat
led
legend
lending
lenovo
lessons
letsencrypt
letstrace
letter writing
liberalism
liberals
libnotify
libreoffice
librpm
lifehacker
lilo
limericks
limits
linksys
liquid
lists
live wallpapers
livecd
liveusb
loans
local
local food
local install
login
london
losher
lots of hugs
mac mini
machine learning
machine vision
madness
mae
magic school bus
magical
maintainership
majesty
malaria
malls
mantis shrimp
marine life
marketing
marking
massages
matrices
maturation
may seminar
meat
media
medicine
mel's diner
memory leaks
mental health
meow
mercy
messaging
metacity
metaphor
methodology
mezzo forte
micropayments
mild
mild weather
military
milk
mindhacks
minimalism
misanthropy
miscellany
misery
misfortune
missed the boat
missing
mlp
modelling
moisture
mold
molly parker
monitors
monologue
more cats
mosquitoes
moss
mother's day
mounting
mouse
moxies
muffin
muffinfilms
mundane
murder
museum
mushishi
mushroom soup
mushrooms
musicals
mutual funds
my slumbering heart
mysql
nameservers
nanowrimo
national treasure
natural language processing
naturalism
nausicaa
navigating
necessity
neighbours
nervous
netgear
network
new
new users
newspaper hat
next year
ninja turtles
nodelist
nointernet
noise
noisy
nominate
non-root
norse
noses
not really dying
notebooks
notification-daemon
novels
november fair
nuclear war
numbers
numix
obama
obligation
obliviousness
obscure
ocz
ogg
oggenc
olap
olive
omote
open formats
open music
openness
openoffice
optimisation
optimism
orcas
orchestra
oreo
oreos
org-mode
origami
oscar
otr
overheat
owen sound
package management
packagekit
packing
paint shedding
pan
pancakes
panda
parallelism
paranoia
passport
patents
patience
pattern recognition
pdo
peace
peaceful
pen
pence
pender
penguins
penmanship
perfection
pet rocks
physical
piano
pickman's model
picnik
pidgin plugins
pikmin
pintsize
pipelight
pirate festival
pizza hut
plagiarism
planning
plans
playground
playlists
plumbing
plushies
podcast
poetry
points
pokemon
polls
pomplamoose
positions
posse
post
posters
postmodernism
potatoes
potlucks
power
ppc
practise
prejudice
premier
pressure
pretty
pride and prejudice
priorities
private
processes
professionalism
progressive web apps
projects
promise
protest
proud
purchases
pwa
qt
quarantine
rad
radeon
railroad
randall munroe
raop
rats
reagan
recursion
recycling
redhat
reductionism
refactoring
refrigerators
regret
relativism
release
renew
renfrew
repetition
report
resolutions
resolve
resumes
reuse
reuters
reviews
revolution
rhino
rhps
ricola
risk
road trips
roar
robots
rockwood
rot
rover
rtm
ruby day
ryu
safety
sanctuary
sand
satisfaction
savages
scary movies
scheduling
schneier
scholarships
scooters
scp
screenshots
script
seals
search
secret world of arrietty
secrets
seitei
self-interest
self-respect
self-sufficiency
self-worth
semesters
senescence
sessions
setbuilder
settlers of catan
sftp
shame
sheepo pistachio
sheila patek
shell
shells
sherlock holmes
shipping
shogun
shotwell
shoulder bag
sigh
signal
sim city
simafort
simpsons
sincerity
singing
sjr
skill
skunks
sky
slackware
slashdot
sliver
small
smartphones
smiling
snails
sneezing
snowboarding
soccer
social dance
social media
socis
soft
solemn
someonesmotherwantstoadoptme
song
sony
sophistication
sorbet
sorrow
sparklers
speed river
spell
spellchecking
spies
spilt milk
splendid
splendor
splinter
spoilers
sponges
sql
squaresville
sr
ssd
sshd
stanley park
starry night
starving
steampunk
storage
strawberries
strength
structured information
struggle
stuff
stylus
suburi
sucks
sugar
super mario
super mario land 3d
superiority
superstition
surprise
surprises
surreal sushi
surrender
swings
systemd
systems
tabs
tachi uchi no kurai
tail coats
tameshigiri
tarot
taxes
tears
technocracy
teddy bears
tedtalk
term
termcap
terror
the duke
the fault in our stars
the hulk
the human league
the irregular at magic high school
the onion
theatre
theory
thingsidon'twanttodo
tim berners-lee
tim mcgraw
timber timbre
timeliness
tin tin
toaster
todo
toilets
tolerance
tonight
toomuch
touch screen
touchpack
tour
tourniquet
towels
toys
trac
trailer
translation
travel buddy
treestyle view
trex
triumf
triumph
trivia
trouble
tweak
twist
tx2500
tx2617
typing
ugly logos
umbrellas
un dinaru
underwold
unemployment
universe
unlimited blade works
updates
upgrades
uploading
urban agriculture
urban ecology
urchins
vagrancy
vagrant
vague but exciting
valadoc
validation
values
vampires
vanilla ice
variety
vegetables
velvet burger
verb
version control
vi
vinegar
violence
voip
vpnc
vulnerable
waf
wandering
wanting
war
warm
wayland
weapons
web hosting
webcomic
webcomics
werewolves
whales
what a wonderful town
whatsbetter
whic are also lazer powered
white spot
wifi
wii u
wikisource
will
williams
wings
wisdom
wishes
wizardry
wolf
wonderland
wordplay
world cup
world water day
writing voice
xenophobia
xephyr
xinput
xkcd
xpath
yahoo
yay
yyz
z-index
Blog Archive
-
▼
2011
(273)
-
▼
July
(11)
- A cold drink
- Smooth Linux
- Directories kept opening with my Media Player :(
- GXml: test port of libgdata and documentation
- [Linux] Keeps falling back to sleep
- undefined reference
- git: failing to push
- GXml, fewer features, more stuff
- GXml 0.0.1 and Interruptions
- Wanted: software to port to GXml
- Unlimited Heart Break
-
▼
July
(11)