Saturday, September 28, 2013

WataMote

I did a post like this for Boku wa Tomodachi ga Sukunai as well, so... here goes.  By the way, the actual real title of this series is way too fucking long, so I'm just going to call it "WataMote" like the rest of the internet does.

Once again, something in entertainment comes along that draws a parallel to my life.  In WataMote, the main character is quite visibly introverted and has social anxiety disorder.  My social anxiety is very much self-diagnosed, but it very simply explains a lot of things throughout my entire life, so the engineer in me likes that explanation.

My only issue with this anime, and Haganai, is that the main character is totally inept, as the main group was in Haganai.  They want to find happiness, but they go about it the complete and total wrong way.  I know, there needs to be something for entertainment value, but for someone like me who finds that these things resonate fairly well with me, it's kind of disappointing.

I guess my main concern with WataMote is how nobody really notices that Tomoko is suffering and unable to figure out what to do.  Not even her mother.  This does correlate to everyday life where "if you're not an extrovert, fuck you" is an unwritten rule of society, but still.  The only person who takes any sort of notice is the student council's cultural festival chair, but that only happens with three episodes left and there isn't really time to expand on it.  The person that Tomoko is closest to being able to call a friend effectively doesn't get to do anything, except for an anonymous gesture that just confuses her more than anything else.

I'm not even talking about Yuu, who was Tomoko's middle school friend.  By the end of the anime Tomoko is referring to vast swaths of females as "bitches", including Yuu.  Yet she keeps her around to try and get the perspective of someone who she sees as "popular".

(by the way, those glasses look horrible on Yuu.  I know I'm not a fan of large-frame glasses, but still, they just look awkward.)

Honestly, one of the best things about WataMote is its opening song.  At first you're going "so metal", but then as you keep watching and see her breaking the chains and grabbing the sun you realize it's all a metaphor.

I know I'm discussing fiction here, but it does highlight a point that echoes real life for a large number of people: grade school life kinda sucks.  If you get instinctively seen as a "runt of society", you're stuck that way until college.  No joke.  You're effectively forced to mature faster as you constantly wish that everyone else around you would grow the fuck up and realize that all the things they're talking about are entirely trivial and don't matter.  You end up in "that group" that all the cool kids point and laugh at: the group of people that hang out with each other because nobody else will.

In this sense, WataMote and Haganai are kind of grafted at the hip.  Tomoko would probably have joined the Neighbors Club if she'd been a character in Haganai.  Hell, the series even references Haganai, among other things (I counted several Haruhi and K-On! references as well).

If you're going to watch this series, it does have plenty of entertaining moments.  Episode 8, however, was quite difficult for me to watch towards the end because of a scene that seemed to take forever that I knew would all end in tears.  Recalling the amazing opening song, episode 10 has the best transition to it by far.  Also, get yourself a copy of the OP single.  It has three versions of the opening song (karaoke versions don't count).  The first one is the one they used for the anime.  The second one is the opening song with just the female singer doing all the vocals.  The third one is the counterpart to that, with all male vocals.  They're pretty lulzy, especially the male version.

Anyway, I have to draw this post to a close somehow.  I'd give some inspirational words of "ignore the idiots that the grade school environment surrounds you with and make your real friends based on common interests in college" or something, but I hate inspirational speech.  It just sounds cheesy, even if it's true.

Also, WataMote is entertaining.  Hard to watch at points, but entertaining the rest of the time.

Friday, September 6, 2013

Comparator Clock in Minecraft, Explained

So with a very minimal amount of redstone it's possible to make a fast pulsing clock, just by using a comparator in subtract mode (third torch on).  We know it works, but why precisely does it work?  That's what I'm going to cover in this post.

Here is our example circuit.


Let's call the signal coming into the back of the comparator "Signal A", and the signal coming into the side of the comparator "Signal B".

When a comparator is in subtract mode, its output will be the strength of Signal A minus the strength of Signal B.

When the clock is off, Signal A, Signal B, and the comparator's output all have a strength of zero, so the result is plainly obvious: no redstone pulses.  The clock's output is stable.


