Monday, December 27, 2010

Christmas Sucks

Like I've said before. My life doesn't suck. The kid in Africa that has a worm burrowing into his eyeball taking away his sight. That guy's life sucks. Mine is just fine.


It does, however, have some unfortunate circumstances. I cannot describe to you the amount of snow that had stopped my trip back to London. It was no more than an inch and a half. That amount wouldn't even frazzle Pearson. I did wind up cancelling my trip. Thanks to Air Canada's incompetence in announcing their flights and also in their lacking of capacity to deal with this situation. I was on the phone for six hours before I finally reached someone. I spent the first 4 waiting for someone to answer. Then he put me up for another 2 ... then he hung up on me. That ... is a little unacceptable. When I finally got through they said they'd get me home Christmas midnight. Roman (roommate) said he found another flight for me. He found out that the flight had jumped up in price from 400 GBP to 3000 GBP. Talk about these opportunistic douchebags taking advantage of a situation like this eh?


So anyways, that was after being on hold for a total of 8 hours. I decided not to go through another hour of waiting to book another flight. It cost around 700 GBP for a one-way flight to Toronto.


Now this sounds stupid since I'm a grown man, but I was pretty much in tears when my flight was cancelled. I have a lot of friends that I wanted to see. I already missed the little soiree we had with at least 15 of my close friends. Granted, I could have paid for an overpriced ticket and just shortened my stay. I just ... couldn't do it anymore. I was exhausted. I was sick of things getting cancelled. I also had to go to the airport to pick up my luggage because I left it there. It was absolutely grueling going to the airport and back in the state I was in.


Now why doesn't life suck?


I gave York a phone call. He spend the next few days with me. It's ... it's strange having a friend have your back like that. Even when you're in another country in different circumstances. York still has my back. Like James, Alex, and Tony ... York's been a good friend of mine for a long time. We spent good time together. Did a little bit of snowboarding (I got kicked off ... gayness) and took in the winter festivities.


When I got back ... the power went out in my place on Christmas Eve night. Now ... I could take that as being shitty. But I was forced to give Hong a call. Another friendship that's been rekindled after 15 years. I stayed at their house for Christmas. I really can't thank them enough.


I didn't spend this Christmas with the friends that I wanted to spend it with. I did want to spend them with highschool and university friends. On the other hand, I did spend it with some lifelong friends ... some friends that I absolutely cannot imagine being more thankful for.


Happy Holidays.

Tuesday, October 26, 2010

Take A Penny

Just came back from a long trip around Europe with Salman and Q. It's been a fun albeit exhausting journey.

I'm having trouble continuing the current work I'm doing.

Worthless.

Wednesday, August 18, 2010

Elusive Dreaming

So I had my first lucid dream this morning. Not more than four hours ago.

I was chatting online with a friend Kim when I said I should take a cat nap.

I felt my body go numb. My laptop was playing music and my roommate came in to check if I was awake. I had to force each of my limbs to move. It was a massive struggle just to move anything. I eventually woke up and someone was at the door. It was the landlord to pick up the mail he asked for yesterday. I stared outside the balcony and then realized this was all a dream.

It felt pretty real though. So for fun, I was like, if I can fall asleep in the next few seconds ... let's see what happens ... I fall asleep and I'm staring outside the balcony. Then I wake up again.

I try one more time. I'm back in my flat. I'm staring outside the balcony. I want to fly. So I run, I can't feel my feet hit the floor, but I do know that I'm moving. I jump. Then I'm floating. I feel a bit scared and I can feel myself fall. I look up so I don't "kill" myself and wake up. I land. Then I run to the centre city of London. I don't recognize a damn thing. I wanted to see what type of girls my dream state would come up with. I approach one or two people. When I reach out to touch them I feel my pillow on my head and the blanket over my body. I stop because I realize that it's going to wake me up. So I stop. I run around the city in circles. Then girl who was following me disappears. I slowly wake up again.

Then I proceed to tell Kim what happened.

Saturday, August 14, 2010

Project Execution

