Choose Your Theme
Warren Shea

Archive for the ‘Web Developer’ Category

Gamer VS Developer

Friday, January 6th, 2012 at 1:05 am

As my “two years” since the day I quit WoW (World of Warcraft) comes up, I’m reminded of what I wanted to do this last year. And I honestly fall pretty short of what I wanted to do (more on that in Sat’s post).

I wanted to focus this year on development. But I didn’t. I didn’t learn most of the stuff I wanted to learn. And I think that I learned that I’m fundamentally more of a gamer than a developer. But maybe that’s only true when I’m not motivated to develop :P

In recent years, I played a lot of WoW. Then, I took a break from games and did worldofwarren.com (previously known as warrenshea.com). And then I went back to games this year.

Look at the 2 lists below, they speak for themselves (thank you bi-weekly Accomplishments posts for making this so easy to compile).

In this last year, these are the games I’ve played and beat completely (in order of most recently beat to least recently beat)

  • Super Mario Kart 7 [3DS]
  • Kirby: Return to Dreamland [Wii]
  • Kirby Mass Attack [DS]
  • New Super Mario Bros [DS]
  • Super Mario 3D Land [3DS]
  • Star Fox 64 [3DS]
  • Catherine [PS3]
  • Zelda: Ocarina of Time [3DS]
  • Zelda: Ocarina of Time [N64]
  • Super Mario Bros. [Wii]
  • Hard Corps: Uprising [PS3]

This doesn’t include the games I played but didn’t beat (cuz there’s no ending) – Marvel VS Capcom 3, Initial D: Extreme Stage, Gran Turismo 5, League of Legends (LoL), DOTA, DC Universe Online, Counter Strike: Source, Plants VS Zombies, and even occasional (but non-addicting) WoW….plus all the iPhone games: Cut the Rope, Cut the Rope: Experiments, Drop 7.

In this last year, this is what I’ve done development wise (from a personal perspective….I still did/learned a lot from work)

  • New Google+ Theme on worldofwarren.com
  • Got worldofwarren.com and moved content from warrenshea.com to worldofwarren.com
  • warrenshea.com (but not complete…80% done)
  • Heavily cleaned up code on worldofwarren.com
  • Fixed old themes on worldofwarren.com
  • Read CSS Mastery book

Honestly, while I did a lot of dev, I think I spent most of my time playing games (well, actually most of my time would go to watching and re-watching shows, sitcoms, anime but I do other stuff when I watch stuff…like eat/dev). I think the year after WoW was working hard on development to balance/catch-up the time I’d lost gaming due to WoW. And then this year was to catch up in the years I’ve missed in gaming :P I didn’t mean for this to happen…it just…did.

I don’t know what next year will be like: Dev or Games? I think professionally, it’d be better to focus on dev….but I can only do that if I’m motivated. Lately…I just haven’t been (this looks so bad to any potential employers coming to my site looking for a self-motivated individual). It’s hard because I’m not one to finish projects….starting warrenshea.com, finishing most but not completely finishing it. And then I don’t want to start a new project because I should really finish warrenshea.com. And then I don’t wanna finish warrenshea.com cuz it’s the boring stuff, clean up…nothing challenging. So then what do I do? Game. I guess it’s all about procrastinating….and gaming is my most fun, efficient use of time-wasting. I imagine I’ve spent a little more time gaming than blogging…but maybe not, it’s hard to say….I blog a lot but I don’t game a lot…just in concentrated spurts.

I guess my next most efficient time wasters would be reading: comics, manga, fanfiction, a novel here or there…followed by art/design.

Still, Web Development is not a time waster. It’s my professional field…and while many people don’t do professional stuff outside of work, I try to be an exception. Because I certainly do love development, and I think keeping a current skill is incredibly important for future opportunities. My skill with a blade must be sharp, like the blade itself. It can’t be dull, or it’ll take more hits to take out a Stalfos. OMG too much Zelda. But seriously…out of the other 14 developers in my department, only 2 develop frequently. And they’re both senior and incredibly skilled. Less than 5 do occasional development and the rest don’t do any outside of work. And that’s okay if they’re okay with that.