When the clock is on, Signal A is the full signal strength of 15, and Signal B is zero.  The comparator subtracts zero from 15 and outputs the difference, which is 15.  Two blocks away from the output, Signal B becomes 13.


Signal B is now 13.  The comparator subtracts 13 from 15, and outputs a signal strength of 2.  Signal B once again becomes zero, so the cycle repeats.


This style of clock only works because the comparator has a built-in delay.  This delay is one redstone tick, or a tenth of a second.  The design actually uses this delay as a crucial component, because at any given step of the cycle the output of the comparator is dependent on the previous step's value of Signal B, so the previous value of Signal B needs to stay around just long enough for the comparator to notice.  If it had no delay it would pulse too fast for any other redstone component to even notice that the signal was changing.

When using one such clock, place a repeater somewhere adjacent to the redstone dust that provides Signal B, and then send the signal wherever you need it.

Edit: Notes:
  • In the creation of this post, I used the OptiFine mod and the Faithful 32x32 texture pack.
  • I'm actually flying high above my example redstone in creative mode, and holding the OptiFine Zoom button.  This combined with some cropping in Photoshop takes my obnoxiously large FOV setting out of the equation. (Quake Pro master race)
  • I did forget to turn off particles, which accounts for the bit of redstone that has zero signal having a particle above it.  The clock toggles faster than the particles disappear, the signal is indeed zero there.

Saturday, August 24, 2013

Traffic peeve #76

(Peeve number scientifically chosen by hammering my number keys)


So yes, there is a story behind this.  I was stuck in the shit-tastically designed parking lot of a shopping center that was built here a while back.  In the process of turning around and GTFOing, I ran across one such asshole as depicted in the comic.  Driving an SUV, of course.  He did leave enough room for me to get by, thankfully.  As I turned past him I honked, to which he replied "thank you!".  I instinctively responded "You're welcome!" and drove on.

Tuesday, August 20, 2013

PowerShell 2.0 Type Accelerators

So at work I've been using PowerShell for things, because it's a fairly easy to learn scripting language that's grafted to the hip of .NET.  Specifically, PowerShell 2.0.  Yes, I know PowerShell 3.0 is a thing, and that there's a beta for 4.0.  I don't care.

One of the things in PowerShell 2.0 you might have noticed and/or used are the type accelerators.  Normally when you want to make a new object, you have to do something like this (using a stopwatch as an example):
$sw = new-object System.Diagnostics.Stopwatch
If there existed a type accelerator for System.Diagnostics.Stopwatch, that could be as easy as this:
$sw = new-object stopwatch
Well, the good news is, you can add your own type accelerators.  The doubly good news is, a type accelerator is a type of its own, so you can use a type accelerator to make adding type accelerators easier as well.  Sup dawg, I heard you like type accelerators.

The following doesn't apply if you use the PowerShell Community Extensions, where this already exists.  This is just a way for you to get equivalent functionality in vanilla PowerShell 2.0.

So, as implied above, we want to make a type accelerator for type accelerators.  This task is actually pretty simple.  Just plop this in your PowerShell profile (do echo $profile and create the file that comes up):
if( !( [type]::gettype( 'System.Management.Automation.TypeAccelerators' )::get.containskey( 'accelerators' ) ) ) { $_accel_type = [type]::gettype( 'System.Management.Automation.TypeAccelerators' ) $_accel_type::add( 'accelerators', $_accel_type ) remove-item Variable:_accel_type }
I will now proceed to explain it line by line.  The first line checks to see if there's a type accelerator called 'accelerators' already.  If it already exists, nothing will happen.  The whole point of this is so you can add other stuff to your profile and rerun it in the same session without getting errors.  The second line grabs the System.Management.Automation.TypeAccelerators type and stores it in a temporary variable.  The third line uses that variable's add static method to make a type accelerator for, you guessed it, type accelerators.  The fourth line simply removes our temporary variable.

