Tag: environment canada

  • End of the term

    Work

    I’ve now concluded my internship at Environment Canada.

    How do I feel about it? I think I’ve learned alot now that I’ve actually had some hands on time to apply my knowledge in the real world. However, I realized not alot of what I learned in university were applicable. There’s alot of theory in school such as turing machines, algorithm runtime, minimizing truncation error or catastrophic cancellation, stuff that in the real world doesn’t really come into play. Yes, there are alot of design patterns used and using SAX instead of DOM to parse large XMLs saves alot of resources. But never did I use anything that involved Finite State Automatons, Context free grammars or NP-complete problems.

    Overall, I felt that it was a good time for me to mature as a computer programmer. I did meet alot of new people, made new friends, and learned new things. Details of my work can be found here. Now, back to school again… sigh.

    To-do List

    My to-do list has gotten shorter! here it is now.

    Need to keep track of things…

    School:

    -Pay off tuition

    -Get accepted into ECO major

    -Find potential buyers for my car and sell it for decent price

    -PEY Evaluation

    -Get accepted into the capstone design course

    -Get into waitlisted ECO courses

    -Eliminate 75%+ of my debt

    TekkieValley:

    -Allow users to feature videos and submit their own related links to blogs, videos, articles, etc

    -Add mobile phone support

    -Do more SEO on it

    -Add fb/twitter connect for login

    -Wikipedia, Twitter, Blogger, Stack overflow, Google latitude content aggregation

    -Procuring investment capital for hiring

    -Assessing and developing more cohesive business plan to present to investors

    -Finding source of advertisement and promotion

    -Consolidate domain names into one dedicated server and one shared (dedicated for video,shared for blog)

    Starcraft 2

    I found there’s strengths and weaknesses to pooling resources. In a 4v4 match, we have one guy who just expands and gives the other 3 resources. This saves the time needed for that guy to research/build buildings so that the other 3 guys can pump out units much faster than the other team. Since resource trading is disabled for 5 min, this build is susceptible to early rushes and cheese. However I compiled a graph of army strength of the latest game in which our team won:

    Pool vs Non Pool resources
    Pool vs Non Pool resources

    Notice how they have the advantage of army up until the 7-8 min mark. Then we (the pooled team) started beating them in terms of resources and army. There’s an anomaly where at the very end their army is increasing much higher than ours. I suspect its because at the end of the game, we weren’t building anymore units (we had enough) and they were desperately pumping out units to try and defend, and because I counted units lost in the graph, hence the spike up. In short though, I think it could be a good strategy if your opponent is trying to build up, and you are quickly expanding with your other player and pumping out guys non stop. Another thing to note: their team had at least one expansion each, if they didn’t expand as fast, our resource and army advantage would be higher still.

  • Working at Environment Canada is great but…

    I haven’t talked about working at my internship for a while so I will explain my thoughts at my job. The job I’m doing is Software Developer for the Core layer of the Data Management System. What that means is basically I’m managing and maintaining the interface that communicates between the components (client) and the database. In Enterprise Architecture terms, there’s always the web layer which is accessed by the client and communicates to the business layer which communicates to the data access (persistence) layer which accesses the RDBMS (Oracle) and propagates the data back up to the client. My main responsibilities daily are basically fixing bug issues, making sure everything follows the design patterns and best practices, writing documentation and occasionally designing a component when it needs to be done (but to date I’ve only designed and implemented one component for NinJo so far).

    It’s a nice job. The environment is relaxed, there’s no time cards where you punch in your hours, the supervisors and the employees are very nice and friendly. I can even trade stocks while working thanks to dual screens. I definitely wouldn’t mind working a job like this as a career but the only thing is the location. As you may have noticed in my previous posts, I do not like living and working in Canada for many reasons. The weather is too unpredictable. Taxes keep going up. Housing prices keep going up. There’s no point making $60k a year when $20k goes to the government. There’s also less of an entrepreneurial spirit here which I also dislike. Not to mention – people here are too liberal for my tastes. An example of a conversation I have with any Canadian:
    Me: “So did you hear that the government is raising taxes again under the guise of HST?” Them: “Oh yeah. Well I don’t mind, we get rebate checks. And how else is the government gonna pay for the services, eh? If I were them I would’ve raised taxes too.”
    Get my drift? People here want bigger government, more services, basically they’re socialists. I’m more in favor of smaller government, less spending, tax cuts instead of hikes, etc basically conservative ideals. That means I disagree with 80% of the people here who want more services from the government and enjoy their “free” health care.

    I’ve often said that I’m Chinese at heart – and American in thought. I’m a capitalist, not a socialist. I take advantage of opportunities when I see them; I like taking risks; I want to start a small business; I believe in equal representation. The place that embodies a lot of the things I want to do is California; the place I’ve always wanted to move to. I wanted to apply to get into a university there but couldn’t because of the international student fees, but I’m sure that my SAT scores and GPA would’ve gotten me in. There’s just so much innovation there in terms of technology and business; Silicon Valley produced some of the world’s most well known tech companies; Apple, Google, HP, Intel, Nvidia, etc. There’s something about the atmosphere there that lends itself well to innovation and fostering opportunities, all of which I want to get in on. There’s a sense of belonging there; I felt very out of place growing up in a small town full of white people and no innovation. California is the opposite: most populous state in the US; center of entertainment and music (Hollywood); Most Asian-Americans in the US; Technology and Business as mentioned. In short, I feel like I belong there, not here.

    Another place that would fit in very well with my moderate and conservative ideology is Texas. Texas is a healthy and economically stable state; The second largest in population and area; The most fortune 500 companies of any state; unlike California it doesn’t have a 12% unemployment rate, a massive budget deficit nor is it losing population. That would make it perhaps a better place for me to find work. Just think: In Ontario I have to pay 2 sales taxes and 2 income taxes and as of now $3.8/gallon for gas. In Texas there’s no state income tax (only federal) and one sales tax of 6% (US has no federal sales tax). Oh and gas is cheaper too. Just think about how much you could save by moving there. You pay half the taxes! Houses less than $300k! And enjoy better weather! And people there are conservative! And you can buy guns anywhere! My god, what a difference that would be.

    That’s just wishful thinking for now, as I (still) have not graduated from college and I have no idea what the future holds, but for now those are two of the places I would love to live and work in. If there was a job like Environment Canada but it was situated in California or Texas, then that would be my dream job.

    Revision: 05/01/2010
    While I still believe that my experience here has been moderate and the people are friendly, the environment is a little too relaxed for me. I like to work hard and be pressured, and I suppose the public sector is not as rigorous to meet deadlines as the private sector in this regard. So I most definitely believe that the private sector is where I’m heading. Location is as mentioned before, very important when choosing where to work.

  • Work, work

    Lots of work to be done at Environment Canada; Three people on our Core team have been moved or left, so now we only have me and three others who are essentially maintaining the core. The next release of the Core is planned for end of September:

    Tasks to be done:
    -Modify the metadata updating procedure in the core. Waiting for stored procedures to be added.
    -Testing of Element Mapping lookups…having trouble with the unit tests.
    -Element Mapping parsing is weird…waiting for encoding issue to be resolved.
    -Ninjo Station Catalog PG design document is set to be reviewed later this week, and I will have to write the code soon.

    Other than that, I still have no luck finding a part time job, I’m making fair losses in stocks which require me to inject more capital in, my debt actually increased by $1000 during the summer despite working and I have to pay back my car loan =(. I also have to go to court in 6 months to fight a parking ticket -_-. A nice cuban cigar and fine french wine is in order! (of course those cost money as well).

    Latest recordings:

    A new recording of a Jimi Hendrix classic; I admit I jammed quite a bit on this one, it’s over 10 min long!

    Also, a new version of instrumental Desperado which probably sounds better since I’m not singing!

    Some more recordings I am planning soon include a cover of Steve Miller’s The Joker and maybe some more John Mayer/Jimi Hendrix covers.

  • My work at EnvCan and some remarks about healthcare reform

    So its been a good 2 months since I started at EnvCan doing software development but things have been slow to pick up. The reason why that link on my portfolio page probably won’t link to anything soon is because I still have not been doing all that much.
    My role is a Core developer, and to understand what that means, you have to know that Environment Canada has several different teams:

    • Core team – the team I’m on. This team is responsible for developing the interfaces that all the components will use and as the closest layer to the database.
    • Component team – the team that is in charge of developing all the applications that communicate with the core interface. At EnvCan we have several components such as Decoder, Standardizer, SYNOP, QC, etc (but you won’t care for what those are).
    • NinJo team – My friend Stefan is on this team. They are in charge of the software that predicts the weather. =)
    • Architecture team – I am a secretary for this team. It is as the name implies, in charge of the architecture for everything.
    • Business team – They are not coders but rather they write out the rules and specs we are to follow.

    There you have it. Each team has their own meetings, and I have been rather swamped with those lately (I had two just today). However it’s a nice and relaxed environment to work in. Everyone is friendly and helpful, and alot of the time I find myself getting distracted.

    Here is one of our ‘productive’ meetings:

    Our meetings about porings
    Our meetings about porings

    Here is what my ‘work’ consists of:

    Sketches, drawings, etc
    Sketches, drawings, etc

    As you can see, very productive.

    On the other subject of this post, I want to make a few remarks about Obama’s healthcare overhaul:

    47 years ago, JFK made the same sort of proposal which later got passed as Medicare and Medicaid after his death. It was the biggest piece of healthcare legislation since FDR implemented Social Security in the 1930s. Obama seeks to have universal coverage, something that I find quite ambitious yet unlikely. The problem is the United states, unlike Europe or Canada, has had private insurers for healthcare for its existence.

    It’s analogous to why they are still using the Imperial system for measurement – it’s simply too entrenched to get rid of. The reason why Canada switched is because we did it a while back. It’s a bit too late to do it now, though there is little choice – US federal budget projects huge increases of deficit due to Medicare/Medicaid either way. So I would say that because this issue was never passed in the 1930s, they dug themselves in a very big hole.

    I have taken courses on Canada’s healthcare system – and while it is not perfect by any means, it is sufficient. I don’t have to have an employer sponser me as I would in the US to get coverage. Americans would recoil from the mention of ‘socialized’ medicine but if it didn’t work, then wouldn’t we have switched back? Not to mention our federal budgets are not nearly in deficit as the USA is. So before criticizing socialized healthcare, ask yourself ‘is it really much worse than having the least efficient healthcare system in the world?’.

    Edit: I see why the argument against universal healthcare persists. It is a RIGHT to pursue and receive healthcare but it is not a RIGHT to pay for someone else’s healthcare (except when they’re poor and old apparently). The argument for auto insurance is different. Everyone has to have auto insurance because there’s a chance that you could cause damage to someone else or their vehicle and be liable for it. A chance that is not statistically insignificant. However, the chances of you causing damage to someone else or their property due to your health is rather insignificant. That’s why auto insurance is mandatory and the same argument cannot be extended to healthcare. They’re different playing fields.

  • A new direction

    Well, feels like I haven’t updated since the beginning of this month, so here’s what has been going on:

    PEY – Environment Canada has been going well the first week. The people there are quite nice and friendly, and it is a very flexible and lax environment. The work there the first week was so paltry that I had to ask for some! The environment there is good, the pay is ok for a student and it is an hour and a half away from my house. But what I have found out while working there is quite a revelation: this wasn’t what I wanted to do as a career.

    Yes, I did enter UofT in computer science, yes this job is 100% related and yes it was what I was expecting – but I realized that it wasn’t the kind of thing I wanted to do for the rest of my life. Perhaps for a few years yes, but not for the rest of my life. Because it seems to me that I want something more than just being a coder – I wanted to be a manager – Project management, or business management. Of course, one could always get a promotion – but there seems to be too little ways of getting that. This has led me in a new direction – I am considering doing an MBA now after I graduate. The reason for this is many, while it may not seem savvy in the midst of a recession, a master’s degree could pay off in the end – and I only live once.

    The fact of the matter is however, that business school require related experience, and the only way I can see myself ascending to that from a Software engineering specialization (perhaps the economics minor could come in handy) is working as a software developer for some number of years, getting promoted to a project manager – and then attend business school. After that, I have any number of paths from financial firms to software management. The trick is how to do all this, and do it while I’m young (I don’t want to attend school in my 40s) and doing it right (I don’t want time and money to be wasted). As a side note, its a shame that commerce and computer science have to be completely separate otherwise this could have been easier. In addition to that, I expect to attend a US business school and for the US economy to be back up by the time I attend (which may be even 10 years from now).

    This is all very long-term thinking, but I like to plan ahead and do whatever it takes to succeed. I can’t live with coding my whole life, but I can live with managing a software company and doing coding occasionally.

    On another note as my other interest of being a designer and doing HCI related work, I have done the same for SoU 09 as I did for GSoC 09, so Here’s the link. As for my other plan of doing CSC494, that will have to wait because ROSI is going to take until May 19 (tomorrow) to post my GPA, which might be too late to start requesting for that.

    Other plans this summer? More video making and recording (in fact I have a new JFK video up on my youtube), more xbox360-ing, more investing, more ways to make money to pay off OSAP and my credit card debts and hopefully more posts on this blog =).