But I’m the least skilled of the 3 most skilled in our department….and the least hard-working of them. And yes, while I’m in the top 4/5 in terms of skill…I’m the bottom of the top. I don’t like that at all. I’m not saying I want to be the best if it sacrifices my life…but both of the people above me seem to have a pretty normal social life. More normal than me…

Anyways….I’ve really been reflecting on my “two years” post and this is something related, on my mind, but not what I want to focus on….which is why it’s a separate post.

Good night for now, talk to you soon :D

Accessibility – Development for the Visually Impaired

Wednesday, June 22nd, 2011 at 12:30 am

Well, this is new.

I’ve got an accessibility project (I’ve had for a month now) – making things (purposely being vague here) meet the WCAG (Web Content Accessibility Guidelines) 2.0 Level AA Rating. What this means is basically making things fully accessible for the visually impaired; making text the necessary font size for a visually impaired person, making sure content is navigable (that’s a word!) via the keyboard, making sure all information is accessible in some way through the use of a screen reader and a keyboard.

I’ve got 3 people under me – originally I was just supposed to be project lead…but they actually refer to me as the boss -_-; It takes some getting used to. ….the poWER…THE POWER !!!! Seriously, they look to me for answers for everything. They go to me to make the tough calls. Honestly, I love it.

Recently, I think this has given me the opportunity to show one of my best strengths: the ability to understand things logically and rationally, with few pieces of information. Like putting a puzzle together. As I said today, I feel like…no, not Batman, but House. Well, and Batman. But House has a team….just like me ;) But basically, they’ll have an issue. They won’t know what to do. They talk and bicker amongst themselves and try to figure out the best plan of attack. But they can’t agree. They ask me for guidance. I don’t know what to do either, I hear their dilemma. But we talk about the problem for 10 minutes, and I’m able to figure out the best course of action, which they all agree with me. And I love it.

They tell me that when I meet with them, once a day or whatever, it clears things up. I really help give them direction. Not only is it nice to be able to help these 3, but it’s great to be able to figure out the best solution where they all agree or back me up. That my opinion, intelligence, and reasoning not only matters, but is crucial. It’s a great feeling to be able to think at level. And I’m finding that it’s coming more and more naturally to me.

It’s also allowing me to be more comfortable with my opinion and my skill. It’s allowing me the great opportunity to test my leadership. And while I’m reluctant to be a leader for social reasons, I think I’m a good one when I’m placed in the situation. I generally don’t hold or organize meetings but I have 3 this week in which I’m leading, organizing, etc. On Friday, I have to public speak for 12 people for about an hour. The best part about that is…I volunteered for it. I could have left it to my team but I wanted to challenge myself, and practice this. I think that generally, I’d be shy about it but I can’t wait this time. I’m really emerging as the leader I always knew I could be if I weren’t so socially retarded…

Ahhh….got sidetracked.

I actually wanted to write about Web Accessibility. As lead of this project, I’ve learned a lot about the technical aspect of it. Not as much as my team, but enough. And I plan to learn more for my upcoming presentation, this Friday morning. But while there are rules that need to be followed in coding, to meet the WCAG 2.0 Level AA Rating, what I’ve learned most is changing my way of thinking to accommodate the visually impaired.

They say that to become a strong developer, it’s important to know different coding languages. It’s become clear to me that it doesn’t mean that you should know ASP.NET VB and ASP.NET C#, or JavaScript and Java. It doesn’t mean that you should know languages that are fundamentally the same, but with different syntax. It means you should know different fundamental languages.
For example, C# and Ruby. JavaScript and jQuery. As I recently greatly improved in jQuery for warrenshea.com, I learned how to code differently from the standard JavaScript.

