Wednesday, June 20, 2012

Some friendly requests to professors and instructors everywhere

This probably isn't news anymore for some people, but I recently jumped ship to another college and I do not reside anymore in De La Salle University-Manila. Old news aside, I like my new school, and I'm going to be staying in it for a good two years or so. The place is great (the places around it are better though), and most people there have quite some eccentric tastes and are actually interesting.

However, there are some do's and don'ts (mostly don'ts though) that I'd like to point out regarding my professors and instructors there. These will probably apply to everybody else out who are teaching to at least one other person besides themselves.

Don't put your class's/section's group on Facebook.

I for one try to avoid Facebook like it is an ugly part of town, but sometimes it just comes back like a bad habit and I end up being there anyway. For example, this post gets automatically advertised on my wall and every unfortunate person on my Friends list's news feed. Other notable examples include looking for someone, trying to communicate with people I barely meet every week, and checking out a group my professor made for the class I'm taking.

And the latter isn't really supposed to be there. Facebook is still a long, long way from being a good choice to organize serious groups, like groups between co-workers or, in my case, groups between instructors and students. For one, every privacy issue associated with Facebook profiles apply to groups as well. You really don't want outsiders knowing what your little private group is up to. That's why some companies opt for private corporate "social networks" because apparently people can't communicate on the Internet anymore if it doesn't involve a news feed or an instant messaging platform. I still communicate through old fashioned e-mail, and handle most instant communication through IRC (and sometimes VoIP), so that probably means I'm old.

What's a good alternative for Facebook groups? I'd have gone and suggested Yahoo!, but to me Yahoo! is just a silly company trying to be like Google but instead became a Google clone for those with inept computer skills and awful English. Google Groups is a good place to start, and there are also a lot of other services out there besides Facebook and Yahoo! that you can try out.

Stop handing out documents to students in formats other than PDF.

I like the Portable Document Format ever since it became an open standard at around the year 2008. It does a great job of preserving the original content and format of documents and its sheer portability and commonness is due to Adobe pulling a Microsoft move and telling everybody that their PDF reader and authoring tools are the only things that matter, when there are actually a lot more better readers out there and numerous ways to create PDFs. I can read PDFs on my desktop, my ThinkPad, my tablet, my phone, and my Kindle. And that is good.

However, some instructors thought it was a good idea to hand out documents to their students in their original, editable document forms. The "editable" part isn't the problem here, I actually do not give a shit whether I can manipulate my copy of the document or not. The problem is, handing out documents in such formats hinders portability, because, for example, files that use Microsoft's new formats (*.docx, etc.) look messed up when you're not using something that has Microsoft's name on it to open them. Sure, LibreOffice has done a good job of at least trying to preserve the original formats and looks of Microsoft .doc and .docx files, but when I open these files in my tablet or my phone, things get really ugly. I haven't tried opening .doc, .docx, or .odf files on my Kindle yet, probably because I think that's a very stupid idea.

Instructors should save all the documents that they're going to hand out to their students as PDFs - this goes for presentations as well. This saves me (and other students as well) a lot of time trying to figure out the original format of the file when LibreOffice is having a hard time opening it. Don't know how to save a document as a PDF? Your (probably pirated) copy of Microsoft Office 2010 has that functionality built inside it already.

Don't upload your materials to Rapidshare (or some other bad "filehost").

Right now as I'm typing this, I'm also downloading an economics textbook encoded as a PDF about 69 megabytes big. The size really shouldn't be a problem here - 69 megabytes are downloaded in less than 10 minutes by my connection on average. But right now the estimate says it's going to take a bit like 40 minutes to download (not adjusted to compensate for how badly Chrome estimates remaining download times). The problem lies where the file lies - Rapidshare.

Rapidshare has earned its share of popularity for being the [probably most popular] site that annoys people trying to access it and ripping off people stupid enough to avail of their services by coughing up some euros. The site throttles down your download speed when you're just getting your files for free, and you can't even download more than 2 files at once; both problems are remedied once you've given in to your sanity and you've decided to pay up. They're also not the only one doing this, there are countless of other "file hosts" out there ripping off each other's business models.

The solution for this would be to use an actually decent file host, like Mediafire, or create a Dropbox account and share the files from there. And if the file is really big, it's not too hard to just make a torrent out of it.

Oh, and after finishing the first draft of this post, reading through it two times and doing some edits here and there, my download from Rapidshare isn't even done yet. That means I'm probably going to be staying up late again trying to create a very minimal presentation that no one can understand unless they listen to me talk while I'm presenting. Thanks a lot for making me lose my sleep, Rapidshare!

Monday, June 4, 2012

Why I think Dota 2 going free-to-play is a bad idea

After the last school year (which did not end well, but that's not the point of this post), I've decided to try out being a beta tester (read: someone who can't wait for the game to be released) of Dota 2, the derivative of the immensely popular action RTS game Defense of the Ancients (whose roots started as a Warcraft 3 map), created by Valve (who also created other not-so-popular titles like Half-Life, Counter-Strike, and Portal). The process was simple. Go to the Dota 2 webpage/blog, fill out a simple survey about your Dota habits and skills (which I'm sure a lot of people have purposefully put in false information), and wait for Valve to contact you back with your Dota 2 "beta key". For most people, the "wait" takes weeks, even months. For me though, it's just 12 hours or so. Probably because of my Steam game collection and loyalty to Valve and Steam:

I actually have more games that would probably fit 5 or more screenshots, but listing them all here would make me look like a douchebag.

Anyway, after downloading Dota 2 and having fun with it, I've somehow accumulated a little bit less than 200 hours of play time in the course of less than a month. Which is not totally a bad sign for my productivity because I still managed to work on some hobby projects of mine here and there, and I merely substituted the countless games of Solitaire with Dota 2 every time I needed a break.

What I liked about the community of Dota 2 that it was seemingly better than that of Garena's (where most online interactions between Dota players occur) original W3 Dota. Gameplay-wise, people in Dota 2 actually intentionally choose support heroes to help their teammates. In a Garena W3 Dota game, if you happen to come up against a team with a solid lineup (not consisting of 5 carries), they're pubstompers and you should clear out immediately or you're in for a bad game. And there are really a lot of other differences between the Dota 2 and Garena W3 Dota community that makes the former more superior than the latter.

It is in my observations that I believe the relative "good" behavior of Dota 2 players is due to the mere fact that beta keys are limited and once they're banned from playing, it sure is going to take a hell lot of time to get another one. Kind of like Team Fortress 2 before it became Free-To-Play, nobody would dare to cheat (although some did anyway, with hilarious consequences) because they didn't want to waste the $60-$10 (depending on how early you bought the game) that they spent.

But now it seems that Valve has decided to turn Dota 2 into a free-to-play game and follow Team Fortress 2's business model to generate income, which is simply "to sell useless cosmetic items at ridiculous prices while taking advantage of people's gambling tendencies by capitalizing on selling keys that open special item crates". The good news is that the game is probably already in a complete working state and that Valve is ready to "sell" it to people. The bad news is that the game is now open for everybody to play, which includes the diverse species of 'tards that inhabit Philippine comshops, that I'm desperately so trying to avoid running into in games.

There were some comforting thoughts that came out of my mind after hearing the news, however. Steam's current way of game distribution is that every user account using Steam on a computer was given separate copies of games for themselves, even if they both owned the game. Which means there would probably hundreds of Steam accounts logging in a single computer in a comshop every month. Doing the math, that would mean 5GB~ (a single installation of Dota 2, not including the base Source Engine stuff) * 100 worth of data installed on a single computer, or 500GB. I highly believe that comshops do not have that kind of money to acquire hard drives larger than 500 gigabytes, nor would it give them any sort of business advantage for doing so. Also, every time a new user wants to play Dota 2, they would have to download the game again for themselves, which, given how immensely slow the average Internet connection in the Philippines is, would take a very, very long amount of time.

Also, Dota 2 has some very strict hardware requirements that would require beefy computers. Which means most comshops will probably not be able to play Dota 2 since they commonly employ Intel GPUs from 2005 as their graphics cards, unless the kids today are fine with playing games at slideshow speed (what has this generation come to?).

After writing all of that, I now feel kind of comforted that most kinds of people that I don't like to play with won't be able to play Dota 2. The game's matchmaker would also do good to keep me safe as well, since nowadays I usually get teamed up with and put up against respectable gentlemen who actually know how to play. And if buying from the Dota 2 store would guarantee me a spot in the Dota 2 community's civilized circle, I would totally throw my money in Valve's direction for the sake of my own sanity (sadly, not for the sake of my wallet).

Why I think GNOME 3 and GTK+ 3 is subtlety trying to kill off the other DEs

As someone who spends hours toying with the look and feel of his machine's GUI (with only quite a few handful of people appreciating these efforts due to the fact that people today accept the ugly fact that they all look the same), consistency is a very important factor in the overall aesthetics of my work environment. Every window and dialog should look similar to each other in shape, color and form. Begrudgingly, the only operating system/suite of desktop applications that has accomplished the goal of total consistency is Mac OS X. However, I do so believe [from experience] that consistency can also be accomplished in a GNU/Linux environment, provided you have the time and patience to configure your system.

Most applications that use a Graphical User Interface (GUI) on GNU/Linux usually use either GTK+ (GIMP Toolkit, or for those who like extremely long names, the GNU is not Unix Image Manipulator Program ToolKit) or Qt. GTK+ is by far the more popular choice for developers, although Qt has done a bit in terms of catching up (I personally prefer Qt over GTK+, but that's probably because I have not gone knee deep in GTK+ programming yet). GTK+ is primarily used in the GNOME Desktop Environment, while Qt is primarily employed in the K Desktop Environment.

Because of its popularity, other DEs besides GNOME use GTK+ as well. XFCE (my personal choice and longtime favorite) and LXDE use it, as well as many other less popular DEs. Even if you only use a Window Manager (WM) for minimalism, most of the GUI applications you are going to run are probably using GTK+.

With the introduction of GNOME 3, however, the devs at GNOME also introduced a new version of GTK+, GTK+ 3. The third major release of GTK+ includes many new widgets and features that we shouldn't really care about (unless you're a developer developing GUI apps in GTK+), but it also introduced an annoying side-effect: the lack of backwards compatibility.

The explosive popularity of Ubuntu's Unity and the distributions that choose to ship with GNOME3 by default has in turn raised the popularity of GNOME3 and GTK+ 3 in return. Which means more developers are now aiming to target the demographic that uses Unity and GNOME 3 by using the latest version of GTK+. While this is nice for people who use Unity and GNOME 3, it's not really that beneficial for those who use DEs that only use GTK+ 2 by default (e.g. XFCE).

Here comes the problem: When an application uses GTK+ 2, it loads the GTK+ 2 theme that the user chose for their environment and uses the widgets and pretty things from that theme to decorate itself. And when the application uses GTK+ 3, it does the same except this time it loads up GTK+ 3. What happens then, if the application does not find a working theme for the GTK+ version it's running on? It will start to look like this:


Bleh, right? It kinda reminds me of the classic Windows look, when everything was all boxy and threatened to molest your eyes if you stare at it for far too long. What happened here is that gitg (the program above) uses GTK+ 3, but the GTK+ theme I have set on my machine doesn't support GTK+ 3. So gitg had no choice but to fallback to the ugly defaults that are only suitable for the root user.

It appears that the only viable solution for this is to find GTK+ themes that work in both GTK+ 2 and GTK+ 3. Which is a nuisance because there are only a handful of themes right now that support both versions. So when you find a really cool GTK+ theme online (hopefully it's not something that's trying to rip off OS X's look) and you've decided to check it out and install it, some applications are going to look completely out of place when they can't find the appropriate widgets from your theme for their GTK+ version.

But then again, some theme developers are kind enough to support both GTK+ 2 and GTK+ 3 engines to appeal to a wider audience. But only "some", though. So that means the blame partly goes to the theme developers as well, who are too busy trying to rip off the look of OS X and not investing that time to make rip offs of the OS X interface that works on GTK+ 2 and GTK+ 3.

And while we're on the topic of desktop environments, allow me to shamelessly insert a screenshot of my working environment (which is in no way looking like a rip-off of OS X):