Usernames: An Opportunity to Name Yourself…Poorly (until you grow old and just use your real name).

AIM – The Initial Introduction to Self-Naming

Welcome to a non-coding related blog post.  I hope you enjoy your stay.  Today’s topic?  Usernames.  I didn’t realize this when I was younger, but when I was about 10-years-old, I was granted access to this program called AOL Instant Messenger or AIM when I was at my uncle’s house and connected to the internet for the first time with my big sister.  This was probably negligent on all involved party’s sides, since I spent most of my early adolescence getting all my social needs met through technology when I wasn’t at school with my parents asking me to sneak out and go to parties like my older sisters did, but it also lead to me needing to do something I’d never even considered.  Give myself a name with which other people could call me and contact me.  A username.

AIM logo
A running yellow man. My husband would say this was indicative of my future taste in men. I would say his skin is more olive than yellow, but I do love it when he runs. ♥

DBZMeetsMoon

My first few usernames on AIM were rather classy based on the media I consumed at the time.  For example, I loved Dragon Ball Z and Sailor Moon, so my first user ID was DBZMeetsMoon.  If this had actually happened, I imagine something like this would be the consequence:

Sailor Moon chasing DBZ character for blowing up the moon.

And don’t you dare pretend for a second that you haven’t briefly hoped this would happen as a kid if you were young in the 90s.  I’m looking at you DBZ purists who are offended by the possibility.

More Refined Tastes: xXXx/zZZz

As I matured, however, to a socially awkward middle schooler, my tastes also matured.  Rather than twirling moon princesses and guys grunting as they glowed colors around them (because grunting makes you glow, clearly, that’s why they say women glow after giving birth), I moved onto giant robots.  Gundam Wing.

Consequently, my next username was TrowaBartonGirl.  Not to be confused with Trowa Barton’s Girl in a romantic connotation.  No, no, I just liked the character Trowa Barton (because who doesn’t admire a guy suffering from amnesia by operating heavy machinery?) and I was a girl, so I decided to combine those two details into a single username.  Plus, part of that admiration may have been due to thinking he had romantic inclinations towards another male character in the show.

The Xs?  Well, as anyone who ever made a username and ran into it being taken while a pre-teen knows, Xs are super cool, especially when they frame your username.  The only cooler letter is Z, which as I realized I was sleepy all the time as a lethargic teenager, I updated my username to include that instead.  Brilliance, really.

This same naming trend continued for a few other characters I liked in anime including
Kazuki Fuuchouin from Get Backers and Kurama from Yu Yu Hakusho.

Before you need to ask, yes, I liked pretty boys as a teen, and no, for some reason my husband hasn’t said anything about my love of pretty boys forming my appreciation of him.  That’s correct, my husband thinks a yellow, blob of a man is more indicative of my attraction to him than the excessive quantities of Japanese culture I consumed.  I’ve decided not to think on that too much.

A Misspelled Name of My Own or Don’t Trust Strangers on the Internet

Eventually one of the strangers who I IMed suggested I should have my very own username.  A name of my own.  Now, I’d seen my fair share of Loverboy69s, HotGurl69, BigButtsUnite69 and other things ending in 69, so I was a bit concerned about this daunting task.  Plus, how to choose a name?  I could just use the one I was born with, but then people on the internet would clearly relentlessly stalk me and murder me.

Stranger on the internet, with her superior knowledge of Japanese, I language my anime-loving self obviously enjoyed, decided to help me.  Now, what she told me was a name meaning “Dark Star” (which I didn’t particularly care for since honestly I thought it sounded silly but in Japanese it looked pretty to my Japanophile eyes), actually meant nothing.  It wasn’t a name for anyone, and none of it meant anything at all.

Still, I ended up using that username since I was about 12 until I was around 18.  That’s correct, for 6 years I was meaningless pretty sounds, much like a toddler formulating their first sounds.

At 18, I started using variants, taking the first part of the name that meant “overwork” and adding panda to it, because pandas were cute and had dark circles under their eyes, much like me when I don’t sleep.

