SWEB, qemu and a Macbook Air

Posted on Sun 13 October 2013 • Tagged with University

Updated: 2013-10-18, 12:00, added solution

This term at university has just begun. I intend to finish some courses which require a little more to a lot more effort than previous ones. One of these would be Operating Systems. In said course there are practical assignments which consist of extending a minimal operating system called SWEB with lots of syscalls and other important features, such as multithreading. There will be a lot of work, both for me and my two teammates.

The first part important part consists of setting up and configuring your working environment. One has to check out the sources from git, set up the provided git repository which we are to use as the primary remote for the assignments and install requirements not yet present on the target system.
Well, that is normally. However, I wanted to reuse the virtual machine with Archlinux I already used for other courses. That turned out not to be easy.

Stumbling

SWEB needs to be built on Linux. That requires a VM. All good so far. SWEB requires a graphical environment to run, since qemu wants to display the things that are happening in the VM that SWEB uses somewhere. Now, my Macbook Air is more of a hyperpowered typewriter - though one with an insanely great battery - and less of a development machine - most of that can be blamed on its Intel Core 2 Duo processor which wasn’t up to date when it was implanted in this laptop and has aged since. I usually compensate for that by using my VM headless (“headless” just means without graphical user interface). Obviously that couldn’t work since there would be nowhere for qemu to display the SWEB terminal.

Trial (and many Errors)

Thomas already knew that problem and had figured out that X11 Forwarding was the key to working with SWEB in this particular way. He showed my the necessary entries in the config files responsible for forwarding an X11 session on the server and the client.

The server needed to have the following entries in its /etc/ssh/sshd_config (yes, both):

ForwardX11 yes
X11UseLocalhost no

In order for X11 forwarding to automatically occur every time you connect to the machine without having to specify the command line parameters every time the client’s ./ssh/config has to contain the following:

ForwardX11 yes

With the other options I use to configure my box and use public key authentication with it my config now looks like this:

Host vbox
  HostName vbox.local
  IdentityFile ~/.ssh/id_vbox
  StrictHostKeyChecking no
  ForwardX11 yes
  UserKnownHostsFile /dev/null

The good thing is that after setting those options (and installing some previously missed build dependencies), I got my VM to compile and run SWEB. Sadly, that’s not the happy end, but where the trouble really began.

No Escape

SWEB started in it’s X11 window (XQuartz since Mountain Lion), I clicked its window to confirm everything was alright and typed a few characters into the SWEB terminal. I realized that qemu captured the mouse and read in the window title “press ALT+CTRL to release mouse”. I did that. Nothing happened. *sigh*

So I tried some other combinations. None worked. Thomas and I thought about how to kill the process. Simply removing the battery won’t work, it’s a Macbook Air and therefor not user-serviceable. Waiting for the battery to run out won’t work, since it would just save everything to disk and continue when connected to a power supply. Following Thomas’s suggestion I hit the power button and the operating system’s dialogue popped up. I selected “shutdown”. OS X told me that it won’t shutdown because X11.app blocked the shutdown process. Great. So I had to hold the power button and force the laptop to shut down.

We quickly realized that there was a problem with the keys not being accepted by qemu. (Yes, it is a non-default keymap, in order to be able to use a German keyboard layout. We previously modified SWEB’s qemu target to contain the additional parameter -k de. No, it doesn’t work with the default keymap either.) So, what to do?

A possible answer is “it’s Linux, it’s open source, it’s probably configurable”. It is configurable, it’s just not helpful in this case. The configuration options include –alt-grab which uses ALT+CTRL+SHIFT and –right-ctrl which uses the right CTRL key. None of these is good for my case. Since I already have trouble getting ALT+CTRL to work, ALT+CTRL+SHIFT won’t help a lot. and well, a Macbook Air doesn’t have a right CTRL key… This is getting worse, isn’t it?

Hacking for hacking's sake

