Oh, Google. Here we go again…

Maybe a month ago, YouTube popped up a prompt that tried to encourage me to use my real name and required me to explain why I was refusing… now I just got another prompt which made it even easier to say yes and offered things like “S Sokolow” and “Stephan S” to see if that might change my mind.

I’m starting to get the impression that Google’s end game is to force me to use my real name on YouTube and to delete my account if I give a fake one, as they do on Google Plus… or at least to nag me constantly as they do on GMail because I don’t own a cellphone I can pair with the account for extra security.

…I really need to raise the priority on exporting my YouTube faves and writing a site-agnostic likes/faves manager. Yes, my nick is already my name, but their automated systems don’t know that for certain and it’s the principle of the thing.

Of course, first, I need to move my e-mail hosting to one of my VPSes and set up RoundCube as the webmail UI for when I’m away from home. (I’m already using Thunderbird here)

Posted in Web Wandering & Opinion | Leave a comment

Bourne Shell Tip: Use Subshells Interactively

Suppose you’re using your favourite Bourne-style shell (be it bash, zsh, or whatever else you fancy) and you want to save a video into a folder two levels up the directory tree.

Do you:

  1. Use cd ../.. followed by youtube-dl or wget and then cd back into place
  2. Same as step 2 but using pushd/popd rather than cd (or cd/popd if you’ve got the right shopts set)

Both work… but there’s something even more useful you can do.

(cd ../..; youtube-dl [whatever])

By wrapping a series of commands in parentheses, you run them in a subshell. This means that any state changes like setting environment variables or changing the current working directory are forgotten when the subshell exits.

A subshell is great for off-the-cuff interactive one-liners because, just like with a shell script, you don’t have to count your pushd calls or be careful with how you modify the shell environment. It just doesn’t affect the parent shell’s state unless you do extra work.

I love to combine them with Tab completion (denoted by T), Ctrl+V (denoted by V), and a shell function that wraps up my favorite downloaders like youtube-dl and fanfic2html so I can type this:

(cd ~/inT/ViT/NoT; dl V)

…and get this without having to reset my working directory afterwards:

(cd ~/incoming/Videos/Nostalgia\ Critic; dl http://blip.tv/nostalgiacritic/nostalgia-critic-conan-part-02-3136650)

It’s even nicer when I want to fiddle around with environment variables too.

Posted in Geek Stuff | 1 Comment

Game Reviews: OpenTTD

What follows is a slightly adjusted cross-post of a review I wrote on Desura with added hyperlinks. The writing style is a bit off for my blog but, unfortunately, I won’t have time to rewrite it in the near future.

OpenTTD is a beautiful re-creation and superset of Transport Tycoon Deluxe. If you liked Minecraft for adding a challenge to LEGO™, you’ll love OpenTTD for doing the same for your model train set.

In fact, after spending a day and a half doing nothing but this, I had to force myself to abandon it. If you’re into simulation games, this will take over your life.

Not only is everything about OpenTTD beautifully polished and tuned, it includes a built-in manager/downloader for mods, graphics sets, and the like.

So, what’s the gameplay like? I suppose the simplest way to describe this game is to say that there are two classes of large-scale city simulation games which have grown very successful:

The first is zoning sims like SimCity (Free on Linux as Micropolis) and SimTower where you actually lay out a city/tower/etc. These are fun but do involve a type of micro-management and foresight that, depending on your personality, may wear on you.

The second is business/infrastructure simulations like Transport Tycoon and A-Train where you don’t directly control the cities. Instead, you provide essential services to connect supply and demand and the cities grow and change in response.

OpenTTD (being a Transport Tycoon clone) belongs to this second class. Meet demand by road, sea, and air, buy out your competitors (if you didn’t turn them off), and have a jolly good time in the currency and locale of your choice.

Speaking of which, the advanced options let you tweak EVERYTHING and there are four modes to the level generator, each with unique challenges.

There are only two excusable caveats stemming from its origins as an open-source remake of the Transport Tycoon Deluxe engine:

1. While not as bad as some real “read the manual” games from the 90s, this is definitely a game where you’ll probably want to skim through the tutorial before you’ll be able to reliably get your transport empire to turn a profit.

2. Due to the bitmap fonts and pixel-based GUI, the game isn’t as comfortable as it could be in windowed mode on a big screen

Note: What follows isn’t in the Desura review.

There’s only one thing I’m left wondering. If SimCity is so much fun and Transport Tycoon is so much fun, why does nobody seem to have tried writing the third class of civil/transport simulation games which sits at the intersection of the other two?

Why have I never been able to find a game where your job is to design a road network and you’re actually choosing where highways should go, what kinds of interchanges and on/off ramps to use (eg. weaving lanes), whether a highway needs separate express and collector lanes, whether it’s worth the public outcry to use eminent domain to acquire the land for a given option, etc.

Even if you’re not also in charge of things like subways, light rail, bus routes, and bicycle-only routes, that could be a lot of fun. (Especially if you’re allowed all the fun stuff you don’t see very often like elevated and buried highways)

(I’d write it just for the fun of learning the requisite knowledge about civil engineering and programming simulation models but, given how many other “just for the fun of gaining the requisite knowledge” projects I have creeping along, I’d better not.)

Posted in Web Wandering & Opinion | Leave a comment

Tweaking Motif to make DDD stick out a little less

With Ttk bringing theming to maintained Tk applications like gitk, Motif is the last major holdout we still sometimes have to deal with.

While it is unfortunately true that Motif has no theming support whatsoever, certain tweaks can still be made via X resources.

Here are some before and after screenshots. (Please ignore the ugly fonts until I can find time to restart my X server.)

If you want to use or experiment with these tweaks, drop this into your ~/.Xresources:

If you want to see what other keys DDD sets (though still only a subset of what it will listen to), use this command:

appres `xprop | grep WM_CLASS | awk -F'"' '{print $(NF-1)}'` | less 
Posted in Geek Stuff | Leave a comment

Fixing The New YouTube Look And Feel

If you’ve been using a tracking cookie randomizer or if you’re unlucky enough to be on the wrong side of Google’s A/B testing, you may have run into YouTube’s new look and feel.

Unfortunately, while it does have a few small improvements, it has some really big problems:

  1. The all-white background is rather eye-searing
  2. Buttons which only look like buttons and links which only look like links when you hover near them make it slower and more confusing when you want to click Like/Dislike or Show More/Less.
  3. Having things change their appearance as you move your mouse over seemingly empty regions of the page is rather distracting.

As such, I’ve written a little Stylish userstyle named “YouTube – Fix new look with elements from old look” which patches away these flaws by borrowing colors and patterns from the old YouTube theme and locking buttons and links in their on-hover appearance.

I still haven’t decided out how best to make the button for adding to lists (eg. favorites) as easy to find as it was in the old layout, but I’ll keep thinking about it.

Let me know if there’s anything you think could still be improved further.

Posted in Geek Stuff | Tagged | 1 Comment

GBIndex Data Analyzer Goes Public

It’s becoming increasingly well-known that, no matter what you want to improve, the first and most useful thing you can and should do is measure it. Objective measurements keep you honest and give you something to focus on.

A few years ago, being the unit test junkie I am, I wrote a data quality analyzer for my gender-bending index. Unfortunately, for a variety of reasons (it was a quick and dirty mess of a Python CGI script with no thought put into it), it was never made public.

That changed yesterday with my new rewrite of the Data Quality Analyzer to fit into the new GBIndex codebase. Anyone can now look at the current state of things, whether to heckle or to help by contributing data. (Unfortunately, I haven’t yet had time to implement a history so it can’t track change over time)

Thanks to the marvel of dogfooding and my interest in UI/UX design, the analyzer has the following convenience features:

  • Tests that turn up no problems are hidden by default but can still be shown
  • Each entry contains a miniature pie chart with an informative tooltip to clarify how serious each problem is.
  • The miniature pie charts can be clicked to pull up details on the problematic entries
  • As much as possible, data in the details view is hyperlinked for quick access
  • Except for pulling up details (which will eventually get fixed), every link can be middle-clicked.

There’s more to be done to streamline things, but that’ll require some other parts (like the new UI for submitting corrections and the new code for managing XMLHttpRequests and history) to be written first.

…and, as I expected, as soon as I got the analyzer working with the new database schema, I ended up taking some time to procrastinate coursework by doing some cleanup on the GBIndex’s data.

Play around with it if you want, have fun, and feel free to suggest new things it can check for.

Posted in Site Updates | 1 Comment

Temporary Break in Fanfic Micro-Reviews

A couple of days ago, I discovered that my Identi.ca account had been silenced (suspended).

Apparently, they thought it was suspicious that I was posting almost nothing but rigidly mechanistic notices almost exclusively pointing to the same site (Fanfiction.net, A.K.A. the YouTube of fanfiction).

I got my account restored, but I’ll probably hold off on posting more micro-reviews until I can get a response from them on whether I’m part of their intended user base and it was purely a mistake or whether I should be running my own copy of StatusNet rather than using theirs.

Their “your account is locked” message doesn’t provide access to the data export system and now I’m feeling as wary of Identi.ca as I am of Twitter.

Posted in Fanfiction | 1 Comment