I also feel that to master Front-End HTML, you need to master making a website fully accessible. You can’t build a website that <insert x% of blind people in the world> can’t use. That’s not a good website. You need to consider how to make your website accessible to everyone. And it’s a different skill. Closing your eyes and listening to a screen-reader.
Understanding that:

  • visually impaired people start at the top left and have content read to them….and don’t want to hear the same navigation text every time they view a page (which is why we provide a “skip to navigation” ability).
  • Flash should be accessible via the keyboard. If you can’t click play, pause or stop, there should still be the ability to do so.
  • words like “click here” do not apply to the visually impaired (as they’re not clicking).
  • a visually impaired person should be warned that a popup window is opening, otherwise a visually impaired person may not be able to tell that there’s one.
  • the color of text on a background should have a certain contrast ratio to be viewable (4.5:1 for a level AA rating, 7:1 for a level AAA rating)

The point is that when you try to develop for different browsers and resolutions, it’s a means to make your site more accessible. But a lot of developers don’t realize the % of visually impaired people in the world. They should consider that developing for different devices, browsers, and resolutions is just as important as developing for the visually impaired. Sure, they’ll spend a lot of time making changes that are only on a text level, and won’t be visually different….which seems…I wouldn’t say pointless, but there’s not as much value in it for the time you spent. But know that not developing for that is actually discriminating against the visually impaired. And that’s what the real problem is.

Anyways, I’m thankful to have had this project. The work is tedious – though, I’m not doing it. But I’ve learned a lot. And not only have I learned a lot, I’ve learned a different way of thinking. And as far as projects go, I can think of no greater reward.

P@$$words

Wednesday, May 4th, 2011 at 1:37 pm

The recent PSN (Playstation Network) and SOE (Sony Online Entertainment) hacks have been bad. Bad for the average user that uses these things (me), very bad for the users that have purchased things over these channels (me), and very very bad for Sony. But I have little sympathy for them as creating something to hold this information needs the support and security around it to prevent that kind of stuff. While PSN isn’t a paid service (and thus, not directly revenue generating, as opposed to say, XBOX LIVE), I would imagine that they should definitely have had the financial means and resources to prevent against whatever security hole was used.

That said, I work for a large corporation and while we have group(s) dedicated to security, I don’t know how they would fare to the creative hacker. In a recent discussion with a security minded person, he recently told me that he teaches people to hack. My original thought was “as a security expert, why teach people to hack? It seems to enforce what you’re trying to prevent.” but the answer was quite obvious. He said “by teaching how to hack, it helps a developer to develop more secure code”. Duh. Now, I’ve never been one to hack. I mean, truly hack. I can do some creative things with my given skills but I’m not one who knows about <insert what I don’t know about hacking keywords>. I know how SQL Injection works…and thus, I know to code to prevent that type of exploitation. But I don’t know how <hacking method x> works, and thus, can’t code against it.

I’m always up for learning new things, and learning how to hack better is definitely something new on my list. Not to do something malicious, heavens no!. But to become a better developer. Now is a good a time as any to take the first steps towards learning something new.

Anyways, the intention of this post was to discuss passwords. Given the recent exploitation, I’ve been forced to re-evaluate all my passwords. Granted, I’ve been meaning to do this for a while, but this actually gave me a pretty good excuse. While it’s a security risk introducing the following topics, I’ll try to stay vague and not give anything away that could potentially hack me.

I’ve finally made different passwords for everything. I’ve always avoided this because of the obvious limitations to my memory. I used to have about….5-10 passwords which I used for everything. They varied from “password” to “I don’t care if this gets hacked” to “This is my godly, unbreakable password!” but as I sign up for stuff, reusing certain passwords, the passwords blurred. I had “I don’t care if this gets hacked” passwords for important stuff, and “This is my godly, unbreakable password!” for unimportant stuff. This has become a problem.

Up until recently, there was something I hadn’t considered regarding the security around signing up for things. When I would sign up for stuff, I would submit my email, my username, and a desired password. To keep things simple, my desired password would often be my email password. What a ridiculously stupid oversight. Generally, when you sign up to sites, you think they have a secure system. You hope they do. Password hashcodes, security precaution x and y. But what if they didn’t? As the user, you’re no wiser to their infrastructure or security. Suppose they simply had a table with


EMAIL Username Password
warren.shea [ a t ] gmail.com warrenshea password