When I first begun hobby coding; I quickly learned that creating a solid project is hard to do.

I learned this in my second year of programming when I was writing a VB--racing game. The core of the game and the level-editor were complete. I had about three weeks before I had to hand it in. I thought it'd only take a day or two to create the 'save' functionality. It took about two weeks. This was when I was taking other courses too like Calculus and Algeo ... not purely programming :P.

I think that when I begun doing contracting I realized the issue with scope creep. Most of the time it had to do with UX issues. With me not being a UX guy it was pretty hard to make these types of changes.

...

Now to the professional world of programming. Not much has fucking changed. Multiple the end users and the levels of bureaucracy and you have the professional world.

I find myself having a shorter temper for unprofessionalism. The company I work for prides itself on being able deliver in a short amount of time. That means stressing developers and UX designers at times. I'm not a big fan of this type of development style. It's a bit ridiculous. They're wondering about putting us into training. But they don't know what we know. So what are we going to be training on? Most of the training sessions have been big wastes of my time. Scratch that. Every single training session has been. They pride themselves on being able to do this. They have nothing to be proud of. If you don't know anything about it; then you're going to be bombarded with information at a high-pace. If you know the topic, you realize that they're not going granular enough. You need a decenta mount of hands-on training to get people to hit the ground running right.

So my coworkers aren't trained in the domain. I simply can't code because I'm waiting for the architect. The architect can't give me specs because they haven't finished BA-ing. Great. So I'm behind and they're trying to pressure us. So I have no requirements. Not even vague requirements. I have no requirements. I have a freaked out project manager. I can't do any work. I'm so sick of hearing from my architect that I can't do it.

This is not the way to produce quality code. This is also a fixed-price project. So guess what, the project end date is already set. There are no specifications. So this means they want us to work long hours.

What. The. Fuck.

Saturday, June 12, 2010

Last Three Weeks

Tommy asked me to blog about my exploits. I prefer not to, but I will list some things I've done in the last three weeks.

  • Drinking in Camden where a Scottish guy was trying to rape me
  • Took a tour of London. Got a pic of myself with the statue of Charles Darwin!!
  • Barbeque with my friends in Deptford. Met a pretty hot chick there *cross fingers*
  • House party in Central London. Met a pretty cute chick there *cross fingers*
  • Having another BBQ today

Not to mention after work drinks at least once a week.

Not that I don't love Toronto, but that was normally my itinerary for the year. Anyways, gotta get some shit for the BBQ. Peace.

Oh yeah, I pushed out a release and it's fucking going down in UAT like a bitch.

Monday, May 03, 2010

Mac Gripe

So I found an image of a map I wanted online. I needed to print it out to a JPG and get it in my ereader.

Great, print screen in a mac is a bitch ... and ... what the hell do you use to save the image?

Saturday, April 24, 2010

Hm

I think the worst decision I've been able to independently make was to go to Waterloo. I think the second is to work for my current company.

Monday, April 05, 2010

WebService API

Silverlight and Ruby on Rails

Technical Discovery is taking a lot longer than it's supposed to have.

I've had a fellow Ruby/Rails friend direct me in the right direction. I'm a bit disappointed that I just couldn't Google "Ruby Rails Web Service" and get an easy tutorial. I don't normally expect that with all languages and frameworks but the reason I expected it from R&R is because it's new (relatively) and web-based.

I followed one tutorial that used the actionwebservice libraries. It didn't work. Completely.

A friend of mine said that I can easily control and create a web service out of the box. Simply by working with the views. I don't know enough yet. I do realize that the fast and furious way of R&R won't work. I'll need to go through the fundamentals in order to get it to work.

There is one issue though. This is going to be really interesting to me. From what I can tell, there is no support for generating WSDLs. Apparently, they don't believe in the bloat. This is a bit confusing to me because the WSDL is intended to just expose the information that your web service provides. Maybe it gets hairier than that, I don't know. All I know is that it does most of what I want. Easy database retrievals and JSON.

So why the WSDL?