Since Thomas told me that the keymap specified via command line is part of qemu and not of the underlying operating system I searched for that and found the Debian package containing said files. They are quite easy to understand, but not so easy to modify since usually one doesn’t know the key commands sent to by one’s hardware. According to what I got the easiest way would be to pretend some other keys are ALT and CTRL, so I tried overwriting those with the key codes sent by F11 and F12, because who needs those when coding for SWEB anyway. That didn’t work either, but it opened the door to some workarounds that I use now.

From X to OS X

I accidentally triggered Mission Control (formerly Expose) and that forced X11.app to lose the mouse focus. This workaround is less than ideal but should work for now. The process of finding it also involved several hours of research.

However, today I discovered that it is (now?) possible to switch away from X11 with CMD+Tab. I honestly can’t remember if I was smart enough to check that before… Anyway, that should do it. And I’m still pretty hyped about the fact that my X11 forwarded instance of Eclipse in a virtual machine is much, much faster than one which is run with a full GUI installation of Ubuntu Linux in a virtual machine on a more powerful laptop. [Insert snark about not having to install Eclipse on my main operating system here.]

Solution

When telling Markus about my problem I realized I hadn’t checked all of the configuration options of the X11.app and asked him if there’s one that stands out to him as a possible solution. Turns out ticking “Options keys send Alt_L and Alt_R” makes everything work perfectly. X11.app screenshot with the correct option marked


SWEB, qemu and a Macbook Air is part 1 of Working on SWEB for the Operating Systems course:

  1. SWEB, qemu and a Macbook Air
  2. How to SWEB on your Mac with OS X
  3. Tools and their experiences with SWEB
  4. Retaining your sanity while working on SWEB

Media Recap: August 2013 (Addendum)

Posted on Wed 09 October 2013 • Tagged with Media Recap

Update summary: 2 novels, 2 podcasts

I was in the mood for trying a new system of taking notes for the monthly media recap but it didn’t work out so great, so here is the part I missed during my initial post.

Novels

Podcasts


Media Recap: August 2013

Posted on Thu 26 September 2013 • Tagged with Media Recap

Summary: 4 games, 12 podcasts, 2 let’s plays

There’s still not much going on since I’m developing a very nice command line tool for personal use which I intend to use to write a microblog-style website with daily reading tips.

Games

  • Beyond Good and Evil HD
    I played Beyond Good and Evil many years ago on my Playstation 2 and found it interesting. However, I was struck by a nasty bug which took away items and didn't hand me my purchase when at a shop and quit. When I read that there was a new version in High Definition and - admittedly - with achievements I was already convinced to buy it and only needed the right time. This time I completed the game together with my girlfriend who took part in the photography and hovercraft part.
  • Mass Effect 3
    Finally completed ME3, once with my girlfriend and once for the Unwavering achievement. I hope to take a long break from the series.
  • Gyromancer - nearly done
    Gyromancer was my solution for a lot of sleepless nights in August as well as spending some time while alone. I am almost done with the game without DLC by the time of this writing. I've completed the story and got all achievements bar Bearer of 120 Awards. Some of those were quite hard and I required a lot of help in the form of video tutorials.
  • Assassin's Creed (1)
    Let me spell this out: Assassin's Creed 1 is boring. Very so. I replayed this game for my girlfriend so we would avoid her not having much context when playing other games from the series - very different to her being thrown into Mass Effect 3 with me explaining while playing.

Podcasts

Let's Plays

  • Darksiders - played by Ambisagrus
    Some may remember that I watched a Zelda let's play by Ambisagrus. He mostly does Zelda LPs, but since Darksiders is apparently very close to the Zelda formula he played that game as well. Had quite some fun here.
  • Diablo 3 - played by my friend Markus
    Markus invited me to watch him play Diablo 3 since he had already completed it on the hardest possible difficulty setting and had a blast. He's generally very fond of the game and it was a blast watching him tear through his enemies using a barbarian on the second hardest setting - only because it would take way less time for me to watch the story sequences. It still took us two sessions with each spanning about 3-4 hours. At least that's what I remember. Might have been more. Or was it less? Time is such a mushy concept during the holidays.

