A while ago, Vael and I started talking about my experience learning French and generally being bilingual. Then I realized, oh yeah, I wrote an essay about this already! So I started thinking about what portions of my schoolwork might actually be interesting to you folk, and I’ve come up with a rough list of my least esoteric (and least embarrassing) essays. I’ll post, maybe, one per week, in chronological order. I’m not going to edit them, so it should be fun to look back at how I used to write.
I went through all the essays I’ve kept copies of, and came up with three I’d like to post. There are a lot of others I looked at and decided not to post because I failed to make a good argument, said nothing of interest, or picked a terrible thesis and struggled to do anything with it. I was hoping to post more, honestly, but just because I can doesn’t mean I should. Making my other essays worth your time, dear reader, would require a complete re-write and I’m not that excited about any of the topics I’ve previously written about.
If a given essay seems to require a lot of background knowledge on the topic, that’s entirely my fault. Most assignment descriptions say something like “write as if your audience knows nothing about this subject,” but it’s really hard to do that when there’s a hard limit to the length of your essay. I don’t doubt that it’s possible to completely explain several pages of philosophy writing in a few hundred words, but it’s incredibly difficult and would require a lot of editing time. Still, I hope some of you find some of it interesting.
Papers I’ll be posting:
[Earlier this week, I went to a panel hosted by my university’s co-op program. A handful of employers agreed to come talk to students about how they hire at their company. Interestingly, it was fairly skewed towards programming/engineering employers, but then again, about 75% of the audience was in the engineering department. At any rate, I took notes on paper for my own benefit, but I figured I may as well post them and free myself from a few pieces of paper. Assume any errors in, say, last names or job titles is my fault.]
Shopify - Doug, recruiter
Smart Technologies - Jennifer
Adobe - Tia Murphy
Immigration Services (Federal government) - Jacquelin Cote
Solar Logics - Calvin Adams
Teldeo - Casey Li
What are dealbreakers for you on a resume?
Should you stick exactly to a one page or two page resume, or can you have a page and a half? Answer: A page and a half is fine
Submitting the classes you’ve taken and your grades (aka your transcript) with your resume is helpful
Listing bursaries and other testaments to your skill is worthwhile, as it helps make you stand out
Being bilingual isn’t needed in most co-op positions, but it is necessary for government jobs in the long run
Regarding objective statements, they can help illustrate where you’re headed in your career
You should absolutely tailor your resumes to each job posting
Highlight your student projects and why you think they’re significant - the project itself may not be important, but it probably taught you a lot
Try to build a story that leads from your personal history to the job you’re applying for
You should highlight things you’ve done outside of class - things that other students might not have learned
Don’t stop at saying “took a course in Java,” describe the things you learned from the course
Having worked for a company’s competitor is still a significant achievement, don’t take it off your resume for fear of offending someone
Be picky about what jobs you’re going to take
Investigate the employer, in particular the people who will be involved with hiring you
Say you’re willing to relocate on your resume, they may forward your resume to another branch and give you a chance there
Non-family member references are your best bet, but if you’ve only ever worked for a family business, look for some non-family members in the organization to give you a reference (if possible)
On letters of reference:
I was checking out a Maximum PC article about reorganizing your music library with MediaMonkey when I stumbled onto their review for Windows 8. It’s a fairly measured review of what Windows 8 has to offer for a happy user of Windows 7 on the desktop. They don’t spend any time on the touch controls, or what the OS means for tablet users, or any of the sort of thing you’d find in Ars Technica’s wonderful coverage.
If you happen to be one of those users, it’s probably worth a read to decide if an upgrade is worth it. It’s actually fairly concise, but for your benefit and my own, here’s a quick reference:
So, the thing about this upgrade is that it doesn’t have a lot of immediate value, but it has a lot of long term value. Some time next year when almost everything is compatible with Win8 (and tools to remove the Tablet Mode are perfect), the improvements would be nice to have - but not quite $200 worth of nice. But definitely $40 worth of nice. I guess January 31st is plenty of time to buy in, but I might hold the license a bit longer than that before using it. Even if there are restrictions on the $40 digital version, it would probably still be worth $60 for the physical version.
Plus, this is an upgrade to Windows 8 Pro - there are a number of nice features in the Pro versions of Windows, especially when it comes to compatibility. For example, Win7 Pro has “Windows XP mode” which is either a virtualization tool or a super-powered compatibility mode (I don’t know which, I haven’t used it). Win 8 Pro would probably have that and a similar mode for Win 7, if things do go wrong.
All in all, I actually think this is worth jumping on. Write the license key down and hold onto it for a while. Don’t worry about the touch stuff, don’t worry about the Windows Store, because it sounds like they’re entirely optional (provided you can stay in desktop mode). Everything from Windows 7 should work the same way, but with some bonuses. As a bonus, QTTabBar sounds like it will support Win8 fairly quickly so you can make Explorer not suck and, hopefully, remove the Ribbon.
Well, I’ve convinced myself that I should invest in this. Hopefully you’re convinced, too.
(this is actually an even better deal for me and anyone else who buys a Win7 PC between June 2nd and January 31st, 2013 - just $15)
Before I started laptop shopping, I stumbled onto a pair of blog posts suggesting that you should run as a standard user. The first is from Jeff Atwood, and the best part is the quoted list of stuff in the middle of stuff you’re protected against by being a standard user. Somewhere around the same time, I found a blog post about configuring Windows 7 to run primarily as a standard user. Unfortunately, there’s not enough info in that blog post on the pros and cons of running as a limited user, but here’s what I’ve found in the last few days:
runas don’t work the way sudo does in Unix. Unlike sudo, they suck terribly. SuperUser has a pretty good explanation of how they actually work and one answer recommends Sudo for Windows, which is complicated but seems workable. If you do check out Sudo for Windows, the Wayback Machine has rescued its documentation from the depths of Internet history (the year 2007).My new laptop is a Lenovo, and I’ve jokingly told people that I needed one because I am a serious business person working at a serious business. It’s quite a change from my consumer/media focused HP Pavillion laptop. For instance, I added a fingerprint reader for twenty bucks. Hard to tell so far whether it’s actually useful or just a novelty, but it’s generally faster than typing a password to login. At least, once I figured out that it only works if you swipe left-to-right (but it doesn’t say that anyewhere). Now, I know fairly well just how imperfect finger prints are as a biometric, considering I read a handful of papers comparing different biometric approaches over the summer (they can be fooled by replicas and other means, your fingers can be cut off, not 100% reliable, etc). I definitely don’t want to rely on it (aside: but then, Windows passwords aren’t particularly hard to reset…). Not to mention that shoddy firmware can make you less secure than ever. Still, it’s convenient to have it as an option alongside my password.
However, let it be known that I’m prepared for the worst. Lenovo’s software allows you to register any fingers you want for the scanner, so I’ve registered my least useful fingers. If you want into my laptop that badly, please, just take my left pinky.
Some other things that provide hardware security in a different way:
I haven’t dug too deeply into all the pre-installed stuff, because consumer focused OEM software is either crappy or driven by greed… often both. Some of Lenovo’s original stuff seems like it might not suck, so I’ll definitely have to investigate. The above are a few examples of things that have yet to annoy me - and in fact, I’m actually glad to have - which is pretty high praise for OEM stuff from someone used to Dell and HP.
As for the pre-installed software they didn’t make… The less said about their generous offer of a free 5 gb SugarSync account (as if that’s somehow a special offer), the better.
Summary: The theme we wound up with was Metaverse. Four hours wasn’t a whole lot of time for us to get familiar with Inform 7 and create something interesting. Managing scope is really important!
So, we ran a little bit late and started around 12:30, but most everyone was able to stay until 4:30 so it worked out. Unfortunately, announcing the theme at the start of the timer might not have been the best idea - I don’t know about everyone else, but I spent at least 30 minutes brainstorming. Still debating with myself whether picking the theme in advance and dedicating the four hours to implementation would have been better.
On the other hand, being a prolific writer, Crate was able to mostly finish what he had in mind. Not sure if it’s because he had a better idea of the scope of what you can write in 4 hours, or simply because he wrote so much faster than I did. Either way, good on him! For what it’s worth, Inform 7 source code is measured in words, and I had 800 vs his 1600. Still, I know I wouldn’t have my initial idea “completed” even if I had close to 2000 words. Vael and Maryanna are in a similar boat, I think. So much for putting our completed work online after four hours!
We all had fun, though, barring the occasional frustration with learning some of the more complex idioms of Inform 7. So we’ve agreed to get together once a week, for an hour or so, and continue working on our ideas. I don’t know how long we’ll keep it up, but it should be fun.
Lessons learned:
I put my code up on GitHub in case there’s any useful tricks in my source (warning: doesn’t compile right now). One thing I will point your attention to is the use of square brackets around the names of objects in prose - I learned that from a blog post by Aaron Reed, and I think it’s a great idea. Essentially, all you have to do is put square brackets around the names of nouns in your descriptions of locations. What this does is send the compiler looking for an object that can be referred to by the bracketed text, and if the compiler can’t resolve that name to an actual object, you get an error. If you wanted the object to exist, this is a good warning. If you don’t want such an object to exist, then you have to change the description so that it doesn’t imply there’s an object that the player can’t actually interact with.
As a bonus, if you find yourself using too many nouns, you have to get a bit more creative with your prose - I happen to love the noun-less version of the second description. I’m used to that sort of intense editing, though, and maybe you’re horrified by the idea of spending so much time thinking about every little sentence. That’s perfectly ok, because it is time-consuming. But in the long run, I’d much rather play a game full of awesome prose like that second version. Plus I wouldn’t wind up wasting time playing around with non-existent objects. Think of your players! Think of your satisfaction as you read your beautiful prose in the future! I’m often pleasantly surprised by the writing in my old blog posts, when I go digging through the archive, so obviously I think it’s worth putting in the effort.
Rather than lose ¼ of my participants, I got everyone to agree on moving the date to Monday instead of today. Which works out well because it’s Labour Day, a useless holiday that has no festivities to keep people busy! Of course, the people participating who have spoken to me already know this, but who knows - there could be lurkers.
Anyway, I’ve been realizing the kind of effort that goes into making an awesome Inform 7 game like Violet. It would take more than four hours to produce something like that, especially as complete beginners. So I’m thinking that we’re going to have to tend more towards creating short stories with a bit of interactivity, for fear of having things spiral out of control.
At a bare minimum, I’m thinking of suggesting that everyone watch this video by Aaron Reed to get a basic introduction to Inform 7 and its integrated development environment (IDE). Then, go through this tutorial by Stephen Granade for a more hands-on introduction to the system - learning to create rooms, props, and rules. I’m hoping that’s a good enough baseline to produce something in a few hours without losing time on learning the basics.
Aside from all of that I’ve been busy looking into a variety of Inform 7 things. I get to be like that when presented with an extensible system. Rather than clog up my tumblr with a huge list of stuff, I’ve put everything I’ve found up on SimpleNote:
It’s worth looking through to see if there’s anything that inspires you. Maybe you want to make a really conversation heavy game - if so, check out Eric Eve’s numerous conversation-related extensions (among other things). Maybe you want to make something modern involving computers and other real life objects - Emily Short has some extensions for that (again alongside a lot of other stuff). She also has an extension for incorporating mood variations in your non-player characters… And now I’m just repeating everything I wrote in SimpleNote. Go on through the general notes for some information on best practices and other junk, and then the extensions one for fiddly stuff you might like.
Finally: I’m working on making a list of themes to pick from. I’d be happy to take suggestions. My intent is for the theme to provide a mental challenge, since you can’t just write whatever you want. At the same time, it should be broad enough that different interpretations are possible. So here’s what I’ve got so far:
I know, it’s not a terribly impressive list. I thought of a few more but.. uh… I forgot to write them down. So, please do suggest more! Just don’t say Brave New World or Stranger In A Strange Land or anything like that. Come now, we’re better than that. To make life easier, I’m also going to suggest we avoid high fantasy sort of stuff because it’s incredibly difficult to do well.
So yeah, that’s where we’re at! I’m having a lot of fun with this.
**Link to a .rar of extensions I thought might be useful, up to date as of September 2nd 2012: http://uninotes.thebcn.net/i7x.rar
Installation instructions: * Extract all .i7x files into one folder (note the ATTACK extension in its own folder) * Open the Inform IDE * Click File * Click “Install extensions” * Ctrl+a to select all files * Click ok
Bonus: documentation for all extensions is available once they’re installed. Go to the Documentation pane, click on “Installed extensions” below the final chapter of the manual, and then click on the name of an extension.**
A while ago I added search through Swiftype to my tumblr. It’s really quite effective, especially considering your alternative is the funtionally useless default tumblr search. It has never worked for me on other people’s sites, and on my own, it returned no results when I searched for “the”.
Yeah, you should probably get Swiftype.File “site search” as something Tumblr doesn’t do for you. So sign up for a free account on Swiftype, grab the code representing the search bar, and look through the HTML for your theme for “search” and try to replace that with the Swiftype stuff.
Anyway, they recently sent out an e-mail with a bunch of new stuff they added. One of those things was support for a sitemap, which lists all the pages of your site and some metadata about them. So I looked into it a little and discovered that yourtumblrname.tumblr.com/sitemap.xml is automatically generated for you. sitemap-pages.xml lists the things you’ve added via Tumblr’s Pages, and sitemap1.xml lists all the posts you’ve ever made and the last time they were modified.
Next discovery I made was yourtumblrname.tumblr.com/robots.txt, which tells polite search engines where to find your sitemap and what parts of your domain to exclude. Wikipedia’s got a little page about it. If you go to that file, you’ll see that it asks web crawlers not to look at your private posts - they don’t have to do that, though. By sheer brute force they could easily discover all your private posts, as could anyone else willing to try the various random numbers inserted in the url of a private post.
The one issue I have with this stuff is that I don’t know how you could modify them. Still, it’s really nice to have this stuff done for you already. You’d never need to know this stuff exists, no matter how much you use Tumblr, and that’s a good choice on their part.
…and forgot to tell the internet about it
So yeah, I turned 20 more than two weeks ago. Wasn’t a huge spectacle, though an old friend from PEI happened to be visiting his aunt so we brought him along to dinner. We went to a new burger place near Dad’s, which was decent. I didn’t really want to throw a party or anything, but I still didn’t have time to sit down and write. I realize nobody was on the edge of their seats waiting for me to bore them with personal junk, but in case you were, that’s my excuse.
I feel like I should write about what happened during my 19th year, if only for posterity. Trouble is, there hasn’t been a whole lot of spectacle in my life lately. If anything, I’ve achieved a stratospheric level of mellow-ness. Still, a quick scroll down my archive has brought up a few interesting things to talk about. On an unrelated note, this is my four hundredth post. Holy crap.
Easy cop-out solution to recapping the last year: referencing previous recaps! The last five posts of my 2011 recap happened after my birthday, so that counts. I assume 2011 in review gives a good idea of what the 2011 part of being 19 was like. I distinctly remember being very morose on New Year’s Eve, though, so that played a part in the tone of the review post. Not the recap post, mind you. Sorry about that, it’s confusing in retrospect.
Anyway, onto more substantial discussion. I wrote during winter break about some goals for 2012, but had a hard time coming up with anything significant. I said I’d like to be consistently happy, but lamented my choice of solitary hobbies. I also said (hang on, have to re-read the sentence five times…) that “I might be miserable because I don’t have any close friends in Ottawa”, or something along those lines. “Might also be good if I were to talk to people, or spend time with them”. Hilariously enough, I resolved all those things… without… really… meaning to. Now, this might be obvious to you, but hanging out with people who share your hobbies turns out to be a two birds, one stone sort of deal. Watching anime, playing games, and reading may be primarily silent activities I do on my own - but it’s just as nice to be alone together, i.e. doing so with someone else engaged in their own game/book. Having hobbies in common also netted me a friend who is close physically as well as emotionally, and it’s nice to have that again.
I’m also getting pretty good at gathering a group of people and hosting a relatively low-key nerdfest event at home. This allows me to safely avoid individual invitations while still gradually getting to know people. Next step should probably be expanding on the set of people I can comfortably invite to hang out individually. Which isn’t to say that I prefer quantity over quality, but generally you deal with a quantity of quality larger than one. One person is significantly better than an empty set, but it just seems like I’d benefit if I wasn’t so damn scared to say “hey we should hang out and bond over *insert shared hobby*”.
Related to that is my post about decreasing my misery quotient, which still seems like it’s going to be a valid strategy. But aside from that, I am much more consistently pleased with life than I used to be. As it turns out, computers and video games provide a lot less emotional support (active and passive) than real, live humans. Hooray for nice people!
I posted near the end of the school year about some goals I had for 2012 and where I was at in life. That was pretty good, and I think it’s still pretty relevant to where I am now. Regarding my second goal, I’ve been reading (thus, learning) voraciously - I cleared out almost all of my list on Read It Later (now Pocket, but the new name doesn’t give you any idea of what the service is about). And then I filled it up again. At any rate, I’m starting to put stars on things I really like and delete things that were lame, so there should be a higher signal/noise ratio in my archive. As for books, you can see what I’ve read over on GoodReads, which I like more and more as time goes on. It’s funny when I recognize names of reviewers on programming books from StackOverflow and parts of the Emacs community. All in all, I think I’ve learned a lot of good stuff over the summer.
Something I never wrote about was that my roommate is no longer staying with us. Or speaking to me, for that matter. It’s unfortunate, but life goes on. I wish her the best, truly. Don’t be concerned by how little I’m talking about this seemingly significant event; it’s not really fit for public consumption. I’m older (lol 20 isn’t old) and wiser and have a better idea of what I should/shouldn’t post publicly. This is one of the things I shouldn’t write about.
There’s one small benefit of the above, though - I’ve got my own bedroom back at mom’s. Which is kind of nice, because living in the basement sucked in subtle ways. Meanwhile, I’m getting an awesome place in the basement at my dad’s. It’s still under construction, but I expect it will be nice to have when it’s done.
Anyway, things are winding down for my work at HotSoft. My project didn’t yield a lot of fruit this summer, but we’re on hold for a week or two to await some information about some of the software we depend on. If the information doesn’t show up, we may plot a fairly different course from here. We’re having a picnic tomorrow and I’m bringing delicious cake. So that will be nice!
Classes start a week from today, so between now and then I’ve got a couple hundred bucks to drop on textbooks and some time to spend on my own stuff. Not sure yet what I’ll focus on, but I’ve been getting Emacs set up for Python programming lately. Spent hours looking into it and I’m still not done, because there’s literally three solutions to every problem. Sigh.
Oh, right, I ordered a new laptop! I’ll post more details when it arrives, which should be soon. It’ll be a good opportunity for me to sit down and get digitally organized. This post is mostly about life, though, so I’ll save the tech for another post.
A few years ago, I came across a game on Steam called Winter Voices. It was an episodic RPG for PC by a small French developer, but they only released Episodes 0-4 (with 5 and 6 unreleased) before going bankrupt late last year. Because the company dissolved, the game has been removed from Steam and most honest digital distribution platforms. I don’t know what the game’s sales were like, but it didn’t get very much press and most people couldn’t recommend the game wholeheartedly. The rough state of the game at launch and bittersweet press response probably hurt the game a lot. But for the people who played it, Winter Voices provided a unique experience that truly deserved more exposure than it received.
The game stars a young woman whose father has just died. She has returned to the small northern village where she grew up in order to attend his funeral, with the implication that she had gone off to make the most of her life elsewhere. Winter Voices begins when she arrives - correction: when you arrive - at the village a few hours before the funeral. [correction: I e-mailed this post to the game’s author, and the heroine did *not* leave the village - that was a miscommunication with the people who made the game’s intro video] You choose a variety of stats relating to your character’s personality, like humour and memory, and set off to talk to people and wander around the village.
Whenever you run into nostalgic or otherwise emotional situations, you enter grid-based battle arenas where you struggle against shadows representing grief, painful memories, and other psychological trauma. However, there’s no “combat” as such - you can’t defeat grief by brute force. All you can do is try to withstand it. Most battles have goals like “get to the other side of the map” or “survive for 5 turns”. It’s a great metaphor, and Winter Voices may be the only game to imbue these common battle mechanics with actual meaning.
It gets even more interesting when you see the game’s skill tree. Here’s an image of your initial skill choices, courtesy of Rock, Paper, Shotgun:
The skill in the very center is Repulsion, which lets you push enemies a very short distance away. Generally, they can move much farther than you can push them, so it’s a fairly ineffectual defense - but initially it’s all your character is capable of mustering. As you gain experience from dealing with your emotions and talking to others, you can gain new skills that are connected to the ones you’ve already learned (in the above image, the highlighted circles are skills that player is able to pick). To quote the description from RPS:
You start at the centre, and each direction represents a different way of dealing with grief. See the yellow-looking skills towards the bottom right? They relate to regressing into your own imagination. The orange skills above those are all to do with being sociable, and the power of friends. An example of a skill that lies between both of those areas is Imaginary Friend, which summons an ally that will hold enemies back.
The skill tree is another beautiful metaphor, and I think it makes for an awesomely individual experience for each player. Instinctively, you might think that everyone will experience the same “story” when playing Winter Voices - the one the game’s writers came up with, focused a woman dealing with the death of her father. However, the important story in Winter Voices - what I think of as its “narrative” - is the one enabled by the gameplay mechanics. Everything that you do in a game contributes to its narrative, and most designers and writers ignore this at their peril. Almost every game in the strategy/RPG genre relies on generic player statistics like strength, agility, etc. and skills that focus on faster or more exciting ways to kill things. This makes it very difficult for them to have a narrative that doesn’t involve faster and more exciting ways of killing stuff, because that’s the main form of conflict resolution. Then the writers are forced to craft a story with a lot of combat opportunities, stifling a huge swath of meaningful stories and narratives.
Rather than following the combat-focused trend, Winter Voices makes a metaphorical narrative out of your choice of which skills and stats to invest in. Every player builds their own, personal narrative about who the main character is and how she learns to cope with (and hopefully overcome) her emotional anguish. It’s possible to play Winter Voices without thinking about the story behind your gameplay choices - your narrative - but I expect that few players would. It’s just more fun to construct a story to make sense of the choices the game has provided for you, and that’s what makes Winter Voices so amazing. The sheer size of the game’s skill tree (you can only see a fraction of it above) also contributes to this phenomenon, because there are a lot of valid ways to play the game. Since they’re all equally efficient, the player will probably wind up making some personal choice in how they decide to play. Metaphorically speaking, each potential set of choices represents a different coping strategy.
This sort of narrative complexity, which is generated by a mechanical system, fits poorly in other mediums. There are twelve mechanically (what they do for you) and narratively (what they say about your character) distinct skills you can choose when you gain your first skill point, and the number of possible paths only expands from there. That level of choice enables a wide variety of narratives, and it would be difficult to provide all of them in a single traditional novel or film. Moreover, the systems in Winter Voices provide an environment in which to make interesting choices. The skill tree in particular provides a handful of meaningful choices, each time you level up, about how your character deals with her emotional problems.
On the other hand, it also provides constraints that make each choice more meaningful. If you could have every skill in the game at once, your choice of skills doesn’t really matter in the long run to the narrative. If you could have ten arbitrary skills from the entire set, the choice would have less narrative meaning - there would be less logical progression in the way that your character solves her problems. The end result is that your character builds on basic, foundational skills to learn more advanced and more effective abilities, which have a logical grounding in what she chose to learn in the past. The choices and constraints in Winter Voices enable a wide variety of possible narratives, and that’s what makes it so fascinating. To me, that’s the essence of video games.
Having played Winter Voices when it was on Steam, I think it provides a valuable experience. If you spend an hour or two playing Winter Voices, you’ll experience a powerful argument for video games being art. The sort of argument you just can’t convey by letting people look at (but not touch!) games in a museum. It’s not a game for everyone, but you can get the game’s prologue for a few dollars, and I guarantee it’s worth at least that much money and a few hours of your time.
There’s roughly three reasons why I wrote this post: one, the game is set to be re-released soon with a plethora of improvements from when Rock, Paper, Shotgun played the game. Two, I was disappointed by the Smithsonian exhibit linked above and I wanted to provide a compelling argument for why games are art. And finally, Extra Credits just released a compelling two-part series about game mechanics as metaphors.
Regarding the first point: Some members of the original development team reformed under a new name, bought the IP back from the French government, and are currently running a beta test of a huuuuuuuuuuugely improved version of the game through Steam. If you’d like to try it out after reading this post, you can send them an e-mail at betatest@innerseas.com with the subject “Winter Voices EP5 - Beta Test”, with at least your Steam user name in it (maybe with some info about your computer’s hardware and such, too).
It sounds like they’re looking for people to test the game from start to finish right now because of a big engine update a few days ago, so they’d probably be happy to have your help. Otherwise, they’re hoping to have the game back on Steam in a couple of weeks. So even if you don’t get into the beta test, please do give the game a shot - with the improvements they’ve listed in the Steam forums, I expect I’ll be able to recommend the game without any reservations now.
[Thanks to Vael Victus, M-. and Sarah for reviewing and helping me edit. Also, if your viewing experience sucked, you’re probably using the Tumblr dashboard - blame their elimination of a lot of basic HTML stuff.]
While I was researching a post I’m working on (you’ll see it soon, I’m really proud of it), I took a bit of time to look into interactive fiction. This led me to a Stack Overflow question with a lot of good answers about IF tools/systems, and I realized once again how cool Inform 7 is. I’ve also been listening to episodes of a Destructoid podcast called “Sup, Holmes?” (itunes, feed with mp3s), and in a number of episodes (episodes 15-18) he has interviewed people from the Toronto indie game community. They all spoke of things they had worked on at various game jams in Toronto, and I thought that sounded pretty cool. A game jam is just a bunch of people gathering (often physically, but sometimes digitally) and working on a game for a set period of time. At the end, you have a thing that probably sucks but gosh darn it you made it and you’re going to be proud of it!
Light bulb: why not combine the two?
So here’s what I’m proposing:
This is meant to be difficult, because to the best of my knowledge I don’t know anyone who writes interactive fiction. The random theme aspect is designed to make it that much more challenging. What you produce doesn’t have to be awesome; it will probably be more fun to create than to play. At any rate, it’s just meant to be a fun event for us to hang out and do something interesting. I literally have no experience with this, and haven’t written creatively in a while, so I expect this to be really difficult. But you’re up for it, because you’re awesome!
I’m going to be continually adding resources that seem useful here, if you want to do a bit of research. Just try not to show us all up by reading everything like some kind of genius, alright?
For a practical introduction to Inform 7, check out this screencast by Aaron Reed. I’d forgotten about this video, actually; this was the first thing I ever saw about Inform 7 and it’s really quite impressive. He paints the system in a more prose-based light than some of the other more programming focused resources below. So at a bare minimum, give that a watch and then grab things below that seem useful.
One programming-language-y thing that I expect to be quite useful is rulebooks. I expect he’s right that using rulebooks as much as possible is a good idea, so do give that post a look and consider making use of them. Thinking about it a little, rulebooks are kind of like quirky interfaces - you have some behaviour that you want a bunch of things to share, so you put it in a single place and have them “consult” with the rulebook on what to do. Depending on the approach you take, this will either be incredibly useful or utterly irrelevant.
For in-depth tutorials on Inform 7, there’s a section on their site. The Recipe Book seems particularly useful.
For those of us with the background, Inform 7 for Programmers is long but informative. I actually find it to terse to a fault in some ways; it’s not very good as reference material to flip through.
If you’d like to see some source code as an example, check out the bottom half of this page which implements Cloak of Darkness, which seems to be an IF “hello, world” sort of story.
One of the StackOverflow answers recommended the section on design from the old Inform Designers Manual, Fourth Edition (DM4). So I’ve extracted that into its own PDF, which I’ve uploaded here.
Inform has an extensive library of extensions (shut up I am normally better at writing than that), which you can check out here - once you’ve got an idea of what you’re going to do, you might want to look around in there.
If you’d like to write a fight-y sort of game, you can check out an extension for Inform called ATTACK.
He also has a series of posts about designing a text-based dungeon crawler in Inform 7, if that’s your jam: pt 1, pt 2, pt 3, pt 4
If you run into anything interesting that I haven’t directly linked to, please do send it around to the rest of us. We’ll probably all be doing wildly different things, but you might inspire someone to change direction with whatever wonderful extension/blog post/whatever you’ve found.
I’ve been watching Chris Granger’s Light Table project for a few months now (apparently, since April) and the more I think about it, the more I like it. According to their Kickstarter, the rough estimate for release is May 2013. When it comes out, it’s supposed to support Clojure (a Lisp dialect that initially ran on the JVM but has a variety of ports), JavaScript, and Python - all dynamic languages with powerful tools for instantly providing feedback. The link in the title of this post will get you to the version 0.1 demo, which currently only supports Clojure.
Even though I like Emacs and have no trouble using a command line tool like Leiningen (aka lein), I see a lot of things to like about Light Table. I like the fact that lein is now built-in, and you can get started with a project right away. The Instarepl is fun to play around with, and it’s something that would be difficult for a purely text based editing environment. With the addition of the Table in the latest version is, things have gotten a lot more interesting. What they’ve done is emphasize the structure of functional programming through the structure of the IDE - you work with a bunch of discrete, self-contained units and gradually combine them into a unified organism (to take some inspiration from the preface to Structure and Interpretation of Computer Programs).
Working in a buffer of code, if you find that you need to re-arrange some units, it’s a lot of work. Light Table presents these units as being completely distinct from each other, making it easy to navigate between them and move them around. I assume the final product will make it easy to travel between the different views of your code - I’d love to shuttle a bit of code between the Table for editing and the Instarepl for testing, for example, but at the moment that doesn’t seem to be possible. The constant documentation lookup presented in the Kickstarter pitch+video is nice, as well, and I think it would prove to be more useful than having a hotkey to go looking for a bit of documentation.
The moral of the story, though, is that these are the kind of things you put together when you look at the logical structure of code. Extending Light Table in JavaScript, as demoed by Chris, actually winds up leading to more impressive extensions than most of what you see for Emacs. Emacs has tons of awesome extensions like Org mode; but your power starts and ends with text processing. You can make nice tables in Org mode - I’ll happily concede that you could write a similar benchmarking mode that outputs an Org file. That’s pretty simple in plain text.
What about displaying the contents of a database on the fly? It seems to me that Emacs isn’t so great at displaying constantly changing data like that (ie as you change the code in the associated buffer), but I could be wrong. But until someone completely revamps the rendering engine in Emacs (which could be a long time coming) you just can’t embed a webpage in Emacs. Full stop. No, viewing it in plain text with w3m doesn’t count. No, converting the webpage to a pdf and displaying that doesn’t count (yes, Emacs can do that). I mean honest-to-goodness embedding the webpage, such that you can interact with it and see it true to life, including its JavaScript and other stuff that probably stumps text-based browsers like w3m.
This isn’t just an abstract problem - displaying text with heavy formatting is basically impossible in Emacs. I’ve been looking at using Emacs to write LaTeX for papers, and the workflow is pretty crappy. You write your LaTeX document, you compile it and output a pdf, then you display the pdf in Emacs or in a standard pdf viewing program (on Windows, SumatraPDF is a good choice because it won’t lock the pdf file while you’re viewing it). Compare that to Gliimpse - personally, I’d like a version with instant transitions, but that’s just me. With or without transitions, it’s the same idea. You write your markup, you take a second to see what it looks like, you switch back to the markup to make some changes. Tada!
Contrast that with the current workflow - you write the markup, compile the new version, open the pdf, check out your changes, make some adjustments, recompile, re-open/refresh the pdf… A dual-pane environment for writing Markdown is actually available online, but I’m having a hard time finding anything similar for LaTeX. If Emacs had a rendering engine capable of displaying LaTeX documents accurately, it would provide leverage for a plethora of useful tools, stuff above and beyond the demos Chris put together.
Until then, we have Light Table.
If you don’t use Emacs, you can safely skip this post. If you’re curious, checking out my files is probably a bad place to start; I’ll make a post sometime about all the “starter kits” I’ve discovered and pilfered ideas from.
I don’t know if I have anything super awesome in my configuration (yet) that actual Emacs users would want to check out, but hey, here’s what I’ve got. You’ll notice there’s an insane amount of comments in there. By my last count, the file “old .emacs” contained 1207 lines. Without comments, it only had 239 lines of code. The main benefit is that it’s really, really easy to read through (for me, anyway). I can go a couple months without looking at the files and still understand why a certain snippet is there. I’ve linked to the source for a lot of things (80 character line limit be damned), too. I’ve got sort of a hierarchy going on with the number of semi-colons in a given comment line - five for the introduction of a section, three for the introduction of a paragraph explaining something, and one for each line thereafter.
Oh, and 80 semi-colons surrounding every conceptual section. They’re kind of hard to miss.
Something that may be new to you: I learned about electric-buffer-list yesterday, which I don’t think anyone ever uses, but it’s enough of a marginal improvement over the default buffer-list command that I mapped it to C-x C-b. And, hey, it supports the same buffer highlighting as the original buffer-menu (you only have to modify a single line). But of course, this being Emacs, you also have the option of BufferMenuPlus, if you like.
It’s not meticulously organized just yet… There’s mostly no rhyme or reason to the ordering of a given file. I’m planning a big revamp johnw’s use-package soon, and just generally getting things organized in a clear way. I haven’t actually used org-mode yet, but I’m starting to itch for hyperlinks within/between my files - I may very well take advantage of org-babel and base a new version off of it. I could even have a table of contents for a given file, which would be nice for other people who you don’t know what to search for.
Hyperlinks in a text file. Yay, Emacs!
I recently added Disqus comments to my Tumblr, so that anyone can make quick comments on my posts without having to formally reblog the post. Or otherwise use Tumblr at all. This further illustrated the main problem with my tumblr: it totally sucks if you aren’t reading my posts through your dashboard. Well, the RSS feed might be good. But anyway, people visiting for the first time didn’t have a great experience. It didn’t look good, it was a pain to change things, and so on. I was always apologizing whenever I linked someone to it.
It was using a pretty lame default theme that was available when I first started this whole thing more than two years ago. When I was trying to add Disqus comments, had to futz around in the HTML in order to add the comments section, and even then, it looked weird. But the guide I had bookmarked on getting Disqus on tumblr, aside from highlighting some useful stuff like Akismet, also mentioned that “modern” themes have built-in support for Disqus.
In other words, it was time to move on.
I eventually settled on the theme Effector, which looks relatively nice and has support for a huge amount of stuff. It has a checkbox for infinite scrolling, which I had previously enabled with some JavaScript I found online. It has Disqus support, obviously. It has a nice little section where it links to various social networks. It has a floating bar thing for my title and search box and stuff. All in all, it’s a huge improvement. The one thing I don’t really like is the flat colouring used in music posts, but I think what I have now is kind of ok.
Stuff I changed:
I’ve got a few things I’d still like to take care of, though:
Anyway, there’s a bunch of stuff you can fiddle with if you haven’t visited the actual web page in a while. Or add to your own tumblr, if you like. Or any website, I assume, if that’s how you roll. Swiftype’s indexing and searching is really quite nice, and it’s free if you’re not sucking up their bandwidth. And automatic syntax highlighting is pretty rad if you’re going to post code snippets. So yeah, if you like the sounds of that, go check them out and I’ll be happy and stuff.
edit, five minutes later: I uploaded the required JavaScript file and the Monokai theme for highlight.js, but unfortunately it looks quite ugly. Turns out none of the themes with dark backgrounds look good on my current theme. So I’ve gone with the Arta theme because it kind of fits with the rest of my current colour scheme. You can see it all in action at this unlisted page, if you’re curious. It was pretty easy to install, actually, though I have no idea if it might have averse effects on page loading…
Over the last few months, I’ve been learning a lot about a text editor called Emacs. I haven’t started using it full-time, yet, but I’ve already spent dozens of hours researching it. The reason that so much information even exists is that Emacs can be easily extended to do things far outside the domain of a simple “text editor”. This is done using a programming language called Emacs Lisp (one of many dialects of Lisp). The essay I’ve linked above, The Lisp Curse, proposes the following hypothesis: “Lisp is so powerful that problems which are technical issues in other programming languages are social issues in Lisp.” Since Emacs is written in a dialect of Lisp, naturally it seems like it would fall prey to this problem.
I can’t really evaluate the essay as to how it treats Lisp historically. But what strikes me about it, as someone who (currently) isn’t fluent in Lisp, is how much it reflects what I’ve seen in Emacs. The EmacsWiki is nothing if not a historical archive of many years of Emacs development. If you go to the page for some high-level problem, like session management, you’ll usually have at least three competing solutions. The trouble is that many of these solutions haven’t been touched for years, and may even be broken in modern Emacs. A different solution (which may not be perfect) may have been added to the standard distribution in a recent version, making extra code unnecessary (electric-pairs comes to mind for auto-inserting pairs of characters like [] and ()). This has been the case for the history of Emacs pre-2011 or so - let’s call this the “Dark Age of Emacs”. It seems to me that projects from the Dark Age of Emacs suffer from The Lisp Curse. From the essay:
“Programs written by individual hackers tend to follow the scratch-an-itch model. These programs will solve the problem that the hacker, himself, is having without necessarily handling related parts of the problem which would make the program more useful to others. Furthermore, the program is sure to work on that lone hacker’s own setup, but may not be portable to other Scheme implementations or to the same Scheme implementation on other platforms. Documentation may be lacking. Being essentially a project done in the hacker’s copious free time, the program is liable to suffer should real-life responsibilities intrude on the hacker. As Olin Shivers noted, this means that these one-man-band projects tend to solve eighty-percent of the problem.”
I ran into this problem pretty early into my Emacs career. Session management was one of the first things I wanted to figure out when I started with Emacs. My goal was to keep a small text file open on the side at all times, containing a list of shortcuts and tricks I should remember. Imagine my frustration when none of the solutions I tried actually worked! Or at least, none were simple to set up for a complete beginner. Right now I use revive.el, which functions for the most part, but I’m not entirely happy with it. I could probably get it working if I understood it better, but at the moment its particular 80% solution works for me.
Code from the Dark Age of Emacs is kept in blog posts, hosted on EmacsWiki, stuck in some obscure directory on university domains, lost to the ether that is personal websites with expired hosting… Tracking down updated versions is nigh impossible, because they’re often created by new authors taking care of an abandoned project. Small projects get “forked” or maintained by someone new without the benefits of the trail of crumbs left by forking on GitHub. I once ran into a project that was three times removed from its original author, with every successive version being hosted on a different personal website. The only reason I found the “newest” version of the project was a few stray comments on a long EmacsWiki page, full of hacks and monkey-patching that stopped being relevant years ago. See the EmacsWiki page on smooth scrolling for an example of this - odds are that none of those fixes will work for you. I’m surprised even two comments on that page have version numbers to serve as a lame time stamp…
It’s been a long time coming, but the Enlightenment of Emacs has begun in earnest, thanks to the power of the internet and proper tools. GitHub makes it incredibly easy for developers to collaborate on large projects, or for users to report bugs and have them fixed quickly. The Emacs Lisp Package Archive, and especially the inclusion of package.el in Emacs 24, have made installing and distributing extensions as easy as it should be. The MELPA repository combines the power of the two by supporting packages stored on GitHub, without requiring the author to upload their package to a special repository or give ownership their code to someone else. Unlike, say, downloading revive.el, trying a new package doesn’t mean downloading some files off of a Japanese server. While bad documentation mostly plagues code actually hosted on EmacsWiki, GitHub encourages everyone to have a bare minimum of non-technical documentation (do this to start using it, here are some things you might want to tweak). Collaboration on a single perfect solution is easier than ever before, and life is pretty good for both developers and users.
Here’s a somewhat abstract problem, solved with flying colours by collaboration: when programming, you often want to select some chunk of code and do something with it. Usually, this is a “semantic” chunk - in prose, imagine selecting a word vs a sentence vs a paragraph. You can see a video of this in action here, and see for yourself how awesome this actually is. I can’t track them down any more, but I saw at least one “80%” solution to the same problem by Xah Lee, and another somewhere else. This is the Dark Age of Emacs at work - nobody knew what anyone else had developed.
Magnar Sveen’s expand-region.el is, as far as I can tell, a nearly perfect implementation of selecting semantic units. Better yet, it’s not limited by his imagination. If you scroll down, you’ll see that there are at least eight other contributors to expand-region. If you scroll up, you’ll see there are many specialized X-mode-expansions.el files. If your language of choice isn’t supported, contribute! And now there’s a definitive solution to this problem.
I don’t know, first-hand, how things stand for Lisps other than Emacs Lisp. Or whether this is going to be true for new dialects of Lisp going forward, thanks to new tools. From reading people’s reactions to the essay on HackerNews (in two different threads!) and Reddit, it seems like the problem is real… depending on who you ask. The fact that it’s so easy to solve problems, everyone does it their own way had at least one piece of anecdotal evidence in its favour. Lots of people disagreed, obviously.
Points in favour of thinking this may not be true going forward: a lot of people threw in a vote for Clojure, a newer Lisp dialect that runs on the JVM (which has definite overlap with the Emacs community). I’ve seen some pretty cool tools (lieningen, Light Table - no surprise that the two work together) and libraries (Noir for web development, Overtone for making music) for Clojure, and they’re all hosted on GitHub. Perhaps programmers finally have the social tools we need to avoid not invented here syndrome and the other composite parts of the Lisp Curse!
It might sound kind of strange, but part of my job at Hotsoft is actually just to get used to academic culture. As part of my ongoing education about what being a graduate student will be like, I went to my first conference two weeks ago in Washington, DC. The conference was the eight annual Symposium On Usable Privacy and Security, and you can read the notes I took at the link I’ve posted! It’s a notebook I put together with Microsoft OneNote and have shared publicly through SkyDrive - in theory, it should look pretty nice. But if you prefer, I’ve put a .pdf version up on UniNotes.
My thoughts on the conference itself: it was what they call “single track,” meaning there’s only ever one thing going on at a time. That was really nice, because it meant I didn’t have to plan what I wanted to attend in advance or run around like a crazy person trying to see everything interesting. I didn’t realize the conference would take pretty much the entire day, each day - I figured I’d have time to check and write e-mail, or do other productive things. Never really found the time, unfortunately. One of the lab’s PhD students told me that’s basically the norm at conferences, so that’s a lesson learned.
One thing that surprised me is the diversity of interests that were brought together under the umbrella of “usable privacy and security.” There were people who are immersed in the world of location-sharing services or looking at ways to use location data. Others were focused on studying Android app stores. And if it weren’t for meeting up at conferences like SOUPS, they probably wouldn’t ever interact a whole lot. As someone who doesn’t have a vested research interest in the area right now, I was actually pretty out of the loop on some of these things - for example, I know nothing about location sharing/tracking. So when I was talking for a while with someone who works in that area, I was a bit at a loss on what to talk about. On the other hand, when I was discussing issues that affect me as an Android user, I had lots to talk about.
I hope I made decent conversation, even when I was completely outclassed. I’ll have to work on getting people to talk about themselves more, so that I can just nod and smile. Practice asking clarification questions, so I can get up to speed without sounding like an idiot.
On Friday, when the conference was done, a group of us went to see the Art of Video Games exhibit at the Smithsonian. It was pretty unimpressive, to be honest, because it was primarily a “look, don’t touch” exhibit. Which really defeats the entire purpose of video games. There wasn’t much historical information about the development of different games, so they didn’t have that to fall back on either. The games they picked generated good discussion among our group, but I don’t know if non-gamers would get a whole lot out of the exhibit.
Overall thoughts on the trip: I got to know members of the lab when we went to dinner and chatted over drinks (water for me, because I can’t drink across the border yet). I met some new people, as well, from Carleton and from other universities. I learned what to expect from conferences, and got a bit of a feel for the HCI/privacy+security area. Altogether, I think it was a pretty valuable experience!
It’s kind of strange to think about it, but I’ve probably been at a PC nearly every day for the last 12 years. I’ve never chosen my own computer setup, though - I’ve always made the best of whatever furniture my parents picked up. That changed a few months ago when I dropped more than $300 - three hundred bucks plus tax and shipping - on a Kinesis Contoured keyboard. First, a few words on my ordering experience with ErgoCanada - if you’re in Canada and you want some crazy thing like a $300 keyboard or $100 vertical mouse, do yourself a favour and order from them.
As a child of the internet age, I thought it was kind of… quaint… to have to confirm my order over the phone. When you’re used to Amazon, where you click three times and receive your item two days later, it seems sort of old fashioned. But that assumes you know exactly what you want to order, and you know better than anyone else what you want. This wasn’t one of those situations. I was thinking of paying extra for the Linear Force model of the Kinesis Contoured - a version that basically doesn’t have a “click” when you activate the key. When I spoke to the lovely folks at ErgoCanada, they spent a good half hour asking about how I work and what my needs were before recommending I go with the normal model instead. They were completely right, so I’m really quite happy with the service I received.
Back to the question you’re all asking yourselves - why in the world did I do this? I swear it has nothing to do with tech lust (ok, mostly nothing, it’s a really cool keyboard). I actually did it because earlier this spring my years of extensive (and unhealthy) computer use finally caught up with me. There was no gradual build up of pain, I just crossed some threshold and suddenly everything hurt. The triggering event for my right hand seemed to be buying a new mouse - but my left hand started to hurt at the same time, which doesn’t make any real sense. For the first few weeks, if I used the mouse any longer than an hour, I wound up in serious pain. This sort of explains my extreme prejudice against the mouse. Either way, this got to the point where I had to stop typing my notes in class and give up on doing the last programming assignment for my C++ course before the deadline. The minor split in the Microsoft Natural Keyboard 4000 just wasn’t cutting it, and after reading more or less rave reviews for the Kinesis Contoured, I took the plunge.
I don’t want to complain too much, but in all seriousness, this absolutely sucks. I spent a few weeks when I started work in May just using a regular mouse and keyboard, and it was terrible. With a regular default Dell mouse, I was still getting about an hour of painless mousing. Typing wasn’t so immediately painful, but after a few weeks I realized it was starting to hurt. To solve the mouse problem, I picked up a Logitech Wireless Trackpad, and it’s pretty comfortable to use. For both the mouse and the keyboard, I bring them with me to work every day (though if I work late during the week, I may not bother bringing the keyboard home). If you haven’t heard me complain about how it hurts for hours after I type on a bad keyboard, you may think that’s ridiculous. But I don’t know if I could survive doing anything else. It’s certainly not annoying enough to validate buying a new keyboard, anyway.
I’ve mentioned Workrave before, and if you spend any significant amount of time at a computer, I highly recommend using it. It’s configurable to whatever frequency and length of break you prefer, and it’s smart enough not to prompt you to take a break when you haven’t been doing anything. It’s also portable, so you can run it off a flash drive at your work computer. I care about your health, dear reader, and there is absolutely nothing to be lost by using it. The reality is that it’s terribly unhealthy to use a computer for hours without taking a break. Yes, you have important things to do. So do I. But I still take a 25 second “microbreak” every two and a half minutes, and I use the time to take a drink of water or stretch. It definitely helps. The microbreak can be taken passively, though - if you spend 25 seconds thinking without typing (which you probably will), you won’t be prompted. Over the course of an hour, assuming I was typing constantly, it would only enforce about 8 minutes of thinking time.
For my real break, I take ten minutes away from the computer every 30 minutes of working (this could take more than half an hour of real-world time). These breaks are longer, and more frequent, than what I started with - but I’ve found that I needed them. You can take five minutes out of every hour for your break, and not take microbreaks at all. Or do 15 seconds microbreak every ten minutes. Again, in all seriousness, do yourself a favour by ignoring your innate feeling of invincibility, and taking some breaks now and then. Three cheers for preventative care!
Things still aren’t perfect, though. My random mishmash of furniture at my homes really doesn’t provide a perfectly ergonomic office space (chair’s too short, desk’s too short, chair arm rests are too wide, etc.). But the trouble is that desks and office chairs can’t travel from my mom’s to my dad’s every two weeks, so I need to buy two of everything. That’s a pretty strong disincentive. Plus, you know, I don’t really have the cash to get the perfect chair and desk. I’m thinking of starting with a good keyboard tray, because they’re <$200 and that would resolve my desk problem. Aside from that, I’m looking into physio (I got a recommendation from the family doctor) or a chiropractor (my mom and my brother already visit one, so I could just go with them). Should make a decision on that before the end of the month.
I’ll come back with a further update when I’ve found the perfect setup. Until then, please do ask for more detail if you need to be disabused of the notion that you’re immune to all of this! ErgoCanada has a really nice page about creating a good work setup. If you’re not working towards this, and at the very least using something like Workrave, I will be quite happy to argue with you.
vael:
…
… Though I have reason to believe that, in fact, voting doesn’t even matter; but that’s nothing provable and a matter aside from this.
Apparently, not so, if the politician on a recent Extra Credits episode is to be believed. For those who’d rather not watch the video, he notes that a lot of ridings in the US elections are very, very close and that a concerted effort could easily change the results.
Regarding the selfish nature. You will find as much evidence for my belief as you will to the contrary. My belief is typical with “objectivists” that understand how selfish us sentient creatures are. It’s my belief that life itself thrives: that it is hard to eradicate life completely once it exists. I believe this relates back to our internal mindset to look out for ourselves, and just as pigs do, we can be very social about it. We are social. Societies are the only reason we’re having this conversation. We crave social attention, but it is to fill our own need. I don’t believe this is erasable from the gene of life, but I believe that as a society, we should be doing more to discourage biases and to employ logic and efficiency to as many aspects of our lives as we can. I’m not hoping for Vulcans, I’m hoping for enlightened individuals who can have conversations just like you and I are having now.
…
I realize that I’m not anything like an expert just because the topic has come up in a few of my classes (most notably in my cognitive psychology class… go figure), but your absolute certainty pains me. You’re showing your own bias towards believing in “the selfish gene.” I can’t say whether you’re right or wrong, but I don’t feel like you speak from the position of authority that your tone implies. I’m not saying you shouldn’t make strong statements - I’m saying you shouldn’t make them without compelling evidence. With only weak evidence, or in the face of a lot of contrary evidence, you should only make a weak claim.
Aside from that, I hope you can see the trouble with writing from a biased point of view and then claiming bias should be discouraged.
The reason utopianism changed from “the world” to “yourself” is because it was jejune - childishly naive, even arrogant - to believe that we could just simply “better the world”. Well, Hitler thought he was bettering the world. We could agree that picking up trash along the highways and volunteering at soup kitchens is a good thing, but there is no way I could be attempting to posit this “belief system” as a genuine belief system and claim some ways that would objectively be better for the world. It is a subjective matter, but in the newest revision of utopianism’s article, it’s noted that one should attempt to be a positive force in all that they do. Push the world forward. A utopian villain would not be utopian, and yet again, here I am trying to define what a villain would be. Am I a villain for believing that I should ignore the world and let the virus cure itself, that I should just strive to have this “utopia” of ignorance and feel I did a good thing? I don’t know.
…
I’m of the opinion that being a “better person” implies making things around you better on some small scale. At a bare minimum, improving the lives of the people closest to you. When you can, do the same for random strangers (or at least don’t be a miserable jerk, even if there are no consequences). There’s much more you can do, but at least you can do that. But I suppose “improving yourself” doesn’t always mean “being a better person.” I think it’s important to do both, though. That’s my own interpretation, anyway.
Ok, so this Kickstarter ends in five hours and most people will have to wait an unknown amount of time to get their hands on a unit after today. But the video should still be available in the future, to blow the minds of future generations.
Here is what you’ll witness in their pitch video: a Pac-man controller built out of pencil lead on a piece of paper, DDR played using buckets of water, piano playing with bananas, typing with alphaghetti…
This Kickstarter is sort of a sweet spot makes it worth posting for me, because the price is really reasonable and the results are unarguably impressive. It brings to mind the Kickstarter for Twine, except that the minimum price isn't one hundred dollars. Granted, Twine seems awesome, except that it costs more to get anything useful done with it, and what it can do won’t blow anyone’s mind. This is Arduino with all the parts included - plug-and-play electronics hacking. That makes me really excited, because I’ve got lots of stuff I’d like to make, but I don’t yet have the skills.
For example: Sacha Chua, who first came on my radar as someone who blogs about Emacs, blogged late last year about a homemade USB foot pedal. Combined with AutoHotKey, that provides for a lot of possibilities - you could do pretty much anything with a tap of your foot. Thing is, I don’t know how I would get started building such a thing.
MaKey MaKey would let me build a foot pedal out of anything I have lying around the house. With more potential buttons, because my understanding is that you can use a configuration file to change what keys it will send. That’s awesome, and you will never convince me otherwise.
You seem to use the word “ignorant” as a shield, Matt. “Someone better explain it to me, because otherwise, geez louise, I’ll never learn and forever be ignorant. NotmyfaultI’mjustignorant.”
So, to answer: How can an ignorant person do the right thing? Educate yourself. Become LESS ignorant. While the Internet is full of rants and it can be hard to take someone’s opinion seriously when it’s followed by “*^@^&!^%@”, there are resources besides the Internet that are easily available.
Go to the Ottawa Public Library website and type in “transsexual” in the search bar (http://ottawa.bibliocommons.com). There are 63 items that appear and all of them are about either stories of trans* individuals or factual books about trans* people in our world.Hell, I’ll lend you a book. It’s called “Luna” and it’s by Julie Anne Peters. It’s about a girl and her biologically male sister.
There are people out there explaining it in a “relatively reasonable” manner. You just have to go listen to them. You can’t just sit back and complain about people not taking the time to explain things when you are not taking the time and effort to understand. And you should take the time to understand. It’s IMPORTANT.
Accidentally pressuring a game character to change her portrayed gender doesn’t make you a “bad person”. Especially since it seems like there’s some debate (judging by the comments) about whether the author’s right on that aspect. But if you end up never taking the chance to learn about the many other facets of sexuality and identity that are out there, you may continue to pass through life with a biased vision of “everyone I see is hetero and as born at birth except when proven otherwise”.
And that may, in the end, really hurt someone close to you. I guess, when that happens, you can always say, “I’m so sorry. I didn’t know. I just don’t think that way.”
But…this says that you didn’t even acknowledge the possibility they could be different from you.
A lack of education about the subject sends a couple messages:
a) you don’t care
b) they’re not important enough to care about
So, go to the library and get yourself a book.
blah blah blah click above to read original
The fact that I used ignorant in at least three different ways in the original post probably makes it hard to keep track of what I was trying to say. Reflects poorly on me as a writer, too, but anyway. Mostly I was refering to different degrees of not-knowing. To my mind, the three different uses are: knowing nothing at all, not knowing enough, and knowing only as much as one can know without experiencing something first-hand. The third is the most problematic, because it’s as knowledgeable as most people can get - but it may still cause a lot of unintentional problems. I just feel like there’s probably some portion that’s always going to be out of the realm of my understanding, no matter how much I may learn.
An illustrative example: I very rarely have “feelings” as such, and that’s really hard for me to completely wrap my head around. Playing a fun video game/reading a good book/etc. almost always feels the same, to me, as watching a sad scene in a movie. I still have emotions, mind you, because I know from experience that I behave angrily, happily, etc. I just don’t have (m)any cues to tell me what emotional state I’m in. Broadly speaking, anyway, most of the time I have to think back and make explicit judgements on my emotions instead of just “feeling” them. I’ve asked a few people, and this doesn’t seem to be the case for them, so it’s probably not just me subscribing to poetic hyperbole about what emotions should be like.
You can read the sentence “I don’t feel my emotions about 90% of the time” as much as you like. You can think about what might follow from that, maybe try to imagine it. That’s what I’ve done thus far as I read the article and the original comments (and a few other things in the past). But it’s actually pretty hard for me to even sort out what, exactly, my own experience even is - I’ve needed other people to tell me in the past that I was clearly angry, jealous, and so on. Figuring out what exactly I have, and what exactly I lack, is hard because I don’t know how else life could be. It’s hard to keep track of at times, and often I’m too busy thinking about other things to be consciously aware of how I’m feeling.
I’m trying to explain this, really, insofar as I understand it and in the clearest way that I can. Hopefully it helps you, the “feelings” endowed reader, imagine what it could be like. I imagine this is the case for most trans people, as well. But I’m not convinced many people can truly, completely understand either of these things - grok them - without experiencing them. Perhaps some extraordinary people have the emotional/social depth to grok the concept from a description in text. But I don’t consider myself one of those people, and so I feel like there will always be something I don’t quite get about gender and sexuality issues. I’d certainly rather understand to my maximum capacity (perhaps some 60-80% of grokking) than understand nothing at all. I’m just worried that the remaining percentage will lead to the majority of well-intended mistakes, each of which would likely be an independent learning experience. So that’s what I was really wondering about - without living that life myself, even knowing a lot of things second-hand, I just might not know when I’ve done something wrong.
———————————————————————
Truth be told, I’m legitimately upset by the idea of having done the wrong thing in Persona 4. As in, it bothers me to imagine trying to help someone I care about but actually just subtly hurting them. One of the problems is mine - that I didn’t know enough to think that there was a different way to read the situation. The other is just the limited interaction you’re allowed in the game, mostly along the lines of “choose Option A, B, or C” where one of the options is always “right” according to the game. To even advance your relationship with Naoto, you pretty much have to tell the game what it wants to hear. Unlike with actual people, you can’t ask a video game character what they want. You have to impose more of yourself on the situation, unless you’re aiming for maximum gameplay benefit.
As far as explaining things to me, what I had in mind in terms of was something like Dys4ia. It's a game (of sorts) by a transgendered woman who goes by Anna Anthropy, which covers the events around her decision to undergo hormone therapy. I feel like it was a great way for Anna Anthropy to tell her story. It’s quick to play and a few of the scenes are more striking, to me, than words alone would have been. I get the idea, a little bit more than I did before. And I wish that all the effort that goes into arguing with people on the internet could be turned into something more useful, like Dys4ia. It just seems like a waste of everyone’s time for knowledgeable folks to respond in anger and start a futile cycle of retaliation, instead of explaining to people how/why they have the wrong idea. Far be it for me to tell people they can’t be upset, obviously, but it makes me a little bit sad to see people getting themselves worked up like this. It just begs for them to be upset again by the exact same people, saying the exact same things, the next time the discussion comes up.
Anyway, I’d be happy to read books and inch my way closer to the limit of my understanding (if there is one). Truth be told, I have literally never in my life independently thought “I should find a book about this topic.” For better or for worse, I’m a child of the internet age. It works pretty well for the topics I consume the most information on - there’s very few good books about the things that flow through my RSS reader on a daily basis. Seems I was led astray in this case, because the quality of discourse in my corner of the online world isn’t that great. Not surprising, since it’s probably full of folks like myself. Scary to consider how much we can hear what we want to hear, these days. Best not to stare into that abyss for too long, lest it stare back and undermine some of the more basic beliefs in your beautiful foundationalist inverted-pyramid (or otherwise ruin your favourite epistemic visualization).
[click for a response from a concerned friend and take two of this whole idea]
Fortunately for me, I’m pretty much your typically privileged, white, middle-class, heterosexual male. I try to keep an open mind, though, especially after moving to Ottawa where diversity is the norm. At least, when I realize there’s something I have a limited point of view on - something easier said than done. Depression, perfectionism, and a handful of similar mental health issues are about the only things I can really understand. One thing I have a lot of trouble with wrapping my head around is gender and sexuality issues, because being a straight man makes me about as far removed from them as you can get. Part of the problem is the us-vs-them mentality that seems so prevalent among people who have to deal with these issues first-hand. While I can’t claim to be extensively educated on the subject, it does happen that a couple times per year I run into a piece like the linked article.
The formula seems fairly predictable: the author stands alone against the tides of unforgivable ignorance and spits vitriol at those of us who have the misfortune of being - and I think this is important - more or less incapable of understanding their position. There’s just no way for me to conceptualize being of a different sexual orientation or gender than I am. What I do understand is being hurt, and having a desire to lash out at injustice, and taking one’s frustration out on innocent bystanders. And that’s what I always seem to see, and it kind of sucks, because I don’t think it makes things better for anyone. It keeps the injured parties in a cycle of rumination and anger, and it drives away people like myself who would really like to hear their stories and try to understand just a little bit more.
If you read the article, take a moment to read through the comment thread. It’s not horrifically long, actually. You don’t need to read a whole lot - just enough to see NonsyM (the original author) only make aggressive/negative comments and say things like “it is not my job to explain to you why this is a problem”. I think that last comment is actually the opposite of the case - it seems to me that the whole reason that trans characters are treated the way they are in Atlus games is because no one on the team knows it’s an issue. They’re ignorant of their ignorance. If no explains to them that, say, their treatment of Erica and Naoto is harmful, why would they stop? Obviously making a minority the butt of a joke is wrong, but with those two characters, the transgression is more subtle.
From my point of view at the time that I played Persona 4, the thought of Naoto as a transgendered character never entered my mind. I didn’t consider it because it wasn’t part of my view of the world. I saw Naoto as a girl who didn’t want to be a woman because of the way it lead people to treat her - the only motivation for presenting herself as a man was to get the respect she deserved. If she could get that respect as a woman and be more comfortable with herself, all would be well. So my take on the romantic path with her was a familiar sort of white knight role - help her gain confidence and overcome what I perceived as insecurities over being a woman. So the comment that frames the final scene with Naoto as “peer-pressuring those you love into changing their gender presentation to better suit your sexual preferences" comes as a complete surprise to me - I thought I was doing the right thing.
I really don’t think that makes me a bad person. Now that it’s been suggested, I can understand a reading of Naoto as a transgendered character. If I had looked at the character in that way, I would have made a different choice. But this is an argument based on a handful of lines of dialogue, and not the rich discussion you would have with a real human being. You have a limited number of dialogue options with Naoto, and they’re offered to you by the game’s writers. In real life, you could suggest that someone try to work out whether they’re a woman who is uncomfortable with themselves or a man who is stuck in a woman’s body. Rather than having to guess or impose your own desires on them, as you have no choice but to do with Naoto, you could follow their lead. At a guess, I would imagine that the developers are people like me - people who can’t help but see Naoto as a woman made uncomfortable by society, and don’t necessarily think a discussion about their gender is necessary.
Ignorant folk like me won’t know any better unless someone can explain it to us in a relatively reasonable manner, and saying "you have nothing to contribute to this discussion and I will not educate you” doesn’t help anyone. If the people with first-hand experience are too fed up to enlighten the rest of us, how can we possibly do the right thing? You can kinda sorta enlighten yourself if you extrapolate through the profanity and the other anti-pleasantries that arise in internet debates, but it shouldn’t be so hard. The easiest, and probably only, way for us to really understand is for someone to swallow their frustration and teach us.
Leaving people to wallow in their ignorance only perpetuates the problem. It means someone else will probably have to put up with them the next time they feel entitled to share their opinion. You can’t make ignorance go away by avoiding it; greater education is the only permanent solution.
Hello, Internet. Long time no see. I’ve been doing things, lately, which is keeping me busy. With what? Well, shockingly, I’ve actually made new friends over the last two months. People I speak to outside of class/whatever location I met them, even! And, like, hang out with. I haven’t done that very often since moving to Ottawa. Mostly, these new friends are all cog sci majors, so we have lots of classes together. But we bonded over PAX East, and that’s the first topic of today’s long-overdue post!
——————————————————————–
A while ago, Vael mentioned that he was going to PAX East with a friend. The timing worked out for me, so I decided to go. I was only able to find one person from Ottawa to come with me, though, and it wasn’t someone I knew very well (my fault). That problem resolved itself when a certain outgoing individual in CGSC 2002 piped up at the end of class to suggest a road trip to the Smithsonian in Washington, DC to see an exhibit they’re having about video games (still in the works). “While we’re on that topic, anyone want to go to PAX East?” said I. And lo, our merry band formed on the spot.
So off we went around midnight on the last day of class for Carleton, April 5th. My dad and I taking turns driving, everyone else sleeping. Most of us arrived at PAX before noon on Friday - those of us who had bought our tickets in advance… It was good. We saw things. I literally had nothing I knew I wanted to see on the show floor. Though I did want to see if Cryptozoic had anything new on the Penny Arcade card game (which is great), and in fact, they did! They had a new expansion, and it is greater. Anyway, yeah, Friday was a day. That’s not to say I wasn’t excited; I don’t feel like boring you with the details anymore. This is a rare instance of restraint - enjoy it while it lasts!
Saturday tickets were sold out by the time we got ours, so those of us who didn’t receive a free ticket from a random dude simply hung around Boston. In the evening, though, we went to a gathering for Extra Credits fans, plus James himself, and that was fun. I would have liked to socialize more, but anyway. Doesn’t help that I uh… gave my PSN ID to the few people I spoke to and told them it was my Steam ID. Oops! Those of us without tickets to the show hung out with some guy for a few hours after the event ended. An air traffic controller, he was. Forgot to provide contact info to him AT ALL.
i am good at people ok why does no one ever believe me when I say this
Sunday was the most interesting day for me, because that’s the day that Vael was going with Eve Victus! We played a bit of the Penny Arcade expansion, wandered the show floor, went to an OC ReMix panel, met a dude from Ottawa, lost a member of our party for a while, and went out to dinner together. All in all, it was nice to have a short break from work and I think we were all quite inspired by the things we saw and the people we spoke to.
——————————————————————–
Personally, it was a lesson in how much more effective I am at making friends when I, uh, actually spend time with them. Strangely enough, I had no trouble at all being around everyone. We had plenty of things to talk about, and it’s easy to find things to do together - playing games (digital and analog) is an easy option, but we’ve all got some shared interests in film, anime, books, and so on. After the end of exams, I was even so bold as to invite everyone I knew in Ottawa over for a pot luck/games night. And it was good! And we barely played any games because we just ate dinner/chatted for hours. I’m thinking I’ll have another before the end of the summer, but I don’t want to burn everyone out on having to cook.
In the mean time, I’m spending more time with various folks, and chatting over IM/text when I’m at home (and my hands don’t hurt too badly). Feels good, man. Feels like being back to normal, in fact. Like coming home after spending a while as a cave hermit. It’s funny, really, because it seems like every few months I go through some slight change and declare myself “happy” and feel like I’ve come closer to being the person that I want to be. An anonymous reader noticed this, and sent me a very kind e-mail a few months ago. They weren’t too sure I was as happy as I claimed to be, but they assured me that socializing would get easier as time went on. It was something of a self-fulfilling prophecy: I think this stranger’s kind words helped push me to talk a little bit more and worry a little bit less about what other people might think (because they probably don’t think the worst of me).
——————————————————————–
Events like that are exactly why I have my e-mail address listed on my tumblr page. It’s part of why the internet is so awesome! People I’ve never met, who I don’t actually know are reading what I write, can reach out and share a bit of themselves if they like what I’ve shared of myself. It was a little bit strange when a friend of my father's told him what I’ve been writing about. But it’s kind of cool, too. This is me, and I’m happy that there are people who enjoy it.
I guess what I’m getting at is, if you read this stuff, I would be happy to talk to you. And I will try to be normal and not monologue at you. I learned my lesson, I promise! Shoot me an e-mail, or better yet, IM me in a way that makes it easy to tell you’re not a spambot. If you go for an e-mail and I don’t answer, send it again, because it may have wound up in my spam folder and I don’t wade through that cesspool very often!
This post has been in the works for a while - part of why I haven’t posted in a while. I was originally going to write it as commentary on academic culture works. Then I questioned whether I could generalize like that, so I thought I would focus on my own behaviour. Then I saw a post on Facebook linking to an article by a student at University of Toronto touching on many of my own points. The article is slightly tangential to this post, since it’s primarily about mental health in perfectionist university students (who, contrary to what some people may think, exist at every university). But it’s a topic I would love to see discussed more openly, so please read it if you’re interested.
This problem shows up in varying degrees, obviously. There’s individuals like me and most of the people I’ve met - we want the best and we push for it. Then you’ve got people in programs like engineering or architecture, who regularly camp out beside their workstations. A friend with an undergrad degree in one of Carleton’s engineering programs used the same terms as the article does: it’s a “badge of honour” to work that hard. There’s a twisted form of glory in managing to succeed despite taking on far too much work. It’s a stupid thing to do, but we’re bound to respect anyone who studies more than they sleep.
There’s even a bit of shame, to a certain degree, in being less overworked and miserable than somoeone else. When people like me complain, it’s almost more like bragging - after all, we all know I’m not going to quit. But when you start complaining to somebody who has more reason to complain than you, well, they must be better than you. Not only are they working harder, but they’re likely getting better grades in the process. How dare you complain about getting five hours of sleep for a couple of nights, to someone who regularly sleeps three?
For the sake of argument, let’s say we want to quantify this. After all, there’s something to measure and compare. The way I see it, there’s four components involved:
Taking inspiration from the misery index, and to make things catchy (which is important to scientists), I’ll call this value the misery quotient. MQ = (Success + SuccessInSpiteOfOneself) * Challenge / Sleep. Roughly speaking, it’s the amount of success you have per unit of sleep. More sleep makes for a lower value, with higher values being better. Granted, it might be more accurate to adjust the sleep values according to individual differences, and instead measure it as a percentage of what each individual ought to be sleeping. In this case, if we say I need 8 hours/night and only get 6, it’s the same as someone who needs 5 hours/night getting 3.75 hours - a value of 0.75. Keeping the same formula, higher values are still better, but you get way more credit for barely sleeping.
Anyway, here’s where I’m going with this: I’m tired of bragging about this. I hate that I still default to “complaining” about work. I have more interesting things to talk to people about than not sleeping, or working too much. That, and I don’t like being miserable. So I’m planning to change things up in the future, which will hopefully allow me to sleep more while still doing well and taking on interesting challenges. I could even have a bit of a social life on the side! It’s a simple change: I’m going to take four classes per semester instead of five from now on. That gives me three hours I would have spent in lectures, and whatever other time studying and doing assignments. It fits perfectly well with the timeline I already had - five years for the degree. I’m also working diligently on time management, these days, so I can make the most of the time I do have.
So here’s how I’ll end: will you join me in lowering your misery quotient? Can you find a way to do what you want to do, without depriving yourself of valuable sleep? It’s one of a small number of things that people need universally, but it’s not a direct survival need so we skimp on it all the time. Some people don’t need to socialize to stay emotionally healthy, and some people don’t need any recreational activity aside from work. But they still need to sleep, and you don’t know how much it affects you if you never take the time to catch up. Give it a try for a month or so, see how you feel on a good eight hours per night. You may not even be able to sleep properly, at first. But it’ll come, and once you’re properly rested, you’ll actually notice when you’re tired in the future. Or you can stay tired and work sub-optimally forever - it’s your choice, I guess.
vael:
I want you to take this post very seriously. This could save your right index finger.
Recently I installed Linux at work, and I have found very little reason to continue…
Ha-har! You think this is the best thing you can do for your mouse, but you would be wrong. The best thing you can do is to stop using a physical mouse at all. At first I thought it would suck, because not every program is keyboard-shortcut friendly. Then I installed something called AT Mouse, and I’m happily mouse-less.
Allow me to direct you to their help page, which describes its usage. You can move slowly for accuracy, you can move quickly for speed (double-press), you can pop the mouse from one side of the screen to the other (press left/right when at the edge), you can quickly jump across the screen (repeated presses of 7/9/1/3) - all using the numpad on your keyboard. If you’re one of the few people in the world who type so many numbers that you use the numpad, good news: you can still use it when you want! Though it no longer turns on the “Num Lock” light on my keyboard, but if I find the mouse isn’t moving, I just press NumLock+/ and we’re back in business.
In all honesty, it’s responsive enough that I can browse the web with it (though I’ve never tried Firefox’s Caret Browsing, and got too lazy to try out the mouseless Firefox dubbed Conkeror). Enough that I can stop using my laptop’s trackpad, which is the bane of my existence. Check it out, ‘cause it’s free. I’m a bit upset with some of their keybindings of other keys, mainly because it messes with my AutoHotKey scripts. Luckily, there are many alternative options that use AutoHotKey, which provide the benefit of being easily modified to add some of the nice features of AT Mouse.
So, to summarize our options:
I can’t ditch my existing customizations, obviously, so I’m going to cheat and steal take inspiration from AT Mouse to add things to one of the scripts I just linked to. It may take a while, because I have actually important things to do, but I’ll post here when I’ve got something worth using. Toss it up on GitHub or something, make life easy.
This is a quick post with relatively little of my own commentary, but I just want to share the story because it’s so absolutely ridiculous. Plus, in light of the hyper-popularity of Kickstarter these days as a good way to fund video games, it highlights the complete opposite end of the spectrum. Namely, the shitty way to fund games, in which publishers have all the control.
I’ve linked to an article on Nightmare Mode, mainly because it adds some commentary to the original story from Destructoid (breaking news on an independent video game blog!) You don’t have to read it, though - here’s the basic summary:
According to Nightmare Mode, the game sold five million copies. 5,000,000 copies. $60 each (well, they probably weren’t all full price, but it’s a lot of money at any price).
Obsidian Entertainment didn’t get a single cent from any of those sales. All they got was a flat rate for completing the game. Since then, they’ve had two rounds of lay-offs.
F*cking what?!
Years ago, when I would listen to songs that made me think of anything related to relationships, I didn’t stop to put into words what the song made me feel. I’d get a vague approximation of some thoughts, and I’d be appropriately happy/miserable/both, and that was all I needed. Now that I’ve got more time between myself and the relationship in question, I don’t get the same feelings, and so I literally can’t remember what it was that I liked about these songs. Listening to them now, I know there was something about the song, but can’t quite grasp it.
You can see the vague, unformed idea effect in some of the music posts I made back in 2010 - I’d post the song and the lyrics, but not say a whole lot about it. A prime example is this post about Kickback UK’s All The Wrong Reasons. I was listening to the song last night and thinking it meant something to me in 2010, but I couldn’t say what it was. At a guess, I’d say I felt like I was trying to help people so I could feel better about myself - the most cynical way of reading my behaviour at the time. There were a couple people I was “friends” with at the time mostly for that reason, and it took me a while to realize that wasn’t the way to go. But that’s only a guess - I can’t say for sure what I was thinking when I made that post.
What I can tell you is what the song makes me think now, which you will (hopefully) be glad to hear is much more positive. I was up late writing an essay for my Linguistic Analysis class, and I took the lyrics in a very different way. (Chalk it up to vague interpretations, I guess, when the same song can mean a totally different thing two years later.) I was feeling good about the essay and wanted to reflect a bit on how I’ve changed lately, and where I’m heading in the future. Moral of the story, for the tl;dr crowd - I feel like I’ve gone from “all the wrong reasons” to “all the right reasons”, and I’ve got big plans. Read on if you’re interested! Best if you take a stop by the old post, first.
"Head’s in the future, but your heart’s in the past" is an apt description of me circa 2010. Things were looking up, but definitely not all the way up. Which is a stupid metaphor if you try to picture it, but it works verbally. “And we’ve seen it all before, you’re holding out for more” follows from that, obviously. Neither of those things still apply to me, which is a good sign. Head and heart are both set on the future, I suppose. Getting to the future I want means working hard in the present, but it feels more and more and more natural as I put out work I’m legitimately proud of. Nobody’s ever going to look at the C++ assignment I’m working on right now, but that doesn’t mean I shouldn’t make it good and shoot for a mark of 110%.
The next line is what gets me now, and probably what got to me in the past as well. “When that call never comes it’s time to face what you’ve become - there’s no point doing all of this unless you know you’re having fun.” At the time, there were a lot of things I wasn’t terribly happy with. I wasn’t having a whole lot of fun with the work I was doing back then. Although it got me here, so I can’t complain - but it was all delayed gratification at the time. At least now I get some of that gratification! A little, anyway. Still lots of delay right now. But I’ve recently realized what I should be working towards, although I’d been thinking about it for a few weeks. I said I didn’t have many important goals for 2012, but I take that back now! I’ve got two, which I strongly feel I can accomplish, and which all of my work now contributes to:
Both of these are practical goals that will, hopefully, put me in a great position when I finish my education and set out for a job. So - “what have I become”? Someone who strives to be the best they can be. (Time will tell where I’ll fall on the sweet/awesome dichotomy.) I’m not necessarily having fun, but I’m seeing the big picture now.
From where I stand, that means a number of different things. Most recently, it means improving my writing consciously, the way I used to while I was in AP English. (If you’re interested in that writing analysis tool but not interested in Emacs, I can look into creating an independent version, with the author’s permission.) Going back a few weeks, I’ve started to really dedicate myself to programming well. I’m getting tons of inspiration on that topic as I dig up tidbits of information about Emacs, and inevitably get linked to some other brilliant piece. There’s Steve Yegge and Avdi Grimm over the past few days, who have both Emacs secrets I can steal and general programming knowledge. Meanwhile, Jeff Atwood and Scott Hanselman write about quality of life as a programmer - improving your tools, improving your office, improving your lighting, etc. Aside from that, I’m always trying to synthesize what I know about the seemingly-disparate areas of linguistics (at least, that’s what the separation in course content would lead you to believe). I want to say with some confidence that I’m a linguist - not some kid who “maybe heard about that in university, but didn’t think it was important”.
In a similar vein, I’m connecting all the dots in this “cognitive science” thing. Philosophy is cognitive psychology, cognitive psychology is neuroscience, neuroscience is linguistics, linguistics is computer science… And the whole conglomerate is cognitive science. I may not use every part of it for the rest of my life, but understanding them all matters. Even if I were to be a career programmer, I’d keep usability testing in mind. Even if I were a linguist for the rest of my life, I know for a fact I’d land in a crossover field - computational linguistics and neurolinguistics seem equally likely right now.
So what I’m getting at is: I know what I’m doing here, and I know who I am. I can’t tell you what I’ll settle on for a job, but I know what the core components of that job will be. This is where I belong. The lows may be low, but the highs are home.
It’s the moment you haven’t been waiting for: a big post about Windows software! I happen to think most of this stuff is pretty rad. I know the appeal isn’t universal, though, so I’ve organized this post in descending order of mass appeal. It’s a five-star scale, with five-stars being “everybody try this” and one-star being “you might find a use for this”. Some of these things may be multi-platform, but if you don’t use Windows, you may as well skip everything after the 5-star section. If something in that section is Windows-exclusive, it’s up to you to find an alternative for your OS! A few ways to do that: the Lifehacker app directory, alternativeto.net, or Google.
Side note: this is partially inspired by the website The Setup, which interviews smart people about how they do what they do. I’ve learned some neat things there, but it may not be worth going through the archives unless you use OS X exclusively. Other main reason: I want to tell people about neat and useful things!
f.lux
Available for every platform ever created, f.lux takes your geographical location and calculates the sunrise and sunset in local time. Then it tints your screen to simulate the natural cycle of the sun. The red hue at night seems weird at first, but it’s something you can’t live without once you get used to it. If you use your computer in the dark, do yourself a favour and try it. I find that I sleep better, my eyes hurt less, and I actually get tired later in the evening. I actually wasn’t using f.lux for a while - it wasn’t in my startup folder for some reason. I realized something was wrong when I was on my PC at 3 AM, fueled in some way by that disturbing blue glow, trying to read all of the things there ever were. After turning it on again, I got to see the benefits all over again. So yeah, download this.
LastPass
LastPass is the closest you can get to real password security these days. It’s infinitely better than your browser’s built-in password manager, and I want you to use it. Please? I don’t even know my passwords anymore, and I don’t need to! Life is good.
AutoHotKey
What to say about AutoHotKey? It provides a sky-high programming language to easily manipulate things that would be painfully complex any other way. The corollary to this is that it’s a programming language, so you’re limited by the problems you want to solve with it. My current uses:
Lifehacker has a ton of posts about AutoHotKey, though. So look there for some inspiration.
Rainmeter
I love Rainmeter. I love it violently, with every fiber of my being, every second I use my laptop. A quick look at the most popular skins on DeviantArt is all the explanation you’ll need. Exciting new features are on the way: Rainmeter 2.3 brings the option to define a margin around the screen that’s reserved for Rainmeter - maximized windows can’t use the area you define as part of the DesktopWorkArea. This is a fantastic addition, and it’s something users have needed other utilities for until now. Rainmeter is everything I want in software: sexy, lightweight, and highly configurable.
WorkRave
WorkRave is a neat tool I found recently that I highly recommend if you spend hours at your PC. WorkRave lets you set a certain length of time for taking short breaks to rest your hands (I do 15 seconds every 10 minutes) and longer breaks to stand up and stretch/exercise (I’m doing 5 minutes every 55 minutes). It’s partially a health thing, and partially a time-management tool. Did you know you’ve been reading stupid crap for an hour? Do you actually want to be doing that? Go for a walk, stretch your legs, think about what you’ll do after your break. I actually found it quite helpful during Reading Week, and I was grateful for the breaks whenever I was working on a tough problem. Instead of breaking my flow, it helped me focus when I was actually working. Definitely check it out.
Anki
Anki is, put simply, a digital flashcard program. But it’s also a tool for spaced repetition of anything you happen to want to learn. Spaced repetition may be the second best way to learn, topped only by applying your desired skill in some useful way. One of my professors introduced it to the class as a way to study, and I’ve gotten into it since then. I’m using it for most of my classes, and the Anki decks will accompany my class notes in the future. Your mileage may vary, though - creating the Anki cards is part of my studying, too. I know what the cards are actually trying to say, and I rehearse background info that’s not on the actual card. It doesn’t cost me anything to export my decks, though, so why not? Here’s an article with some guidelines for using Anki, particularly outside an academic/testing related setting.
Microsoft OneNote
This is the only paid software on the list, oddly enough. I’ve posted about OneNote in the past, and I still love it. OneNote has a ton of features-you-never-knew-you-wanted that make editing a little bit faster - they’re simple but appreciated. My notes export to PDF and MS Word documents in a decently attractive format, so I can share them for your viewing pleasure, and for the benefit of students with disabilities that make it difficult for them to take their own notes. I’ve never tried Evernote, but I’ve never wanted to - OneNote is perfect for my needs.
QTTabBar
I use QTTabBar so frequently that I don’t remember what options I actually use. I can’t use Explorer without it anymore. Download it and look through all the sweet, sweet options it provides. Its most noticeable feature is tabs: how can you live without them? But it adds lots of other useful things, too. Double-click the folder background to go up to its parent folder, hover a file to preview its contents, and many more. Using a light Windows theme, I recommend the Firefox 3 theme if you use a light Explorer frame, and my personal pick to go with the dark background of my Explorer is a mix of two styles: the background image from Adagio and the tab image from NOOTO. Using the settings provided by NOOTO’s creator, I think.
RescueTime
It requires some self-discipline, but using RescueTime definitely helps keep me on task. Although I may have cheated a little by defining my hours of Emacs research as “very productive”. Lifehacker has a brief-ish guide on how to set up RescueTime in a way that works for you. Try it out for a bit - my one recommendation is not to get too attached to the premium features. Unless you need to distinguish between 5 hours spent in MS Word and 30 minutes spent in 10 different documents, a free account is still great. Bonus for laptop users: it’s quite light on resource usage.
Dropbox & Dropbox Folder Sync
I started using Dropbox to access shared files from the DM of the Cognitive Science D&D group, but I stayed because I can easily make backups of things like Rainmeter skins and other tweaks I’ve made. The Public and Photo folders have their uses, too. While the option is still available, you can score some free, permanent space upgrades by testing the photo upload feature. I got 5 gb from it when it first came out, so I’ve got plenty of space - unlike every other Dropbox user, I’m not pimping my referral link!
WriteMonkey / Q10
“Distraction-free writing programs” that offer minimal features and, more importantly, minimal UI. WriteMonkey is more frequently updated and provides more features, but I couldn’t quite get it to calculate things like page lengths correctly. They’re worth trying if you get distracted when you want to write, but they don’t have the pure text processing power of other programs.
Soluto
Soluto is occasionally useful, but it’s worth installing to look at your boot times. I’m not sure how the “delayed start” feature works, but I’ve had no problems with it. Soluto doesn’t solve the problem of slow boot times, so much as it highlights the actual culprits for you: all that terrible software you installed with the default options checked.
KatMouse
This is a small utility, but a useful one. It only does one thing: makes your mouse scroll whatever it’s currently hovering over. Saves you from having to put a window into focus. I know, you might not have this problem, but if you ever do!
Miranda IM
My multi-client IM program of choice. Best for masochists with hours to waste tweaking. I almost wrote a quick-start guide for it, but then realized nobody would care. Let me know if you care! I still use it over Pidgin almost entirely because of a contact list theme called Malice Tab that gives me a small visual dock for my contact list. Sexy, lightweight, and (with enough blood, sweat, and tears) configurable.
PhraseExpress / Texter
I don’t actually want to recommend either of these pieces of software. PhraseExpress is a resource hog, but it does work. Texter is, disappointingly, the exact opposite (it will break, inexplicably, after prolonged use). But text expansion is extremely cool - being able to type common words and phrases with a few keystrokes would be great for taking notes, or any other situation where there’s common vocabulary/phrases. There are good options for other platforms, but nothing that works for me on Windows (on a desktop, you might like PhraseExpress - but configuration is rough). Check Lifehacker’s posts on text expansion if you’re still interested - I think there’s are some good options on OS X, and maybe something workable for Linux.
Ultimate Windows Tweaker
This is a great tool that bundles many useful registry hacks (both enable and disable) in one convenient UI. It works on Vista and Win7. Check it out, for sure. Personal highlights: disable automatic restart after Windows Update (“Security Settings”), everything under “Additional Tweaks”, especially removing arrows from shortcut icons and removing the ’-Shortcut’ suffix on new shortcuts. Take ownership and ‘open command window here’ are occasionally useful, too, and also under “Additional Tweaks”.
Right-click menu editors
I have two categories of tools here: one for Firefox, and a handful for Windows (Fast Explorer, ShellNewHandler, the somewhat inferior ShellMenuNew, ShellMenuView, ShellExView, and OpenWithView). It’s the same idea either way - remove the useless clutter from the right-click menu. I don’t use LibreOffice file formats, so I don’t need the right-click “New” menu to offer me six file formats I don’t even use. You may not care! But I enjoy this level of control.
I said I’d write about customization at some point this week, right? Well, I meant to do it earlier, but instead I spent the last couple of days customizing Emacs. I was having too much fun to appreciate the irony of the situation. On the bright side, I’m just about ready to use Emacs for damn near everything ever, which should be fun. This has an unexpected benefit to you, my dear reader, because you’ve been saved from a lengthy post.
Originally, I was going to write about the process of setting up my system - I figured that someone, somewhere, would appreciate it. I used to get really jealous of people’s desktop setups a few years ago, and I would have loved to see them include instructions on how they did it. I took a bunch of screenshots to build the post around, and I even knew what I was going to write about them. You can still see those screenshots here, if you want (not pictured: drop-down terminal, best used with Cygwin’s bash). If you like what you see, I’ve got contact info at the bottom of my actual tumblr page - I’d be happy to help!
While some of the changes I’ve made are purely cosmetic, it’s all been about setting up a system I’m happy with. More importantly, setting up a work environment I’m happy with. I use my laptop for taking notes in class, where battery life trumps all other concerns. I use my laptop for writing papers, for writing code, for browsing the web, for keeping in touch with friends - the list goes on. Long story short, I’ve been working for a couple of years now to get a user experience I’m happy with on my laptop. With this latest round of customizations, I think I’ve finally gotten there. I’m embracing the keyboard a lot more to get things done quickly, and with AutoHotKey, I’ve got a lot of power to make things juuuust right. I turned my right alt key into ctrl, for example, which keeps me from stretching my pinky all the time. I found out about using ctrl+backspace to delete the entire preceding word rather than mashing the backspace key a bunch - then I remapped a key combination to do it without taking my fingers from the home row. Now I’m typing away as fast as I can think, and it’s awesome, and I’m genuinely happy to be using my computer.
When I’m not wrestling with inconsistencies created by multi-platform software interfacing with Cygwin behind my back, anyway.
So this post isn’t as horrifically boring as I thought it might be. On the other hand, it’s nowhere near as interesting. Hmm. Well, you’ve got the pictures, right? Look at them! I’ll have more interesting things to say in the next post, about software, because that’s where the magic happens. In the mean time, I’d better start actually using Emacs to do work…
A long time ago on a tumblr far, far away a challenge was issued to create a post about goals for 2012. Bonus points if a summary of 2011 was written. I took it the other way and made the 2011 part primary, with the future goals as a bonus assignment. I didn’t get around to the 2012 post during the Christmas holiday, and then school happened, so that kept me away. School has stopped happening for a week, so now I’m catching up on a ton of stuff. I made a to-do list of things I wanted to accomplish between February 17th and February 27th, mostly school related, but there’s a few fun things as well. I’m happy to say that writing this post is the 14th item accomplished out of a total of 27! Although I’ve really just been taking care of the small annoying things, it’s nice to get them out of the way and be on the ball a bit more. At this point I’ve got a couple big projects to take care of, four items related to fixing up scripts for LBL, and a week-long studying project. Ideally, if I take care of this stuff now, it’ll put me in a really good situation for the rest of the semseter. So there’s my short-term goals for the next week.
———————————————————————–
Goals for the year?
For the rest of 2012, I have a bit more difficulty deciding what my goals are. The main problem is that I haven’t managed to dedicate a significant amount of time to anything but school for a few years now. It’s definitely my number one priority, and that’s a good thing, I guess. But I’ve always seen school as an obligation, something I do no matter what. I could just say that my goal is to keep my average where it’s been, or to do really well in a certain course. But it feels like saying “my goal for 2012 is to continue breathing, not starving, and not dying of dehydration.” It’s the absolute baseline of what I’d need to do throughout the year before even looking at other things. That’s why other goals I make tend to fall by the wayside. I’ve said a few times that I would like to find ways to do get everything done and still have some spare time, and as you can tell, that hasn’t happened yet. I suspect the answer to that problem isn’t going to be finding some amazing way to revolutionize my workflow. The biggest hindrance is probably the fact that I get so miserable I don’t even realize it, which does more to keep me from working than anything else. The cycle of “procrastinate in a subconscious attempt to find some kind of joy,” followed by “oh no I have no time I must work constantly” is really not optimal. If the first week of this semester and the last few days are any indication, I can do a lot more when I’m happy - and I can actually enjoy my work, too.
So I figure the best thing I could probably do in 2012 is find some way to stay consistently happy. Problem is, I don’t know where to start. I don’t think the answer is to set aside time for my hobbies (playing games, reading, tweaking my computer, sometimes anime) because all of that stuff is solitary. Although working on some open-source programming projects and seeing actual results from my work might be a rewarding exception. In reality, I’m actually not sure I can distinguish between being lonely for real and just feeling guilty letting my relationships wither. Sometimes I think it’s the latter. Either way, I keep wondering if I might not be miserable if I had more close friends (which would involve talking to people sometimes, or maybe even hanging out with them - but that would be crazy). Or that it might be nice to not be single (even crazier). The fact that I find both of those things incredibly difficult makes them both fine contenders for ways I could improve in the long-term… I just don’t know if I’m willing to commit to either one. If I did say for sure that I would accomplish one or die trying, I would probably work at it. I might also just tell myself that I’ll work on it for a few hours and then chicken out. I need a real push to get it done, I guess.
———————————————————————–
Trivial goals
As for a trivial goal that I will definitely accomplish because it’d be impossible not to, I’m going to finish the last half of FF VI this year. I might even finish FF XIII-2 before Reading Week is over. With both of those things done, I can safely say I’ve finished the entire main Final Fantasy series. Depending on when I finish FF VI, I can see myself getting through Dark Souls as well. That, I would actually be proud of. It’s incredibly rewarding to make any progress at all in that game. If I’ve got extra time left in 2012 after that, I’d actually looking forward to playing Nier. I hear fantastic things about its narrative, despite a lot of serious flaws in the rest of the game. I’ll write more about that if it does turn out to be amazing, anyway, and if nothing else I’ll write about how its soundtrack blew my mind.
———————————————————————–
Tune in next time
Anyway, I’m going to have a few more posts coming up this week. First, about the current state of my computer customization. I had somebody summarize the reality of that situation pretty well: “If I have to explain why it’s awesome, you probably won’t think it’s awesome.” I’m excited, and you have to respect that. Second post is slightly more accessible - I’m planning to recommend some of my favourite software. Only slightly more accessible, but it’s something I can give to people when they say “what do you recommend for doing x?” Which has happened to me all of once. NEVERTHELESS, I INTEND TO WRITE THAT POST. You might get a super special post after that, depending how the rest of the week goes. So there’s something you can look forward to!
I’ve gotten some surprising compliments during the past week. Surprising in the sense that I personally don’t see myself the way they were describing me. Since I don’t see myself that way, I don’t talk about myself that way, either. A stranger reading my tumblr would probably think I’m a quivering, anxious wreck that never manages to get anything done. That’s a bit of an exaggeration from the reality, but since I prefer to chastise myself for my failures, failure becomes my public face. Although, the way I think about it, the negative posts are all waiting on a future post that declares my ultimate victory over the original problem. It may not appear today, or tomorrow, but it’ll come! Probably!
The first set of compliments came from an extremely astute co-worker, when I mentioned that Robert Biddle initially assumed I was a graduate student. She said that wasn’t terribly surprising, given that I genuinely enjoy what I do and I’m dedicated to my work (unlike some people my age). Later, when I offered to put in a couple extra hours of work, she said she’d find someone else “because I work hard enough as it is.” Given that I’m taking five classes, running the lab’s current projects, and developing new projects on top of all that. Not to mention maintaining and updating older lab work and making it as “perfect” as I can.
When you put it that way, it paints a much more flattering picture of me than the one I present. I’ve been disorganized for months now, but I’m still pulling in 90%+ grades on almost everything, as well as managing my work in the Language and Brain Lab. I genuinely think I could be doing more, but that’s just the (probably unhealthy) work ethic I’ve picked up over the last few years. I keep telling myself to do better so I don’t fall behind the difficulty curve, but so far I’m still ahead of the game. Obviously I’m doing something right. Not only that, but as far as tuition and various other costs go, I’m soon to be financially independent entirely because of my own hard work. It’s not like I’m raking in The Big Bucks, but it’s enough that I’ll likely graduate with zero debt. Looking at it a bit more objectively, I feel a lot better about what I’ve accomplished and where things are going from here. Which is a good feeling!
She also noted that I carry myself like a grad student, as I’m comfortable in my own skin and bold enough to approach professors and ask to work with them. I actually had someone else recently tell me that that they think I’m outgoing, too, so apparently I can make a decent first impression. While it’s a kind thought, I don’t think I really agree with them. Truth be told, I mostly manage to seem “comfortable in my own skin” and outgoing by keeping myself distant (at least, emotionally) from people. Which sort of defeats the purpose, I think. Granted, Google’s definition of outgoing is “friendly and socially confident”. I can see how someone might think I’m outgoing, from that point of view (but I usually associate outgoing with extroversion). I’m perfectly happy to talk to people once a conversation’s been started, so there’s a slightly-qualified version of the friendly part. As for socially confident, that’s definitely just a matter of appearance. It’s not like I’m confident in my social skills, and starting conversations still freaks me out. I’m mainly just surprised that it’s not utterly apparent to everyone involved that I’m shy and frequently awkward.
All that aside, I’m doing alright. Lots of work to do, just need to juggle it the right way. My difficult/time-consuming classes are at least interesting this semester (introduction to brain and behaviour, programming in C++). Sadly, I have one class that’s a bit of a mystery. Thus far, it’s been almost entirely review of other classes I’ve taken. The prof isn’t giving much in the way of hints about what the exams are going to be like, and he’s not a good enough teacher to consciously emphasize important topics. In fact, he regularly says (and I quote) “they told me not to do this in teacher school, but I do it anyway”. Yeah. So either the exams will be completely trivial, or I’ll be blindsided by questions about unimportant details nobody in their right mind would put on a test. The midterm is a week from tomorrow, and I expect it will be an exciting adventure - just like every other time we enter that classroom.
I have exciting news! The title probably spoiled it, but the news is this: I applied for a Natural Sciences and Engineering Research Council summer research grant with Dr. Robert Biddle as my supervisor and we were accepted! That means working full-time at Carleton for four months, starting in May. Also nice is the fact that the award is enough to cover my tuition and books for next year, assuming I keep my entrance scholarship (I will, if this semester goes as well as the last).
Here’s the story: I found out who the eligible supervisors were, looked up their research interests, and contacted a few. I saw “Games and Hypermedia” on the side of the HotSoft webpage and that was pretty much all I needed to hear. Although, I had seen Dr. Biddle’s name before on a pretty neat project involving security and some awesome hardware, which would also be fun to work on too. I wound up walking over to the lab, knocking on the door and asking to speak to Dr. Biddle. After talking for a while and providing a transcript, we did our respective paperwork and found out a week ago that we’d been successful!
I dropped by yesterday after officially accepting the award and got a bit more information on what I might be working on. The initial plan is that I’ll work with Elizabeth Stobert, a PhD candidate working at the lab, on experiments related to security and usability. Later on, I’ll probably take a more active role and possibly start a project of my own. All in all, it should be pretty awesome.
—————————————————————————
On an unrelated note, I’ll also be working on a computational linguistics project with a linguist doing his PhD in cognitive science. He’ll bring the linguistics, I’ll bring the computational. This is probably the area I’ll have my eye on in the future, though usability testing is a fascinating field as well. If all goes well, I’ll soon have exciting news about that! If it doesn’t go well, the exciting news will just take longer.
—————————————————————————
On the subject of research, I’ll be posting a little blurb soon with details about my work at the Language and Brain Lab during the fall. Plus some snazzy photos of me looking like I actually belong in a research lab. It’s a bit more esoteric than computer security and usability, but I think it’s genuinely awesome. Stay tuned, folks.
I am a decent programmer. I know a decent amount of computer science theory, I can type correct code fairly easy. I don’t let my classes expand too much. But I still struggle some with math, and I have a tendency to have too many cross-dependencies in my code.
I used to think I was…
I’ve been learning more and more about what a compiler actually does lately, as well as looking at some very basic levels of assembly. So maybe I can shed a little bit of light on why things are the way they are. That doesn’t mean you have to like it! But at least it will make a bit more sense.
You write your source code, you give it to the compiler, and it makes sure you’ve given it code that will actually run. Then it creates highly-optimized code to be run by your specific processor, in assembly or machine code or whatever. The catch here is that processors don’t always work the same way, so the compiled code is limited to whatever platform it was originally compiled for. As a side note, I would think that’s why you pretty much only see source code available as a download for Linux programs (on the web, anyway) - you’d need to compile it for your specific distribution to make sure it works properly.
It doesn’t have to be like that, though - for example, Java (traditionally) achieves its multi-platform status by compiling its code for the Java Virtual Machine to run however needed on the platform it’s deployed to. Unfortunately, that means forgoing most of the optimization done by a regular compiler. Enter the Just-In-Time compiler, which takes the same Java bytecode as the JVM would. Instead of acting as a middleman, it compiles the bytecode into platform specific machine code (with, I assume, appropriate optimization) at runtime. Sadly, most of the time I see “JIT Compiler” listed as an option in an Android app, it tends to have a huge warning attached (“this will either be really fast or break everything, depending on your phone”). So I guess it’s a work-in-progress.
Anyway, so that’s why you have platforms and code that won’t run anywhere. And, while I’m no expert, I’d say that’s probably how web browsers manage to achieve some semblance of standard-ness. If I’m right, the browser would be kind of a middleman for your code the same way the JVM or a JIT compiler are for Java bytecode. Honestly, you’re the web developer - you tell me how browsers work!
I went through my archive and picked out the posts that I think are most essential to my life in 2011, and the complete list is below. They’re all tagged recap, alongside the posts from 2010. I wouldn’t say they’re the most well-written, or the most interesting, of my posts from 2011. I wouldn’t even say they’re worth your time to go back and read. It’s just a bunch of bullshit I wrote about myself, really. But if someone wanted the quick version of my life in 2011, this would be it. You can probably extrapolate from what I wrote about not being perfectly efficient in my work to the fact that I haven’t been writing as much. I don’t have much to say about these posts that I haven’t already said in my 2011 In Review post (last item on the list), so go read that. Otherwise, I stand by what I wrote as a representation of me at that point in time.
Oh, one thing that might be notable: there’s a lot of stuff I wanted to write about this year, but felt like I didn’t have the time. Looking through my archive, a pretty common theme is “I did have a better post, but take this for now” or “I’ve got great stuff coming, just you wait!!!” and none of it ever materialized. That sucks, but it is what it is. Again, I’m not totally sure it’ll get better. But I’ve got at least a dozen drafts waiting in the wings, and hopefully I’ll put the finishing touches on some of those. I may write a post about my plans for 2012, but whether or not I post it will depend on how boring it is. If it’s not up in a few days, then 2012 is probably just going to be more of the same.
A little story about the title of this post: I took LING 3002, Phonetics I, this semester. It wasn’t necessarily my cup of tea, but that doesn’t mean it was a bad class. There was a lot of data and practical application involved, and I’m at the point where I’ve been thinking about the phonetics of British English thanks to Xenoblade. I can even develop analyses that provide the right results without giving any of the right answers! In particular, we had one assignment involving “Homeric infixation” where I (at least, I think I did) provided a more-or-less correct analysis based on consonant and vowel clusters rather than stress patterns. So here’s to my continuing edumacation!
If you look at my archive, there’s a pretty sharp decline in the frequency of my posts over time. At the very beginning, mid-2010, I was doing 20-30 posts per month. That was my last year of high school, and around the time when I’d stopped working at the local convenience store to focus on school. My first semester of university was more or less the same, but then second semester it was down to 10-15 posts per month. Around the same throughout the summer. I’ve practically disappeared this semester, though - I’ve got about 30 posts total from September through to the end of December. The reason for this is pretty obvious - university. I still haven’t really figured out a proper balance to get the most out of my work and my play, and “work” time is still being inflated by procrastination. The work gets done, and my grades haven’t gone down, either. But I’ve been getting more and more distant as I supposedly spend all of my time “working” and then have no dedicated relaxation periods or time for socializing.
I’m not happy about that, but there’s a pretty obvious pattern - work gets done a lot faster when I’m motivated to do it. When it came to lab work, programming assignments, and studying for my intro to cognitive science class - I was there at all times and totally focused. But it was a challenge with my other classes. That’s probably bad. I’d say being able to do things you don’t enjoy and just generally be dedicated is good. On the other hand, I’m probably going to wind up doing more work that I enjoy as time goes on, not less. Either way, I’m planning to work on it.
So while I’ve been stumbling in every other area of my life, school is going pretty well. Working at the Language and Brain Lab has been fantastic, and I’m working on a short write-up of what I’ve learned. I think you’ll be allowed to see that when it’s ready. Along with some promo photos of me looking snazzy! Aside from that, the seemingly disparate areas of my degree have started to connect in important ways. I’m starting to feel fairly competent in a number of domains - cognitive science as a whole, linguistics, and programming too (though maybe not computer science, I’m definitely lacking when it comes to algorithms).
In reference to an article I read earlier this year, it feels like I’m getting an education, not just a degree. For all the people I knew in high school who agonized over where they wanted to go and would be willing to fork over ridiculous sums of money to go to a “better school”, you’d think the degree is all that matters. But if they don’t capitalize on the opportunities available, the way I’m doing at Carleton, no amount of money will help. While I had a brief crisis when I first read that article in April this year, I think it says a lot about how I’ve changed over the year that it now makes me feel better. Including books for two semesters and everything else, I’m probably totalling $7,000 per year of university. Four years for the degree, and I’m really not sure I could get the equivalent elsewhere.
The only catch to all of this is that I’m probably failing horribly at a number of promises I once made. I said that I would live for the people in my life and find meaning in them, yet I’m mostly focused on myself. I promised I’d always be there for the people I care about, but now I expect them to come to me. I’ve said a lot of things I probably thought were trivial at the time, but I’ve now forgotten them so thoroughly I can only say I’m likely not staying true to my word. This kind of follows on from spending too much time “working,” but that doesn’t make it alright.
I’ve upset people occasionally, sometimes severely so, but I think what’s worse is all the things I didn’t do. I don’t know if that’s going to change in the future. That’s probably what’s really important here. But I have no guarantees. So while it doesn’t really mean anything, know that I am truly sorry. I sincerely wish I’d been better in a dozen ways, and that I had taken the time to reach out instead of withdrawing. I’m no longer sure that doing too little is better than doing too much. For the people who still read all of this, you know who you are. To the people who cared enough to start reading, but decided to stop - I’m sorry about that, too.
So here’s to 2011. I learned a lot, and I played a lot of Final Fantasy. Looking forward to 2012 and the downfall of Kefka.
[or at least, a more severe case of TMI than this tumblr already has]
I have this thing about keeping track of what I’ve seen/read/played/listened to. It helps to find new things I might like, too - Last.fm is a prime example. It keeps track of music I play, then puts together a list of similar stuff. For my own benefit, I’ve started using a site that does similar recommendations for anime and manga, and another for books in general. Conveniently, this also lets me share this information with anyone who cares to know what I’m interested in. And if you don’t, that’s ok too! You don’t have to keep track of every book I’ve ever read. But maybe you’d like to know what books I haven’t read and might like to read, so now you can do that. Then you’ll be able to shower me with gifts that won’t make me say “oh, you didn’t have to get me anything!”
I’m linking to them on my main tumblr page now, but I’ll put some links below as well. I guess there’s sort of a creepy aspect to having all this information available, but I’m not terribly worried. I figure that if someone arrives at my tumblr from any of my other profiles, they’re volunteering to sift through far more information about me than they really need. We probably already have some interests in common anyway, and this lets me share more information about that thing. So let’s talk about Dune, or the Malazan Book of the Fallen series, or whatever article I read the other day through Read It Later. Seriously! I’d much rather talk about my favourite nerdy stuff than my latest assignments or whatever else.
Also, I’m considering changing the layout of my tumblr page to ideally give a better first impression. I’m pretty sure no more than two or three people every actually see it, and one of those people is me when I want to access my tagged posts. So uh… Yeah. If you didn’t know, my main tumblr page has a tag cloud on the left side! Which is useful if you don’t share all of my interests.
This year, my brother and I are with my dad for Christmas. My mom went home to spend Christmas with her family, but before she left we did half-a-Christmas. So my gifts from her, my grandparents, and one or two “from Santa”:
Oh, and I picked out the Game of Thrones board game as a gift for my brother and we’ve had a lot of fun with it. Enough that I’d consider it partially a gift for me, which is the good thing about doing your own gift shopping. If you’ve got a group of people willing to sit down and play a really political game for 3+ hours, I’d definitely recommend it. Imagine Risk if there were no dice rolls, and manipulating people is a far better strategy than outright destroying them. You tell them you’ll guard their back as long as it suits you, and when it doesn’t…. well.
——————————————————————
For our second Christmas, which was on the proper date, I mainly got more books, but physical ones this time:
My personal gift to my brother was Penny Arcade: Gamers vs Evil, another double-gift. We played it before going to bed, and I had fun with it. I can’t say how it compares to other deckbuilding games, but turns are very quick once you get used to it and the cards interact with each other in some pretty interesting ways. For example, I won the last game we played using the Carl hero, from the Automata strips. His ability makes the most expensive types of cards - Boss Loot - cheaper by one. There’s another card, Broodax In Disguise (not for the faint of heart - it’s an alien wearing a person’s body), that has a value of 1 when you play it, OR a value of 3 if you intend to put those points towards buying Boss Loot.
Whenever I failed to have enough to buy a Boss Loot, I bought more Broodax. Eventually, I got hands that - out of six cards - three of them are Broodax in Disguise.
Needless to say, I acquired a good chunk of phat lootz, which won me the game.
——————————————————————
Honourable mention goes to a couple of gifts I could only get shipped to the US, so my aunt brought them to my mother while she was visiting. So when she gets home, I’ll get two gifts that you may find very strange: a shell replacement for my DS Lite (a few hours of tinkering, which may ruin the machine!) and a bundle of empty cases for PSP games. Anyway, I’m weird like that. Both of those things were pretty cheap, and I’ll be happy to have them. I can replace the sticker-covered cases from PSP games I bought used, and if all goes well, be the owner of a non-broken red and black DS. Woo.
(also, does anyone still say woot? I have the strangest desire to start saying it, just because)
vael:
I’m moving my sites off of American servers. No, it doesn’t really stop the possibility of this being enacted against my sites - and in fact, I don’t even serve content that I don’t have the rights to - but I will not support a country that enacts such things.
I understand we want to control…
The best part is what Lifehacker posted earlier today: you could still access the blocked sites through their IP addresses. In other words: LOLOLOL.
It’s like if they said “we don’t want to encourage people to smoke, so we’ll hide the cigarettes behind a screen. But you can still buy them if you really want.” Which is something they’ve done here in Canada, actually. Surprisingly enough, people who want to smoke still buy cigarettes! Who could have predicted that! Granted, I know there are people who are too lazy/stupid to navigate to websites that way (would a bookmark to a site’s IP address still work?). However, those are the people who are just waiting for a decent legal alternative to illegal downloading. The actual pirates, who will pirate any way necessary, will keep doing it even if you try to hide the stash.
So yeah, gotta love ineffectual politics. Oddly enough, Canada is doing alright as far as the internet goes these days - the CRTC changed its mind about usage-based billing. Now, this doesn’t sound all that exciting at first. But here’s an illustrative example:
I don’t remember what the offered speeds were for TekSavvy back then, but I assume they were terrible. But hey, would you look at that, the bandwidth caps went up by twelve hundred percent, making the independent ISP better in every way than the company they source their service from. Thanks, free market! Actual competition sometimes is good for consumers like the capitalists always said it would be!
Anyway, I think this is the exception to the rule when it comes to technology-related politics in North America. Politicians/the lobbying groups giving them ideas are perpetually behind the times, or at least too busy looking out for their own interests. If everything were right with the world, people that clueless/horrifyingly selfish would have no place making decisions for other people.
————————————————————-
As far as school goes, I’ve somehow made it into the final stretch without noticing. There’s less than three weeks of actual class left, and a month from now I’ll be finishing my last exam. I’ve got three-ish final projects due Nov 30th-Dec 2nd, but nothing between now and then. This means there will be no consequences for failure to work during the next two weeks. Delayed punishment is a notoriously difficult thing to feel bad about.
To combat this, I’ve drawn up an actual calendar on a piece of paper and put it at the front of my binder. I can see when my huge assignments are due, and see the divine punishment coming from a mile away. It helps to actually visualize the time I have left, instead of seeing a purely goal-based list of due dates. To that end, before Monday, my acceptable level of absolute failure will be completing two philosophy mini-papers (half a page of writing, unknown amounts of reading beforehand) and either some synopses or a mock research proposal for my research methods class.
I’m actually not being as hard on myself as it sounds, because I’m smarter than that, but I have to be honest too. I’ve been totally useless the past few weekends, and relatively unaccomplished during the weekdays in between (and for a while preceding them, too). Thus far, I’m pretty sure I’ve done well enough to scrape by with >90% in most of my classes - intro to systems programming is a bit iffy, since I’m doing great on the assignments (and, I think, the second test) but less well on the first test. I’m not reading my textbooks as religiously as I did last year, and in some ways it shows (not getting 100% on my multiple choice PSYC 2001 midterms, for example). But if I really push on these last assignments, it’ll be fine. I’m keeping my scholarship, too, even if I’d like to do a lot better than the 80% required for that.
Anyway, I’ll see how it goes. Apparently I forgot to sign into IM today, even though I’ve been home for hours. Oops. I’ll be sitting down to work for real over the next few weeks, though, so expect less availability. On top of that, I’ve got two separate birthday parties to attend this weekend, and I’m probably leaving one a bit early to go see Unexpect live. Whether or not I can survive all of that and still manage to get work done, I have no idea. I’ll be working sooner rather than later, just in case. And hey, if I can actually power through my work instead of pissing away my time, I’ll come out well ahead of schedule. So things are looking alright so far. And I’m eagerly awaiting December 15th-21st, when I’ll have nothing to do but write a couple of papers…
[title inspired by the least important line in Streetlight Manifesto’s ‘A Better Place, A Better Time’. The rest of the song is incredibly beautiful to me, too, but for entirely different reasons. Do me a favour and read the lyrics, alright? Whether or not you can connect the dots, I think you’ll get something out of it.]
I read something in my psych textbook last year that’s really stuck with me. It was a single-line comment, something a good student knows they won’t be tested on, along the lines of “people with anxiety disorders often feel more in control of their lives when they worry about things.” I can guarantee that if I ask the people I know who’ve taken that exact same course, and read the exact same textbook, most of them wouldn’t even remember that part. What I can also tell you is that it’s more like a subtle reassurance than some sort of powerful feeling of controlling your own destiny. And that it takes a hell of a long time to think about the worst things that might happen, and debate how I should react or whether it’s worth the risk. It doesn’t feel good to take three hours working out a 30 second conversation; but think about what might have happened otherwise! I have to keep doing it, making mental conversation trees, guessing at people’s reactions, because to do otherwise is to give up the illusion of control, and risk facing problems I might not be prepared for.
As you can probably guess, spontaneity isn’t one of my strengths. Makes me a terrible role player, too.
The unfortunate problem is that I habitually use most of my downtime to think about these sorts of things. Worse still is the fact that trying to fall asleep is essentially infinite time to worry about things. Lifehacker posted an article this summer about dedicating time to worry - and not doing it during the rest of the day. It’s easier said than done, especially when you have a lot to do (and worry about), and when you’ve spent years replacing sleep with worrying. But it’s definitely something I need to work on, because it’s a big part of why I have trouble with people. Even though I know it’s true, I kind of have to remind myself that nobody is going to remember that time I said something dumb (even if I remember it forever), or expect me to be perfectly eloquent all the time (even if I regret not saying X for days afterwards, and why didn’t I think of that at the time!?). It’s a lot harder to carry on a conversation when I’m trying to keep all those things in mind. And it’s not like I often manage to map things out and predict how someone is going to react. It’s just a reassuring habit I fell into years ago.
From the outside, you probably can’t tell how hard it is to break out of this pattern. It’s incredibly powerful, and incredibly pervasive. The associations get so strong that relapse is completely inevitable. Years of an almost ritualistic reliance on a seemingly harmless activity don’t go away overnight. Maybe you don’t want to see the harm it causes, or you can’t quite connect the dots. Either way, it sometimes seems a lot easier just to work around it rather than try to change.
I’ll do it, though. I’m tired of being paralyzed as I hover over the send button, wondering whether I could improve the message (text, IM, e-mail) that I’ve been writing for 5-50 minutes. I’m tired of being tired, because I tried to go to bed early, but instead stayed up for two hours worrying, then woke up in the middle of the night and worried for another hour before falling back asleep. Tired of psyching myself out to the point where I can’t even talk to people, or talk in the presence of people when it comes to class discussion. It might take me six months, or it might take me two and a half years. But I’m tired of not being able to explain this to people, leaving them guessing as to what the problem actually is. I can take care of that problem now, while I work on the rest.
geni:
I understand that they can’t have both the new and old looks forever because they’re not willing to maintain the older style, but modern doesn’t mean “no colors”. Here, have a look:
External imageFrom left to right: archive, report, and delete email. The report button could have been red, the…
http://userstyles.org/styles/56063/gmail-easy-access-colored-buttons
here you go boys and girls
It doesn’t solve the problem of their default design being a bit dumb, and if you’ve used Gmail prior to the change you probably don’t need help knowing which buttons are which, but I agree that they could use a bit of colour.
Lifehacker’s got some more scripts in this post, though I have no interest in the others, myself.
Also, time for a Systems Programming midterm, woo! gcc -E is for the preprocessor stages, gcc -S is for assembly, gcc -c is for object code… The activation record for a function contains its portion of the function call stack, and the return address for the calling function…
Had a “wonderful” experience this morning of trying to overcome my anxiety enough to speak up in my philosophy of mind class. Something I’ve done before, actually, although I’d never participated as significantly in the class discussion. For whatever reason, just the thought of raising my hand and presenting an argument was enough to leave me shaking due to anxiety. Maybe it was because I wasn’t sitting next to anyone I knew, though pretty much everybody was present (something about essays being assigned raises attendance dramatically). Maybe it was because I was doing more than just asking clarification questions after waiting to see if anyone else would (this might actually be it, because it didn’t bother me when I raised my hand at the start of class to say it was nice to finally read a more cognitive science-y paper). Or maybe it’s something else I haven’t though of yet. I still did it, though, because not only had I done the reading for the first time in weeks, it was like a checklist of all the things I’ve been learning about in other classes. Applications of Ungerleider and Mishkin’s cross-lesion studies to the multiple realizability problem? Hell yeah! Let’s get some actual evidence for our philosophical arguments, please and thank you.
And yet, I spent most of the lecture alternately shivering anxiously, in anticipation perhaps, and then being frozen in fear after I’d finished talking and opened the floor to responses from the prof and the rest of the class. It’s not a public speaking thing, either, because I had the exact same feelings last night as I debated whether to talk to someone I’ve known for years. Figuratively shaking in my boots (what sort of savage wears shoes indoors? Come on, America) as I went to go knock on the door, though there was some potential for disaster there. Then barely able to express myself, even though I’d already spent more than a month thinking about what I wanted to say, on a pretty regular basis. There’s nothing for me to be afraid of, really, and yet it’s there anyway.
But I manage! I’m doing pretty alright, lots better than I was anyway. Went to see Repo: The Genetic Opera with a couple of people, and against all odds I enjoyed it a lot. However, I’m not going to recommend that you watch it, unless there’s a shadowcast performing alongside. Have you heard of that? I hadn’t, but here it is in a nutshell: they take a movie, mainly Rocky Horror Picture Show and Repo, and then they have people who act out the scenes in front of it. So you take something that would (probably) suck and not be at all interesting to watch by yourself, and suddenly it’s amazing. It’s one of those “the whole is greater than the parts” kinds of thing. The next show isn’t until February, but I’m probably going to force some people to go see it with me… Hopefully they don’t hate it.
——————————————————–
On an unrelated note, as for why I haven’t been all that talkative lately, school’s pretty busy right now. I’ve got a midterm thursday and another friday, both of which I’ve barely studied for so far. Hopefully it’ll be ok! One’s a multiple choice exam for my research methods class, which will probably be super easy. The other is in systems programming, and I may not survive. If I do (and against my better judgement), I’m going to go out for the cognitive science social event (the one and only, unless you count D&D) and maybe make a token effort at drinking. Meanwhile, assuming there are no hardware disasters (and I can’t guarantee that), we’re ready to run a few practice tests for the project I’m interning on! After that, it’s time to start running participants and collecting data, which is pretty exciting actually. We took some press photos for the lab, to use for all the “look what sorts of cool research students are doing here!” things. I think I’ll be allowed to post those, and they turned out fairly well actually. I clean up nice, guys.
Oh, and apparently, interning is a word. Who knew!
I got some free headphones with my new phone, and they weren’t bad as far as free headphones go. Better sound quality than the piece of crap $15 Skullcandy earbuds I bought a year ago, and they had a button that would play/pause anything playing on my phone. Neat! So I stopped using the crappy, uncomfortable, terrible sound quality Skullcandy headphones, which I only bought out of desperation because I couldn’t find my usual $10 Sony ones.
Last week, the left earbud stopped working unless you tweaked the cord in a specific way. Fine, I can live with this, I’ve got to power through an assignment anyway. Nope! A few hours later, the other earbud gives out too. Well, shit. Now I have to listen to dumb people while I’m trying to concentrate. But, ok, I’ll just stay on campus really late and there won’t be anyone around to bug me. Fine, it all works out, I get my old headphones back and stuff. Sucks, but it’ll do.
But everyone who uses earbuds seems to go on about how they “used those white iPod headphones for years and they worked fine!” So when my dad had to replace his iPhone after dropping it (screen shattered, bits of broken glass in his hand, etc.), I snagged the headphones that came with it. They worked just fine listening to music in iTunes, and were slightly less uncomfortable than the Skullcandy pair, and all was well.
Then I tried to use the headphones with my phone. My Android phone. And it sounds like ass. Like someone is sitting on my ears, specifically. Also, like the audio was playing in slow motion. Then being filtered through tinfoil.
Still sounds fine playing music through iTunes. This is what they call a conspiracy, folks. And I have no idea what it means to be “like an Apple product,” because a certain mysterious internet vigilante (who is in hiding) never finished their simile. Maybe it means to be spiteful and refuse to work well with others? The world may never know.
[I bet you thought you missed me until you read this]