.NET proxies that call web services are generated from WSDLs.

Now, I have to decide on whether I want to generate a WSDL (or write it manually). OR
I can just write my own transport layer for making these method calls. All of these calls would have to be asynchronous though. I would also need to serialize each of the responses into accompanying objects. That means I'll have to always update the client anytime I update the server. It's not that bad. I've done this type of thing before. I'll just need to do it on a background thread using the HTTPRequest and HTTPResponse objects.

There's nothing particular interesting about writing a WSDL generator. Besides learning about the WSDL spec and the Ruby syntax. Writing a transport layer maybe a decent exercise. I could always write it and compare my implementation with what gets generated by the proxy class.

Writing a WSDL manually would be the best and fastest option though. I could technically write the classes and method signatures in .NET generate the WSDL and then use it for Ruby. As sad as that sounds.

I'm going to go with the transport layer, I think. I think that it'd be an interesting exercise.

I've sat down with Q and gotten the rules of Sichuan Mahjong down. Fairly interesting. Oh yes, I have the codename of my project. I named my Bomberman project: code name Oklahoma. I'll let that sink in. This one I'm going to name it Project Hot Pot.

Here's the service API so far:

Lobby:
- Game[] DisplayGames
- gKey CreateGame
- pKey JoinGame (gKey)
- void LeaveGame (gKey)
- GameDetail DisplayGame (gKey)
- void StartGame (gKey)

Note: Designing a chatroom sucks using polling

Chat:
- string Say (gKey, pKey, message)
- string Get (gKey, message, timestamp)

Game
- GameDetail (gKey) -- overlaps DisplayGame (gKey)

Action
- Tiles GetTiles (gKey, pKey)
- GameState GetState (gKey, pKey)
- Tile GetTile (gKey, pKey)
- GameState Mahjong (gKey, pKey)
- GameState Pong (gKey, pKey)
- GameState Kong (gKey, pKey)
- GameState Sheung (gKey, pKey)

I haven't decided what goes in my objects yet. This is going to be the basic foundation of what I need. I'm going a little bit with and against the grain for this. In that I won't be using RESTful APIs properly. I'll maintaining only a little bit of state on the client-side. The rest will be done on the server-side (stupid I know ... but what can I do). This game can actually be played by entering the URLs inside a web browser. I don't think anything requires POSTs yet only GETs. Since I'm just going to be using polling for this ... I'll need to set timeouts for a game. Game state will also be stored on a database. What sucks is that the tiles need to be shuffled and stored into the database. It'll be base 84 ... maybe a CHAR(84) for the storage of the shuffled set? I don't know. I'll think about the server layer later.

I'll need another day to think about this. I'll need to draw what each client sees and the controls. Play a game in my mind of what they require and then do it again.

After that, I'll design the web-service. Since I'm doing this across two separate web applications … this should be interesting. I have no source control. I think I'll go with SVN onto an external drive. I could go with GitHub since it's just me. But I'll stick to what I can get. It's 4:17am now. I'm out.

Mac Hatred:
Apparently no Mac users enjoy reaching the beginning or end of a line using shortcuts properly. Also, iTunes copies any song I double click into its own directly. That bugs me. Then again, windows bugs me when it places hidden images into every directory when it downloads the album art.

Sunday, April 04, 2010

Yawn

I couldn't get Ruby to work on Windows. I tried the base case and got a DLL error. I tried installing all these extra dependencies and packages. I had a quick website built in no time but the actionpack ... or action ... whatever it is just can't run properly under windows. People tell me to VM another OS. I'll tell you what. That's the only chance I'll ever give Ruby and it's gone now. It shouldn't be this hard to create a web service. This is so silly.

What a waste of time. On the plus side, my Windows 7 froze again. I left the house for a solid 6 hours and thanks to the Macbook Pro crashing so much ... it spent 8 hours scanning the disk for errors.

Urgh, it's so frustrating just to get something simple done. I may be forced to use PHP but I'd rather not go that route. I'll have to host this thing myself. Which isn't something I want. I have no choice.