youtube2iTunes, a very simple shell script

Posted on Mon 02 September 2013 • Tagged with Development

A while back when updating my homebrew packages I came across youtube-dl but never had enough motivation to check it out. I hardly ever need to download videos from Youtube, but I was in need of this again when spending more time using a metered internet connection (read: mobile broadband). To be able to use as much of the traffic volume for useful things (like pictures of cats) I usually try to cache as much video content as deemed necessary on my laptop. That involves downloading from Youtube, preferable in a format that my iOS devices understand so I can sync everything without having to convert between different video formats and video containers.

I formerly used JDownloader for uhm, various activities which I don’t do anymore. The software remained on my machine for the purpose of downloading from video sites, primarily Youtube. Now, for different reasons I am no fan of Java on OS X. Java regularly has security issues. The technology is largely outdated in browsers. Few applications are written in Java and properly uphold the patterns in terms of usage and interface design that are present in the Cocoa framework. A notable exception is Cyberduck, a file-transfer solution for multiple protocols I’m very fond of. JDownloader, as I have complained in the past is ugly and doesn’t care about platform conventions, regardless of the platform. I was willing to replace that with something better any day.

However, to use my iOS devices with youtube-dl some little trick had to be done, because I wanted to only download the specified formats. Also I didn’t like the thought that I would need to manually import the files into iTunes every time. That wasn’t necessary though since iTunes can import from a special folder since version 9. All that was left for me was to string those things up into one nice script and be done.