The Food Phase

Eventually, I reached a point where I had tired of my babbling username.  I moved on to food.  Sure, I had a dog I loved and adored, and at this time I had created usernames for my parents on multiple sources where they had the formula dog_name + “Caretaker”.  Fortunately, they both had their own dogs.

But no.  I was a consumer.  I consumed food.  And at around the age 20, I had tasted my first persimmon.  And they were tasty.  So my steam log in to this day is Persimmons.  However, sometimes I would regress (or forget my persimmons password, associated email addresses, and security question answers) and also have a PersiPanda username as well.  I personally liked it a bit more due to the alliteration, and who doesn’t love alliteration?  This was essential to success, because clearly if you can’t figure out your account information you might as well just create a new one.  Hooray security!

Finally, The Name

Part of undergrad at CMU involved being forced to have an email address of the formula first_initial + last_name for everything.  My first initial and last name both started with the same letter, so telling people how to email me was very annoying.  After getting married, my husband’s last name is also too short to use this formula due to length requirements.  It’s marginally annoying, and it’s boring.

Consequently, the onset of what I consider my responsible adulthood was a mix of annoying emails involving my name, things involving my partial name, and finally an email address including my entire name since Liu is one of the most common last names a Chinese person could possibly have, but not many people with it have my very non-Chinese middle name (given middle names are usually reserved for kiddo’s Chinese names).

This naming structure seems pretty common for old people.  Not that I blame them.  Admitting you decided to name yourself “kittencuddlesforever1981” is a little awkward given people pick up your birth year and the fact you have an unnaturally love for cats rather quickly.  I do miss, though, in the 90s when this wasn’t atypical to share with someone and made my heart filled with awkward love for a very brief way to get to know a bit more about a stranger you were just meeting.

As a result, I feel the username for my twitter handle “theladyliu” was a gentle compromise with responsible adulthood where information is all facts and my rebellious youth where I self-named things I like – in this case, alliteration and period dramas!

Advertisements
Usernames: An Opportunity to Name Yourself…Poorly (until you grow old and just use your real name).

Coursera – Fundamentals of Computing from Rice University – A Surprising New Love for MOOCs

Let me start by saying the courses I’m reviewing are currently still open for enrollment, so head over to Fundamentals of Computing path from Rice University on Coursera if you’d like to join, and if you’re on the Eastside of the Seattle Area, come join my study group!

Background Knowledge: Where I was with MOOCs Before This Coursera Course

Prior to recently, any Coursera course I was interested in wasn’t available while I was available for it.  That has all changed.  As anyone who has read my blog before knows…

followers
You know, these guys. The guy with kids. The girl in a chair. The singing enthusiast. The smiler. The scowler. You all know who you are.

I haven’t had a great deal of love for MOOCs and other online learning modules such as Treehouse, Udacity, Udemy, Codecademy, and the likes, because I continuously felt like everything was dumbed down to make it accessible to everyone including people who may not be able to continue grasping the content once they got tougher or had to apply it to any independent project because of all the hand-holding.  That is, they intentionally avoided causing situations where people would think, failed to teach them any actual skills and instead set people up to be great typists, or were structured so bizarrely that the independent work paired with the content was inappropriate either due to providing no challenge and just regurgitating what was just learned or due to not working on content recently learned to help solidify student independence.

So between slow pacing, bad pedagogy, and redundancy, I inevitably said books were the way to go and abandoned everything else.

I’m not taking that back, by the way, I still think books are amazing and so much more efficient than certain MOOCs.  I even continued to find them better than the MIT opencourseware, but that might have been due to a number of MIT’s classes I was interested in required fancy hardware I didn’t have access to, so I had to walk away with my head hung in shame.

The Course: Fundamentals of Computing

I had asked a friend about her recommendations for basic CS books to read up on.  While she has an undergrad degree from University of Waterloo, she’s generally very supportive of my independent-study approach to my career change.  That said, she did think that basic CS such as algorithms, data structures, etc was best handled through a class of some sort and recommended the Fundamentals of Computing path from Rice University on Coursera.