This is absurd ...

Back to Black

After seeing a demo of Google's HTML 5 of Quake 2 I'm wondering if I should just do a game using those WebSockets ... and Javascript and stuff.

Seriously.

Most applications need a client-side component, be it: ActiveX, Silverlight, or Flash. Simply because the browser is only intended to display HTML and execute Javascript. Yes, that's not all and I'm being a bit reductive. That's why I'm interested to see what HTML5 can do and further browser support for it.

Anyways, back to the project.

Why am I not using WCF? Don't get me wrong. It'd be very good if I were to use WCF and learn about it. But I'm sure I'll run back into WCF again. I want to write my own polling mechanism in Silverlight. I just think it'd be more interesting. A lot of what we're building should be modular. Anyways, it's not that big of a deal. If I'm building a web service and I get a WSDL generated (I'm NOT writing it myself, I've done that before ...); then .NET will generate a proxy anyways.

I'm still under technical investigation. I have to research how to build a web service using Ruby on Rails. My main concern is that Ruby on Rails is very high. You use ORMs mainly to manage your database. I need my web service/access to be multi-threaded and all that jazz. I'm sure I can get the control I want. Just want to know how.

Also, I have to think about how to run both Ruby and .NET on the same machine. Since there's no way in hell I'm using mono. That means I'll be booting into my windows environment. Since I don't have a good desktop and I have a shitty MBP ... I can't use VMs.

This is going to be interesting. Anyways, time to research Ruby.

Friday, April 02, 2010

WCF + SL

Interesting.

I'm having issues doing some duplex WCF with Silverlight right now.

So what I wanted was to be able to call back the server to the client. Now there are obvious issues with this. You don't want to go ahead and use a configuration that is going to slow it down. The server may need to have memory of the clients that are connected to perform that callback. It could be a timeout before the server will reping to see if the client is still alive. Not to mention security and transport issues to support a duplex binding. The HTTP the protocol that it is is not the best binding to use in this situation. There are other types that many people would use in a situation like this. wsdualhttpbinding or something like that; for duplex it's best for one to use nettcpbinding. Silverlight 1-3 doesn't support it. So fuck it, I take a look at what's out there. There's pollingduplexhttpbinding. The name tells me that's it's not a true duplex. Since there's a timeout and some interval deal. I may as well write my JSON service and have my silverlight app pull on a regular basis. It's fucking easy enough and I could write that.

So I download Silverlight 4, I realize I now need to change all my assemblies to point to a new Framework. Then I realized my copy of the Visual Studio 2010 Beta can't work with SL4.

Everyone is pissing me off to use my company's copy of Visual Studio. Don't get me wrong. I can. My company will never know and that I am. I just hear a lot of bullshit about Microsoft and editors and shit like that. I want to be able to prove I can build a decent MS application using free tools. Not just a decent MS app. A state of the art one using the latest technologies.

So here I am. I guess using a beta copy was "cheating". For some reason after I installed the beat, it was difficult to find the Express copies. They're like, not in my start menus.

>>>

In the middle of an install ... my computer froze on the shitty mac. I hate the mac, keeps fucking freezing. I assume it's because of the NVidia drivers. I fucking don't know why people say it works. It fucking doesn't. Fucking monopolistic assholes. You know why it's so locked down? Here's the scoop, because they're not good enough to support anymore than their own shit. They're not smart enough.

Wednesday, March 31, 2010

Michael Jordan

So taking a look at communication with Silverlight. Instead of doing a pull from the clients; I'm going to be less lazy and have a full duplex connection.


I need hosting solutions for this now. This kinda sucks. I don't want to host it ... maybe I can get Ian too. That'd make things easier for me.

More in-depth reading:


I'm too tired. But I'll try to read this.

Monday, March 29, 2010

Mahjong

So I'm going to build a Mahjong game in Silverlight.

Why?

It's a straightforward game that can be expanded. I built Super Puzzle Fighter II after a few months of VB. So I think that I can do this. ... ... ... right?


*yawn*. Alright then.