and what if the system admin or whoever, just viewed the table and BAM!, gets the email and a password. Granted, it’s the email, username and password for the site they’re the admin of. But technically, that person could try that combination of email and password to “hack” in to the email account. Now, I don’t know what the percentage of people that do this is…but I’m fairly paranoid and even I did it. Granted, I’m quite stupid as well…so it’s hard to say. Still, I imagine that you could probably hack in to 10-20% of the emails….and that’s a lower estimate. I would guess you’d get in to 80% of them. People just can’t remember that many passwords so they reuse them. Again, it wasn’t too much of an issue as I would sign up for stuff with my “bad password” while my email had my “good password” but again, sometimes I’d get stupid or careless.

There’s also the problem that my “This is my godly, unbreakable password!” has certain characters that aren’t allowed by sites. A good site will allow dIFFerEnT cAseS, NUMB345, and C#@RACTERS. But some don’t. And I have to use “I don’t care if this gets hacked” passwords for important stuff….because the system won’t allow a good, secure password. In 2004, I actually had an email rant to Rogers because I couldn’t change my password to the one I wanted….they wouldn’t allow special C#@RACTERS. Sh!tty system.

.
.
.

Anyways, that’s gone now. I’ve modified all my passwords to be something different for each and every thing. Getting “PASSWORD A” will not give you any other access except to “SECTION A”. And that’s how it should be, I’ve just been too lazy to realize and change things. But improving your own security is the first step to becoming secure yourself. Better to fix things like this early than get hacked somewhere down the line for signing up with “I just wanted to download this one thing!” site….but obviously you wouldn’t know which site hacked you because you’re a password reusing fool, so it could be a number of them. Also, you’d have more important problems to deal with…figuring out how to fix things rather than figuring out why you were hacked and who did it.

Now, please watch this informative video on safety best practices.

<in Orcish> Werk Werk!

Friday, March 18th, 2011 at 1:48 am

So the senior developer that works with me has gone on vacation this week so I’m helping out with 3 of his tasks.

And while the timelines are tight (one week) and as of today (Thursday), I’ve only fully completed 1 of them, I gotta say that I’m having more fun working than I have in months. I can’t disclose the nature of the projects for obvious reasons…but 2 of the 3 of them involve learning something new or building something interesting. And the third project, the one that doesn’t involve learning something new…likely won’t get done by the end of this week :D

Anyways, one of them, let’s call it Project X, involves
1. Developing in a better language than I’m used to.
2. Developing on a different browser and platform.
It’s just…different. Challenging but within my reach.
The best part is that I can apply the things I’ve learned in Project X to warrenshea.com. So I may do that in the near future. Again, I can’t tell you what I’m doing yet….be patient, I’ll reveal it in a matter of time.

So on Sunday-Monday, I worked from 2am-6am. That was brutal and pretty much messed up my day. Good thing for Overtime Pay :) Well, technically I slept from 6am-noon so I missed a few hours in the morning. But ah well, I made it up that night (had to do some testing from 5pm-7pm).
Tuesday – Worked from 9:30am-10:30pm on Project X (13 hours)
Wednesday – Worked from 9:30am-Midnight on Project X (15.5 hours)
Thursday – Worked from 9:30am-4:30pm on Project X, went to Richmond Hill to have dinner with my family (parents, niece, nephew, bro, etc.), came back, worked AND FINISHED Project X! WAHOO!
Friday (tomorrow) – Work on Project Y from 9:30am-5pm, go to a basketball game (Raptors VS Wizards), maybe go to a birthday dinner after, and then come home and hopefully work on Project Y
Saturday – Possible Birthday party (another one), possible Toronto Comicon. If I don’t do that, I’ll be working on Project Y.
Sunday – Project Y.

So Project Y involves (from a technical standpoint)
Taking a Querystring from the URL
Loading a server generated XML via a JSP (see next point) but using the Querystring from the URL (thus, using AJAX to generate the XML as it needs to be after page load)
The JSP loads the XML from a cross-domain XML (this must be done so that my page can access the XML and prevent the cross-domain issue)
Anyways, eventually I end up with the XML, unique to the querystring.
I parse it, output the content to the page. I need to create a paging system manually (I’m using only HTML and JavaScript here, no server side languages).
And done!