It started about a month after our conversation, so I signed up and continued studying independently in the mean time.  While the certificate pathway and their recommendations is one of the courses at a time, I had enough background with JavaScript that I figured I could compensate for the Principals of Computing class and Algorithm class with googling the differences between what I knew and what I was being asked to do with Python.

Dictionaries, tuples, etc were new, but not so novel I couldn’t read briefly about them and apply them, so so far this hasn’t been an issue.  If you have a fairly solid background in another language, I encourage you to do the same.

Course Structure

I hadn’t very high hopes after my previous encounter with MOOCs, and after the first week being incredibly easy and simple (much like the first week of class in undergrad where you get a syllabus and rules handed to you), I still believed this might be the case.  Then came week two.

I had used the Coursera forums to set up a study group with a couple people in my area, and while working on the project spent some quality time in a Starbucks with my classmates.  I legitimately felt like I was back in college again.  I was thinking about problems that were challenging to me, collaborating with my classmates, and as is my favorite part of programming, celebrating resolving puzzles and testing to make sure it still functions in fringe cases and bug free.

The setup was very typical of MOOCs, but also included some elements often neglected.  All three of the classes have the same basic requirements.

  1. Weekly video lectures, around an hour in total.
  2. Homework (some basic coding questions, math questions, etc)
  3. Mini-projects (make a program!  This week, we made 2048)

The weekly video lectures are well done.  In most MOOCs like Treehouse, these are usually high quality though sometimes redundant.  From MIT’s Open Courseware, they were slow and involved a lot of the professor stumbling in the middle of a lecture hall and not the best sound quality or video quality.  Here, there is minimal wasted time (and any waste is usually entertaining, nerdy jokes), easy to view in double time, and the lectures are concise but give you the necessary information interlaced with Udacity style mini-quizzes.  The professors know what they want to tell you, and they tell you it concisely.

Homework is beneficial but not excessive.  It reviews concepts or has you review math that you likely haven’t done in over a decade if you’re the same age as most MOOC users, and helps you get in the right mindset for the mini-projects.

Mini-projects can be simplistic depending on whether or not you’re trying to program without eating lunch (whoops!), but they’re challenging enough that you feel as though you’d applying your learned skills in a unique problem that you need to solve.  I currently feel like there’s a bit too much hand-holding, but part of machine grading is that you need certain structural elements present in order to assess whether or not it meets the requirements, so to some extent this is unavoidable in some of the classes, especially when trying to accommodate so many mooching students.

And finally…

MOOCs have an important place in the accessibility of education, in my opinion, but a lot of them have a long way to go to being actually beneficial.  Fundamentals of Computing from Rice University is an example of the practice done very well without dumbing everything down.

I have to say I currently love it.  I’m not sure if it’s because the forums are so active with students collaborating or study groups make me happy, but I’m pretty certain it’s because I’m learning a lot and enjoying it.

Joooooin uuuuuuus.

Coursera – Fundamentals of Computing from Rice University – A Surprising New Love for MOOCs

Responsive grids on responsive images using JavaScript & CSS3: A Tale of Past Projects

The Problem: Why the Change?!

So back on March 13th this year, I did a blog post about a simple battleship game I made while learning with Head First’s JavaScript book.  Anyone who can recall also knows that this was quite possibly the ugliest, poorly synchronized, wreck of green I have ever seen.

On top of that, it wasn’t responsive, so when I’d pull it up on my cell phone thinking about adding AI to add some actual element of interest and challenge to it, I’d remember I couldn’t actually dink around with the 1024px background image at all in a reasonable manner on my cell.  The reasonable, time-sensitive solution would be to grab my laptop, but instead I decided to ignore time-sensitive solutions and instead update my website that no one but I use at this point.

After all, the fact that I’d link people to my questionably entertaining JavaScript game and they couldn’t get back to my homepage without editing the address bar was a bit of an issue.