Outline. So I'm planning to make this multiplayer. So, I have to have some sort of server thing going on to host the current state of the game? I guess I can do that on the server and save state in a DB? Do some simple message encryption with a token to state the game you're currently in. Probably some simple rest service. Oh shit, I just realized my hosting web server is in Ruby/PHP. So I guess I can learn how to write and host a service in Ruby / Apache? I think that it's Apache ...

Err ... alright, so server ... multiple clients ... what's next?

Oh right, game logic. Riiight game logic.

I have to write client-side logic for immediate UI responses to actions. Then I have to write server-side validation to be certain that the action is valid. What else ...

There are multiple styles of Mahjong. I'm going with the simplest version.

Anyways that should be it.

What's the fastest way to get this up and running?

Figure out the REST API that the server exposes ... wait, I guess I should learn how to play Mahjong.

Well then,

that's first.

Wednesday, March 10, 2010

IE8

I have a few VMs, multiple computers.

Hence I open up IE8 for the first time A LOT. What makes you think I want to go through a wizard on the first boot-up? It's not an installation, and pressing escape allows me to use it as intended.

What makes you think I want to go through the wizard? Weird people.

Tuesday, March 09, 2010

Redux

Being back is weird. I can feel my British accent overcoming my Canadian one.

It's 2am and I'm still up. Why? I have to clean my room. I have restore order into my life. Right now, it's a bit of a lemon party. I have to have a schedule. I don't like schedules. I'm a person who likes to roll with the punches.

I spent my birthday and subsequently my first day in London: writing documentation for a former client and not billing them; thereby saving my coworker 6 hours that he can spend doing on another task. I'm also fighting sleep while at a client during my machine set-up phase. If it were coding then I'd be wide awake. I was setting up a machine and getting permissions.

My life was going to based around my HTC Magic. The connection to Google Calendar was going to be the definitive answer for me. The shitty touch screen keyboard, the horrendous battery life, the service providers blocking the phone has completely turned me off it.

What can I possibly report to you about London? Shower screens are weird. Rent is fucking expensive. All food is fresh, even the frozen ones. Prepaid phones seem cheap (bought a touch screen phone for £19). Rent is commonly paid weekly. Your pay goes monthly.

What else? Being a UK citizen makes travelling to the UK a joke. Painfully easy and I love it.

Sunday, March 07, 2010

And I'll Cry If I Want To

So, why am I moving London?

I have good friends over there. Despite my work being mediocre; my coworkers are amazing people. Fun to hang around and a delight to work with. So why leave? It is undoubtedly a small part due to my career choice. If I were to be doing SharePoint development for the rest of my future. I would want my pay doubled at the very least. That is the only way I can be satisfied doing the work. That's no reason to move to London though. I can always fight to move onto a different project. I can always work for a different company. I don't know why I keep moving. I've hated traveling since I was a child. I've been to around 11 schools in my lifetime (not counting gifted and language schools). I hated moving. Whenever things were stable in my life and I hit my groove. I'd have to move again. I'd move from top of my class to the bottom again. I'd get back into fights and spend lunches alone.



So I hate travelling. Kinda stupid isn't it? If I had to say anything is that I need to take control of my life. I need to have some sort of control over what I do. I moved back with my folks briefly and that is the furthest thing from control. I'm alone in London and I'm back to doing everything on my own. I would love to have moved to other locations. I have heavily considered San Francisco. I wouldn't mind working for another startup there. Hang out with Salman. As much as I like hanging around Pritesh and Ian; Seattle is definitely not the city for me. That city looks and feels dead. I would tolerate it if I was younger with them. But everyone's getting older now and getting on with their own lives in that town.


So here I am in London. Not sure what to expect. Not sure what to look forward to. It's weird walking around London. It's a mix of a new city with the odd piece of nostalgia jumping out at you. Whenever it happens there's a bit of a weird feeling in my head and my smells. The mall in Canary Wharf is completely new to me. But when I saw the Boots logo. I get a mental high. It's one of the weirdest things.