Well, as I wrote that out, it doesn’t seem hard at all. Time consuming, but fun. Not doing standard HTML/CSS/JavaScript….using AJAX, XML, Querystrings (in JavaScript)…it’s interesting.

Anyways, that’s Project Y. Sounds easy, the (not hardest but) time consuming part will be outputting the XML into the page…I did the same thing here: [Redacted] a couple years ago…that was fun. God, there’s SO MUCH JAVASCRIPT on that page. browserDetection functions because I didn’t know jQuery at the time. JavaScript AJAX calls because I didn’t know jQuery at the time. Multiple XMLs, JSON….I had months to do that thing. Project Y has 3 days. So I’m gonna work my arse off partly because of the responsibility I feel that I need to deliver to the senior developer, but mostly because I simply can’t wait to do this. Not sure how much I’ll learn but it certainly sounds fun. 2 days to do it is pretty tight, especially considering it’s the weekend and I might do other stuff on Saturday….but I’m always up for a developing challenge.

I swear, if I didn’t have to work the next day, I would have pulled all nighters doing what I was doing this week. I loved it so much. Coding all night, just me, my music, my text editor and my focused, enthusiastic, eager mind. It’s not everyday I’m so excited to do work after all…I may as well milk it.

Anyways, off to bed. Based on the amount of sleep I’m gonna get tonight…I predict being very tired for the Raptor game tomorrow. Stupid me. Seriously.

Welcome to the World of Warren!

Tuesday, March 8th, 2011 at 11:37 am

Oops. Had this draft pending for a while, I was supposed to post it much earlier!

Within the last few months, my coworkers and I were discussing domains or something and we decided to look up worldofwarren.com for some reason. It was taken, by some dude named Warren (obviously), and the domain contained his blog that hadn’t been updated in a while.

Anyways, we found that the domain was going to expire some time in Dec…and I thought it’d be kool to have to domain, if possible.

Now, I know how domain expiration works. It expires, it goes through redemption period, and then is released and generally, shortly after, it’s squatted. For a while. Sometimes years.

So I noticed the redemption period started Jan 2011…but I wasn’t planning to spend every night/moment checking the domain. I check it maybe once every 2 or 3 weeks.

Anyways, yesterday, just before I went to sleep, I checked it and it was available! Lucky me, where were the squatters? Was it a worthless domain? I dunno, but regardless, I got it.

So I have a bunch of domains now.
4 domains
horderockcafe.com
warrenshea.com
seasaltfishandchips.com
worldofwarren.com

I have 5 emails
horde.rock.cafe [a t] gmail.com
warren.shea [a t] gmail.com
shea.warren [a t] gmail.com for spam and registering for stuff in which i don’t want email
and now
world.of.warren [a t] gmail.com

and warren.shea [a t] hotmail.com….used solely for work e-mail testing purposes (to use another e-mail client.

I have 3 twitter accounts
warrenshea and worldofwarren though I don’t know what to do with the latter. And right now, it’s protected…w/ 1 tweet so don’t bother following it. i’m just reserving it.
and one more…but that’s a secret!

I have 2…or more(even I don’t remember?) Facebook accounts
One of them is a secret!

Anyways, getting side tracked.
World of Warren. Not sure what to do with the domain right now. Maybe move everything except Resume, Projects, Portfolio to World of Warren….effectively making it a pure personal site.

And then warrenshea.com would be my professional resume site. I dislike the idea of having warrenshea.com as my personal site as it’s highly unprofessional.

Yeah, going to keep worldofwarren dormant/contentless for a bit. I decided to do both it and warrenshea.com in HTML5…meaning I need to know HTML 5…which I don’t, and it’s not on the list of things to do at the moment.

Converting warrenshea.com to HTML5 should be easier, all *MY* code is easily editable. I’d want to consolidate all the stylesheets and javascripts to 1 or 2 files each (to reduce server calls) and do sprites and stuff.

Anyways…back to “work”.
*Goes to check twitter, email, FB, and then work*