echo "Downloading $1"
youtube-dl -f 37/22/18 -o "$HOME/Downloads/%(title)s-%(id)s.%(ext)s" $1
mv ~/Downloads/*.mp4 ~/Music/iTunes/iTunes\ Media/Automatically\ Add\ to\ iTunes/

This nice script does exactly that:

  • outputs a little confirmation to the terminal with the URL you handed it
  • downloads the file as MP4, trying to download 1080p, 720p and 270p/360p resolution versions of the video. (should you need other versions check the wikipedia table)
  • moves all .MP4 files in your ~/Downloads folder to the special iTunes folder which automatically adds them to your library.

Combine this script with the iTunes sync preference Movies / Sync Movies / Automatically include X most recent unwatched movies along with selected movies and everything you download gets synced to your devices whenever you sync to iTunes.

You use the script by saving it to a file, making that executable with chmod +x <filename>, adding it to your PATH and calling it from Terminal via youtube2itunes <URL>.


Thanks to Thomas for helping me find the correct way to specify the home directory in the youtube-dl command.


But it said ARC enabled.

Posted on Tue 27 August 2013 • Tagged with Development

Since I’m currently in the process of learning development in Objective-C I intended to use the newest tools provided whereever possible (except for the beta-quality ones) - that includes Automatic Reference Counting. ARC is intended to make life easier for developers by automatically inserting memory-management related instructions during compile time.

From the Clang documentation about ARC:

Automatic Reference Counting implements automatic memory management for Objective-C objects and blocks, freeing the programmer from the need to explicitly insert retains and releases.

You enable the technology when creating a new project, a compiler flag gets set (-fobjc-arc if you’re curious), done. Afterwards you develop according to slightly changed criteria, but generally don’t have to worry about the previously Obj-C typical ‘retain’, ‘release’ and ‘autorelease’ instructions. This is work the Clang compiler does for you when building your project.
There are even tools to help you migrate your previous projects to ARC. You can even use them to migrate external code to ARC. This is precisely where my problems began.

I intended to write a simple cache file listing which files have already been processed and which are to be processed again due to changes and wanted to implement that using the filename and a hash value for that. Since I was initially too lazy to reach down into C using Common Crypto I intended to use a a class provided by Matt Gallagher in order to save time and focus on my project instead of fighting with C. The first thing I noticed was that the code was already a bit older and therefor written before the advent of ARC. Well, no problem, let’s just run the ‘Migrate to ARC’ tool. But little is ever as simple as just running a conversation tool on existing code. While the converter worked pretty well and it’s suggestions were perfect for the intended class, not selecting my existing, already ARCified classes set their compiler-flag to -fno-objc-arc 1. I wondered why I had to manually type ‘strong’ when declaring properties after that and why Xcode suggested that it used ‘assign’ when not specifying ‘strong’ even though that’s a non-ARC convention.

Today I ran the ‘Analyze’ build setting and fixed some leaks. In the process I also got a warning about a potential leak that I just couldn’t find. I seemed to do everything right and still got a warning about the leak:

main.m:92:3: Object leaked: object allocated and stored into 'cachedFiles'
is not referenced later in this execution path and has a retain count of +1

After a lot of swearing, frantically searching for answers and annoying others, my girlfriend suggested that I may have lost ARC somewhere. But I checked the Build Settings for the project and ARC was on. I did a quick test by creating a new Xcode project file, copied files over and ran ‘Analyze’ again. Sure enough, there were no warnings at all. More swearing ensured. Finally I stumbled across a helpful post on StackOverflow and put both project files in FileMerge. The ARC flags were spotted.

To fix the problem I opened the project in Xcode, went to the build target, the tab Build Phases, Compiles Sources and removed offending compiler flags from the affected files.


  1. Why would I want to convert my already ARCified classes to ARC? What's the point of setting that flag when the original project setting already was 'enable ARC'? 

Companion Gaming - Mass Effect 3 pt. II

Posted on Fri 23 August 2013 • Tagged with Video Games

I’ve been looking forward to this. Companion Gaming, the second edition.
After completion of Mass Effect 3 I was curious to get some more thoughts from my girlfriend as I myself have already written and talked extensively about Mass Effect ever since becoming fascinated by its first part.

I’ve published my thoughts about ME3 with my girlfriend last time. Consider this article an addendum to that post after having finished the game. So if you are interested I highly recommend reading part I and coming back. I’ll wait for you.

You’re back? Good. Let’s start this.

Impressions

There are many, many different characters with vastly differing personalities.

Yes, this is certainly true. On the other hand this is what I expect when playing a game that has its roots deeply in Role Playing Game territory. While not strictly an RPG it has many of its elements; especially part 3 is a lot closer to being an RPG than part 2; which was more of an RPGish shooter. A variety of interesting characters is one of the basic building elements of an RPG. RPGs are about character progression; not only in the numerical “Do X to level up” way but crucially about depicting a change in character when looking at the protagonists. A foundation of good storytelling is the theme of growing up, filling a role and fulfilling a special purpose. It’s hard to find a genre in which this theme is more important than RPGs.

The 'Destroy'-Ending is unsatisfying.

Yes, but there’s a reason I specifically chose this ending, even though I personally think that ‘Synthesis’ is how the story should end, because it’s a far more fitting conclusion to the events up to the final point. ‘Destroy’ is bad in a number of different ways, but mainly because it annihilates the newly brokered peace between Geth and Quarians due to indiscriminately eliminating all synthetic forms of life. I wanted to see Shepard alive after all the events. I wasn’t really ready to let go of the Commander that I’ve played for all those hours in all those years. Shepard would’ve chosen ‘Synthesis’ but some dumb reason I didn’t.

There were no little blue children.

Everyone got their hopes up when Liara and Shepard are talking about the little blue children in part 2 and even during the last sequences of part 3. None of those romantic fantasies containing little blue children came true. Which is a pity, to be honest and you should have a nice picture to improve your mood. Or another one of Shepard and Liara’s potential teen daughter. Overall a lot of people would’ve preferred a happy ending with a fitting conclusion to the overall story arc. That wasn’t what we got and it’s okay too. Game makers also enjoy artistic freedom and I wouldn’t have it any other way. The Extended Cut contained more explanatory content but didn’t change the endings’ effects. That’s how it should be else we set a precedent with unfortunate consequences. While players might have a say via community voting and similar processes during the development stage of a game, changing something afterwards because a majority didn’t like it is ridiculous and inconsequential. By the way, Krystian thinks a little different about the Extended Cut.

ME3 has lots of plot variety and choices. It is cool that most of the time you can achieve an optimum outcome.

Very true. For many squadmates your actions decide over their fate, whether they survive their individual ordeals and your choices decide how they deal with their individual struggles. You shape their lives as much as their companionship influences your Shepard’s quest. While I personally was very sad that it wasn’t possible to have everyone of my old and current team survive and achieve everything that I wanted to see from the narrative I also understand that there has to be drama and freedom to the story the writers create for a game like this. The central theme of war is by no means a friendly topic and to have everything (space-)magically work out without any casualties on your side even though the enemies are superior in strength as well as in numbers would make the game disconnected with what the story it aims to tell.

The Geth server level is amazing.

Hm, kind of. I mean, yes, all opinion is subjective and all that but given that the strengths of ME3 are its narrative and its combat system this non-combat sequence was surprisingly fun. Getting to know some of the Geths’ history in addition to a relaxing level which is fun to play without any of the stress of getting shot at certainly qualifies it as one of the highlights of the game when looking at original ideas.
Addendum: my girlfriend played this, as sort of a greater introduction to ME3’s controls and combat mechanics. I’d like to mention that this would’ve made for a great tutorial given that the true prologue featuring cannibals and husks makes for an introduction that might be perceived as too hectic.

Why aren't there more easy levels like this?

Well, because by default Mass Effect is not intended to be played on the ‘Narrative’ difficulty. If you’re only in for the story however, that is precisely the recommended setting. The Mass Effect wiki has an explanation on the ‘Narrative’ setting.

Citadel was hilarious.

Very true. The humorous aspects of Citadel cannot be overstated. There are so many puns, jokes and ridiculous situations crammed into this download of about 15€ as well as minigames and additional content and so much more that it’s hard not to recommend it. The writing is excellent - something that has to be expected when the Bioware writing team goes all hands on deck.

Your girlfriend is stupid. She keeps on saying the same things.

I had to chuckle when my girlfriend used these words to express her annoyance about the NPCs having limited lines which they repeat after having run out of special topics. Especially the romance options could’ve had more additional lines of dialogue. One can only hear “Nice to see you, Shepard” for so often before it’s too often. She also pointed out that it’s somewhat awkward to have the romance partners call your character ‘Shepard’ because you don’t call your significant other by their surname. Given that the player can choose the main character’s given name, introducing a - possibly gender-neutral - nickname per romance option would’ve improved dialogues and made them feel more intimate.

That's a crappy ending too!

Since the ‘Destroy’ ending wasn’t quite satisfying, we jumped on YouTube some days later and checked out the other two and a half endings; them being ‘Synthesis’, ‘Control’ and ‘Reject’. We both feel that, if given the presented four options are the only possible answers, ‘Synthesis’ is how the story should end. ‘Control’ isn’t too bad if your hero is on the paragon side while ‘Reject’ prompted above quote.

Conclusion

ME3 was fun (for the most parts) while it lasted. It has been suggested to me that a fourth part has been announced but I haven’t looked into it since I’m currently oversaturated with the ME universe. This should be the last Mass Effect related post for a while.
I’m already preparing the next Companion Gaming article - about Beyond Good and Evil HD which we’ve recently finished.

All those little blue children will be disappointed that I didn't have a speech. ~Liara

Reading Recommendation: Kids Can't Use Computers

Posted on Thu 15 August 2013 • Tagged with Reading Recommendations

→ Kids Can’t Use Computers… And This Is Why It Should Worry You

I keep on complaining about the computer illiteracy of my fellow humans - and even fellow Computer Science students. Yesterday I read this great piece that just makes exactly that point. Kids spend hours and hours in front of computers these days but that doesn’t make them experts.

The thought that this is a very bad sign for our society has more than just showed up in my head. I keep thinking that there is a certain need for the children of today to be aware of a lot of things concerning computers.

I don’t expect everybody to be able to change the RAM or reinstall their operating system of choice. I *do* however expect people to be able to install and remove software on their computers, especially those on Windows and OS X (given they have the corresponding permissions to do that). I also expect people to hop on the Wi-Fi if given the credentials and set the proxy if given the corresponding settings.


Media Recap: July 2013

Posted on Tue 06 August 2013 • Tagged with Media Recap

Summary: 15 podcasts, 1 let’s play, 4 novels, 2 videos, 1 album, 5 games and many articles saved to Pocket while commuting.

Podcasts

Commuting gave me many opportunities to catch up with stuff I had long postponed. I’ve listened to the non-music related podcasts on the train while I used my big headphones in the office combined with the Secret Archives of the Vatican podcast to drown the construction site noises when working. Focussing on one’s task is quite hard when there’s the sound of a drill coming into your office from two different directions.
I highly recommend listening to the 44th episode of the Talk Show with John Gruber which is incredibly funny and worth every minute of listening time.

Let's Plays

  • Zelda: Majora's Mask
    Majora's Mask is a great game. In fact I believe it's one of only two video games in which I've ever put the effort to obtain everything and achieve 100% completion. Watching the LP and reliving some memories felt good, even though the LPs by Ambisagrus and A Wooden Palisade are certainly not for suited for everyone's taste. They hardly talk about the game they're playing but make a lot of funny references, compare the game to other video games and are definitely NSFW.

Novels

  • Spartan Frost by Jennifer Estep
    Spartan Frost is an interesting short deviation from Estep's norm; written from the perspective of the male lead instead of the female heroine. Short, concise and perfectly fitting into Estep's little world.
  • Mr. K by J. A. Konrath (German)
    Amazon Promotion. A slow, not terribly interesting thriller around mafiosi and cruel killings of prostitutes. - MISS
  • Pandämonium by Alexander Odin (German)
    Amazon Promotion. A raw, gruesome, terribly brutal book. Written by an author whose usual target audience are teenagers, which makes me worry a little bit. - MISS
  • Die Tote am Watt by Gisa Pauly (German, unfinished)
    Amazon Promotion. Detective story with the detective being the Italian mother-in-law. Exhausting, not my kind of story. - MISS

Videos

I’ve found some really old episodes of The Untouchables of Elliot Mouse and watched those. I have fond memories of watching that series when I was a lot younger and am now wondering whether it is common to consider the TV series of one’s youth vastly superior to the ones that are airing after one has grown up.

  • Mouse 5 (German)
  • Mouse 6 (German)

Albums

Games

  • Mass Effect 3
    Companion Gaming with my girlfriend, we're almost done by the time of this writing. We're back on Earth, heading towards the final conflict. And I'm really looking forward to playing another game now.
  • Halo 3: ODST
    Played ODST with Ron when he was in Austria.
  • Soul Calibur IV
    Played Soul Calibur with Ron when he was in Austria. We talked a bit about the differences between the newer versions and the Gamecube version he has played.
  • A Dark Room
    I had to try this little HTML5 and CSS supported browserbased game but lost interest when things started to slow down and exploring got tedious.
  • Trapped - The White Rabbit
    Incidentally I remembered the beautiful and intelligent Trapped Flash game series and showed it to my girlfriend.

Media Recap: June 2013

Posted on Fri 05 July 2013 • Tagged with Media Recap

Summary: 2 games, 1 movie, 3 podcasts, 6 longer documents, 3 developer sources, 8+ videos

I often think about how to link games and movie titles. My internal debate is on whether to link the media’s official website or to simply link to the corresponding Wikipedia page. There’s merit in both of those solutions.

  1. Linking to the official site often offers the benefit of trailers, image assets, official descriptions and more. The downside is that all that simply disappears whenever the responsible companies lose interest in a IP or have to cut down on budget.
  2. Linking to Wikipedia has the benefit of persistence. The page describing the linked content will not disappear easily but on the other hand lack more visual details that could be enjoyed on an official site.

Games

  • Mass Effect 3
    Well, by now I should've finished Mass Effect 3, you think, right? To be honest I'm almost ready to move on myself. There's still the Citadel DLC and about three main missions to complete before my girlfriend and I can start another game for our companion gaming thing. (that might become a new category of posts)
  • Don't Starve
    I've had some extra time to burn and went back to check out the current status of Don't Starve which has been officially released by now. It's nice. I'm playing the OS X version on my Macbook Air from late 2010 which means it's not entirely without lag, but playable. From what I've seen skimming the changelogs on Steam there have been many content updates bringing different biomes and even seasons to the game. I look forward to hopefully sinking some more time into Don't Starve in the near future.

Movies

  • Shinobi - Heart under Blade (German)
    I found it pretty hard to believe but even though the month was filled to the brim with assignments and tests for university, there was time to watch a longish movie. I still like Shinobi even though I've seen it multiple times, owning the DVD. It's at parts very violent, but a refreshingly sad story.

Podcasts

I don’t seem to have as much time and dedication as before for podcasts, mainly listening to them when having a long walk or on cleaning duty.

Documents

  • What's New in iOS 7 (requires Apple Developer account)
    The developer document from Apple about upcoming APIs in iOS 7 offered a particularly interesting read and outlook on what will be possible for Apps making use of iOS 7 only features.

  • Marco's resume
    Was interesting, if only to recognize how different resumes in Austria are supposed to look like if you adhere to the guidance offered by coaching programs.

  • Evaluation of Purify Plus
    I was curious to see if something similar to Valgrind existed in the Windows world, seeing that as far as I'm understood it there's no way to run the clang static analyzer on Windows either. After some research I discovered this evaluation of Purify Plus, an IBM product for companies which aims to solve the same problems as Valgrind. To my delight I came across the linked document, which is an evaluation of said tool, done by students at the Carnegie Mellon University.
  • The Magazine - Loose Stuffing ("How Couchsurfing lost its kumbaya.")
    I wanted to look into The Magazine for quite a long time now and finally came across this article mentioning Couchsurfing, which caught my attention. While the article was excellently written, I would've enjoyed a story about actual Couchsurfing more than this business analysis.

The Master programs for Computer Science as well as Software Development at our university have changed a little and I checked out those presentations since I’m not sure whether to try and achieve a Master’s degree after completing my Bachelor’s. I haven’t found the slides online even though I’ve been told they were available.

  • Master: Informatik (EN: Computer Science)
  • Master: Softwareentwicklung-Wirtschaft (EN: Software Development & Economy)

Dev Documents

As I am currently very interested in developing for iOS and OS X I looked into some documents for starters and found the following to be helpful.

Videos

  • Apple: WWDC 2013 Keynote Address (live)
    In short the improved Macbook Air's 12 hour battery life sounds great, but I'm not tempted to buy one since I hope that Apple will bring those those improvements to the Macbook Pro line as well.
  • Polygon review: Remember Me
    Remember Me looks like a game worth playing to me, but I will wait for a discount instead of buying at full price. Even though the reviews were mixed I trust Gamespot's Kevin VanOrd opinion about it having an enjoyable story.
  • Extra Credits: More than exposition
  • Extra Credits: Not a babysitter
    I highly recommend this episode of Extra Credits to, well, almost everyone with an interest in video gaming, to parents whose offspring is into gaming and to children who'd like their parents to understand their world a little better. "Not a babysitter" is highly valuable and probably my favorite part of Extra Credits so far.
  • Extra Credits: When difficult is fun
  • Extra Credits: Like a ninja
  • Extra Credits: Global Games: Mexico, Argentina & Chile
  • Gargoyles 52 - "Hunter's Moon (Part 3)"
  • many Mass Effect 3 videos, including an entire hour of death scenes

Media Recap: May 2013

Posted on Sat 15 June 2013 • Tagged with Media Recap

Summary: 2 Games, 1 Let’s Play, 3 Movies, 3 Videos, 7 podcasts, 2 novels, 4 papers

Games

  • Mass Effect 3
    I've already written another article about playing Mass Effect 3 with my girlfriend. By the time of this writing we're about 45 hours into the game, having completed the DLC except Citadel.
  • Bastion (iOS)
    I've already played Bastion before and liked it. Sadly I never finished the game on the PC and intend to do so now that I bought the mobile edition for only a buck.

Let's Plays

  • Jade Cocoon
    Jade Cocoon had some pokémonish traits but was great game with its mutation based merging of captured creatures and I really regret having sold it long ago. Though I also played its successor I have fond memories of Jade Cocoon (1) while the second part was rather disappointing with its fixed evolution trees instead of computed features, stats and creature design.

Movies

  • Verblendung (a.k.a. The Girl with the Dragon Tattoo; German)
    I had already seen The Girl with the Dragon Tattoo before, but wanted to view it again with my girlfriend since I really enjoyed that movie, almost as much as the book it's based on.
  • Step up 3D (German)
    The peak of the Step Up series may have been reached already. Step Up 3D featured too much personal drama for my taste. The part of the movie during which the two male leads both temporarily lose their girlfriend was just over the top kitschy.
  • Step up Revolution (a.k.a. Step Up 4, Step Up 4: Miami Heat; German)
    Step Up 4 wasn't that much better in my opinion. While there was less drama, the characters were less fleshed out and there was less focus on the actual dancing and more on the setting itself, featuring multi-media installations, graffiti, costumes and the recurring theme of flashmobs.

Videos

Podcasts

I’m trying to reduce my backlog by listening to old Hypercritical as well as Build & Analyze episodes.

Novels

  • Chosen at Nightfall - by C.C. Hunter
    Chosen at Nightfall is a fitting conclusion to an amazing series of urban fantasy. It - again - didn't fail to amuse me in a non-sarcastic, charming way. It's not comedy per se, but highly entertaining and made me laugh hard time and time again.
  • Rogue Descendant - by Jenna Black
    Another entry in the Nikki Glas series. Not as funny as C.C. Hunter's titles. More mature, with a more self-centered narrative, and a slightly less fantasy-orientated setting as far as location of the story goes.

Misc

  • 4 papers (GADI)

I am currently taking the course ‘GADI’ at university. ‘GADI’ stands for ‘Gesellschaftliche Aspekte der Informationstechnologie’ which can be roughly translated as ‘the aspects of information technology on society’. The course has a lecture part as well as one consisting of exercises. The exercises can be done in four different ways. There is blogging, microblogging, scientific writing as well as scientific reviewing (which means, you are trying to analyze what the writers have written and try to find what’s wrong with their work and include suggestions).

While I did my part as microblogger - thereby accepting my misfortune for not being able to click the right button and being late - instead of blogger, I also had the chance to look into four of the papers that had been written by the scientific writers. Let me tell you that was shocked. Three of them were abysmal in terms of capitalization, punctuation and typos, many of which would have been found by a simple spellchecker. The fourth was better but still showed that the students at the TU do not consider good writing a skill of at least mediocre importance (that might be due to it being a homework instead of a hobby project, I admit).

I strongly advise the scientific writing teams to proofread their work, if possible even have another person proofread the paper. Papers get peer-reviewed for content too, code is being reviewed as a common industry procedure. Skimming through a paper less than 20 pages in length is certainly possible.