After this has run (either restart PowerShell, or just run . $profile), or if you're using the PowerShell Community Extensions, the following is now possible:
[accelerators]::get
Run that and PowerShell will poop out a list of all your available type accelerators.  Further type accelerators can be added using this type accelerator.  Returning to our example at the top:
[accelerators]::add( 'stopwatch', [System.Diagnostics.Stopwatch] )
Done.

Saturday, August 17, 2013

The Simpsons: Hit and Run

Yes, I finally started playing this game.  After moving out and not having internet for a bit I found time in my schedule for gaming, so here we go.

First impression: the game is good and makes a lot of references to a lot of the best episodes of the show, while at the same time having its own story.

As far as the gameplay goes, it's almost GTA but with The Simpsons.  You can run around and take any car you want, but it's more mission-focused than GTA.  There are fewer side things to do, and no weapons.  You can build up a meter by hitting people and cars and things, once it gets high enough the police chase you until either they bust you, which basically only takes 50 coins from the game's infinite supply of coins, or you get away.  Sometimes depending on where you are or what you're doing when they start chasing you it's easier to just get busted, since once they get their money, they neglect to take you to the police station.

In place of GTA's "hidden packages" are cards you can find, and wasp cameras to find and kill.  You can take side missions occasionally, as there are bonus missions you can find that unlock vehicles, and races that are fairly unforgiving in difficulty.

The game is severely missing a full map you can bring up.  The compass in the corner only shows so much, and it's all different shades of green, so it all blends together.  On this minimap are little icons indicating where various things like stores, races, and your current objective are, but it's kind of pointless because it has such a short range around your current location.  At least have a map I can buy at the Kwik-E-Mart or something...

Graphically the game is nice to look at, and handled the 2D->3D transition pretty well.  One thing I noticed relatively quickly was the tearing, which indicates that the game doesn't use VSync.

One thing that detracts from the gameplay is how much the game relies on timed missions.  This would be more acceptable if the time limits started out forgiving and got more and more strict as you progress through the game, but the time limits are strict from the start.  Throughout each area of Springfield you play in, there are shortcuts you can take, and to have any kind of ease with the timed missions you need to memorize their locations so you can drive through as fast as possible.  The "mission failed" screen even suggests that you do this.  While I like the addition of the hidden shortcuts, I don't think the time limits should have been set so strictly as to require their use.

Now, on to the game's overall progression.  Leaving the story out for the most part so if there's anyone else remaining who hasn't played this game and wants to, they can read this without spoiling themselves.  Anyway.

The game starts out with Marge ordering Homer around, and you do a set of missions as Homer.  These range from taking a science project to Lisa at Springfield Elementary to having to beat Smithers in an impromptu race from the power plant to Mr. Burns' mansion.

After you complete Homer's missions, you assume control of Bart for a completely different set of missions that culminate in you helping Professor Frink build Truckasaurus Rex and then take out a series of cell phone-using drivers so that Truckasaurus Rex can actually be controlled.  After Bart's missions, you assume control of Lisa.

Lisa's section is absolutely brutal with the timed missions.  They give you so very little leeway in the time limit that you have to know where all the shortcuts are AND not run into any traffic.  Or, you can do what I did and cheese the timer.  Essentially, it gives you some time to get somewhere, so get there and satisfy the first timer.  Once you get within a certain range of your objective, the timer goes away and it tells you to talk to the person.  Instead of talking to them, drive to (or at least, much closer to) your next objective, then get out and walk back.  Talk to the person, get what you need, and then walk allllllll~~~ the way back to your car.  Yes, this takes longer than driving, but you don't have to deal with the damn time limit, and it's what I found myself doing after failing the same mission about four or five times in a row because of said time limit.  The game really could have done without the time limits.  I come from the Vexian school of game balance, which carries the de facto motto of "If it's not fun, what's the point?".  You know what's not fun?  Failing the same mission over and over due to a strict time limit.  Also, to quote AVGN: "All it makes me do is have to do the same monotonous stuff over and over again, and it's not fun, it's boring."