board
This. Green. Black. Nothing like my homepage (not to say that’s a bad thing, since my homepage is white and gray and has the color inspiration of someone who enjoys staring at lightbulbs).

Superficial Improvements!

White and grey is apparently the color scheme I was rolling with, and there’s clearly no reason to change that.  Ever.  Grey and white has, as described above, has the artistic influence of staring at a lightbulb.  Clearly I should have it infect every portion of my website.

Consequently, I spent some quality time with photoshop to turn the green/black scheme to white/grey.  It’s simple, elegant, not green.

New layout!  Responsive and all!
This. White. Grey. Exactly like my homepage.

Coding the changes with CSS and JavaScript!

I had originally thought, “I can definitely use some magical functionality of CSS I’m unaware of to make it responsive!”  Turns out there isn’t a magical functionality, at least not that I could find, so I decided to use JavaScript and jQuery instead to query changes.  There were a few aspects of CSS that were helpful though.  For example, using the board as a background image and having it be responsive was slightly problematic, so instead I used it as a normal image and used the CSS attribute “z-index”.  This allows stacking of elements in different orders with smaller numbers being at the bottom and larger at the top.  Consequently, I stacked setting the board to have a z-index: -1 and the table’s z-index: 1.  This caused the board to act like a background image with the table placed above it.

Next, I used the width() and height() methods to query the image, setting the page to make this query whenever a resize occurs.  I then set the resulting size of the table and individual cells to be dependent on this height and width based on the proportion of the board it occupies.

One mistake I had made during this process was at one point I set the “height” CSS attribute for the image to 100% as well (rather than just “width”), which resulted in image warping and strange overlays at small sizes.  Most modern smart phones won’t get to that size, but I figured it’d be best to just avoid that all together.  Learning is fun!

Here’s a jsfiddle to see how it works and the actual code.  Feel free to resize the “results” section to see the army of ships move about.  All your guesses will be correct, sure, but it’ll take you 49 turns to defeat me!  Bwahahaha.  Ha.  …Ha.

The Results: It’s Prettier, Hooray!

It’s not hideous!  It’s responsive!  A resounding success!

Oh yeah, now I can dink around with it on my cell phone while contemplating adding features to actually make it interesting and perhaps even enjoyable to play.  Maybe even clicking guesses instead of typing them!  Perhaps a slightly stupid AI to compete with!  The possibilities.

More importantly, though, I’ve made it so my site overall flows together a lot better.  The Great Dalmuti has even been contained to the confines of the wrapper div, which is always a nice perk since it looks less ridiculous on larger screens where you have 12 tiny cards sprawled across the monitor in one and a half rows.  Don’t get me wrong, lots of UI improvements need to happen on both ends, but it does mesh in with the rest of the site better, and who doesn’t want that?!  Hooray.  Meshing!

Other Notes & Personal Progress

While I’m still continuing to work on The Great Dalmuti (you’ll notice it has taxes now and wild cards!), I’ve also started a couple courses on Coursera.  They’re the “Fundamentals of Computing” courses, though I’m doing them with a few alterations.  Rather than taking one at a time, I’ve decided to attempt stacking them all together.  I figure this won’t be too problematic since I’m adept in the ways of Google to help support gaps in knowledge, and so far that has been helpful.  My background in JavaScript has made picking up Python overall very simple, though there are some aspects of it I’m not as familiar with.

Then, naturally, I’m not paying for the certificate either since given the current attitude towards non-traditional education from businesses, I don’t think it actually has any value in a 1st world country.  Not to mention I’m just there to leech knowledge.  I won’t go into a long rant about the problems in traditional education with my former teacher hat on, but suffice it to say I think non-traditional education is a good use of resources and a good source of independent growth if you’re remotely disciplined.

I’m currently organizing a Seattle area (Eastside) study group if anyone would like to join us.

Shoulder still recovering.  Still have zero sense of body awareness.  One day, I will be body aware, just you wait!

Responsive grids on responsive images using JavaScript & CSS3: A Tale of Past Projects