After Lisa's section, you get Marge's.  It's more of the same shit with the time limits, except this time they're even stricter.  Basically, if you screw up at all, you'd better just restart the mission or you're wasting your time.  There was a nice time limit-less section of Marge's section, but for that it gives you one of those "follow the car" missions where if you get too far away you lose the car and fail the mission, and the leash they put you on is incredibly short.

Even though the game is divided up into missions by character, it's not the end of the world if you miss things, because you can go back to any mission and get what you missed.  The method of doing so is a little weird, but it works.  You have to go into the pause menu and select "Mission Select".  This also lets you easily re-play a section of the game that you may have taken a liking to, or try to legitimately get through a section you skipped.  "Skipped?" you say, perhaps raising an eyebrow.  Yes, in my rage-inducing attempts to finish some of Marge's missions, the game revealed a "skip" option on the failure screen.  According to the internet (and the internet is never wrong!) you can skip your way to the end of the game if you want to.

It's kind of a shame that the time limits ruin the gameplay so much, because without them, or if they were relaxed a bit, it'd be a really good game.  I really do see what they were going for, but I don't remember quite this many timed missions in GTA 3 when I played through it.  They weren't absent, but they also weren't EVERY. SINGLE. MISSION.

I haven't finished the game yet, but I feel confident sticking with the overall opinion I've established thus far.  If everything changes massively in the remaining gameplay, I'll do a follow-up post.

Wednesday, August 7, 2013

Switching to 24 hour time, Day 1

Well, Day 1 was yesterday.  But whatever.

I want to switch over because 24 hour time is less ambiguous than 12 hour time.  You don't have to read the time twice to tell what time it is, essentially.  Plus, I've been switching everything I possibly can over to ISO 8601 dates, and ISO 8601 uses 24 hour time.

(ISO 8601 organizes the date/time fields in the order of "changes the least often" to "changes the most often", from left to right.  Today would then be 2013-08-07 07:35.  This is less ambiguous for a human to read, and it can be sorted by computers very easily since strcmp will always report that a later date is "bigger" than an earlier date.)

However, I had a bit of a panic yesterday when I looked at my watch to see if it was about time to go to bed and there were numbers I didn't expect.  I had to do the old "subtract 12" thing to see that I still had another hour before I really needed to go to bed.

It seems like I can't configure my phone (an LG 420G) for it, and a Google search returned nothing useful.

I really just need to get myself used to using new numbers in the latter half of the day.  I get off work at 17 and go to bed at 22, not 5 and 10, respectively.

(also, side note, I'm going to be leaving the timestamps alone on this blog)

Saturday, August 3, 2013

Moving On With Life

Yeah, I'm finally getting the hell out of my parents' house.  It's been long overdue.

Move-in day at the apartment is the 9th.  I'll have two of my friends as roommates.  I don't know how long it'll take to get myself moved in, I'm expecting the process to take the entire weekend, mostly for little fiddly organizational bits.

To be honest I'm kind of nervous, and this is entirely to be expected.  I mean, I did go off to college and live in a dorm for the one semester I was actually there, but this time I'll truly live independently of my parents.  It'll be a new adventure, I guess.

I mean, I'm so nervous that I haven't actually told my parents yet.  I just can't find a good way to bring it up.  Having the social anxiety I have, it's difficult for me to start a conversation about a topic as big as this just out of the blue, even though it's my parents I'll be talking to.

I was initially keeping it secret because I know that if I'd brought it up they'd try to get involved somehow and then question how independent I really am.  I was planning on bringing it up after I'd signed the lease and it was a done deal.  Then after signing the lease I realized another reason to maybe keep it hidden for a bit longer: my dad is an asshole when it comes to all things financial.  I can completely picture him going "you're moving out?  Okay, here's your car insurance bill, your health insurance bill, and by the way, buy the car from me".  I'm not saying I don't want to pay for my own shit, but I don't want all that dumped on me immediately.  I'm not entirely sure yet that I could handle a sudden spike in monthly expenses, and I'll already have ~$400/month of rent to pay.  Keeping it secret longer gives him less time to carefully plan out how much of an asshole he'll be.

You can also be sure that when I do mention it, it will be to my mom.