Thursday, March 31, 2011

Crest of the Stars (Spoilers! And final blog entry)

Crest of the Stars is the first installation of a series of Japanese space opera novels written by  Hiroyuki Morioka. As a space opera, it shares many common themes and elements as George Lucas's Star Wars saga, so if you are a fan of Star Wars, this is something you might want to take a look at. I have never read any of the books or graphic novels, but have seen the anime adaptations, and have always planned to read the novels once the series is complete, due to the richness of the world it depicts.

The story is set in, presumably, the Milky Way galaxy, probably several thousand years in the future. The Human race was able to explore and colonize the galaxy due to the discovery of something called Planar Space. Humans in this Universe discovered that space has five dimensions; the three-dimensional space that we usually reside in is connected to a two-dimensional space through portals scattered throughout the Universe. Humans discovered that they could take shortcuts through the Planer space to get to distant planets, and through this means populated the galaxy.

Since three-dimensional Humans cannot survive in a two-dimensional world, Humans had to innovate a technology that generates a small pocket of three-dimensional space around their spaceship when travelling through Planar space. The Planar space introduces some very interesting subplots, due to the fact that the portals are strategic military points, as well as the fact that battles in Planar space require a totally different military strategy than in three-dimensional space. For example, an enemy ship can be easily surrounded in Planar space, and in order to attack an enemy ship, either one must merge with their three-dimensional bubble, or fire a weapon which generates its own three-dimensional bubble. Planar space battles play a major role in the storyline of Crest of the Stars.

Also, at some point in history, Humans experimented with genetic engineering. They engineered a new race of Humans who were better suited to living in outer space; these Humans had superior three-dimensional reasoning, higher tolerance to the radiation of outer space, and were better adjusted to living in zero-gravity. They also were engineered to have additional organs which allowed them to connect directly to spaceships and pilot the ships with their minds. These Humans were treated as slaves to mine minerals from asteroids in the early days, and were by some considered to be subhuman abominations. These people rebelled against their masters and fled into outer space not to be seen for centuries.

After centuries of silence, these people returned to the eyes of planet dwelling humans, transported by a fleet of spaceships far superior to those of the planet dwellers, and proclaimed themselves as the Abh People. The Abh then begun a peaceful, yet forceful militaristic occupation of most of the Human worlds, forming the Abh Empire in a matter of decades. This expansion was motivated by their vision of bringing order to the galaxy, driven by their egotistical and elitist views of Mankind. Those planets which resisted occupation formed an allegiance known as the United Mankind, which despised the Abh Empire, but was not foolish enough to start a war with them.

The story of Crest of the Stars begins with the home world of a boy named Jinto being occupied by the Abh Empire. Jinto is the son of the president of this planet, and when his father released control of the planet over to the Abh, Jinto became the official representative of his home world. Jinto leaves his home world to undergo Abh education. Many years later, we find Jinto leaving school to begin his required military service. He meets the Abh princess Lafiel, who is serving her military time learning to be a pilot. She is tasked with transporting Jinto to the Abh home world (a large network of space stations), so he can begin his term.

During the trip through Planar space, their transport is ambushed by ships belonging to the United Mankind. Their ship is destroyed, but Jinto and Lafiel escape on a smaller ship out of Planar Space, and land on a planet controlled by the United Mankind. They uncover a plot to start a war with the Abh Empire, and need to find a way off the planet to warn the Abh home world of the ensuing attack. Their presence on the planet is discovered, and an exciting chase ensues eventually leading to their escape from the planet, and rescue. Upon being rescued by an Abh ship, they discover to their dismay that the war has already begun, setting the stage for the next installments of the series, which focus more on the war.

Hopefully I've peaked your interest in this immense universe, and hope you will look into it sometime.

Ghost in the Shell (Spoilers!)

Although I don't watch much Japanese Anime anymore, one of my all time favourites is still Ghost in the Shell, which for me is the definitive cyber punk story. The first movie is set in the year 2029 in a dystopian Tokyo, Japan, where computers and technology have advanced to the point where human augmentation is fairly widespread. In particular, the use of brain implants and even complete electronic brain replacements have become commonplace.

The story focuses on a policewoman named Motoko, who works in a secret division of the police force known as Section 9, which specializes in cybernetic crime. Motoko is a lethal weapon produced by the government; her entire body is synthetic, so she is strong, fast, and capable connecting with computers making her a hacker of insurmountable skill. In the movie, Section 9 discovers that a highly skilled hacker is hacking the electronic brains of important business leaders and government officials. After thorough investigation, Motoko finds that the hacker is in fact not a hacker at all, but a computer program that has attained sentience through exposure to the immense data communications network of the time, an extrapolation of today's internet.

The movie puts the viewer face-to-face with a feasible near future, and poses uncomfortable questions about where our love of technology is taking us, and what exactly it means to be Human or even simply alive. These are familiar questions to those who are well read in Philosophy, but framed in a setting that makes us realize their imminent relevance in modern society. And perhaps of equal importance, the movie looks very, very cool. The movie looks great, but it is more of a cerebral experience than an action-packed one, so keep that in mind when you decide to watch it, but it's a movie I strongly recommend anyone to take a look at.

Wednesday, March 30, 2011

Portal (Spoilers!)

Portal is a PC videogame developed by Valve, the same company responsible for the Half Life series of games. Portal was released in a bundled videogame package called The Orange Box, along with two other Valve titles: Half Life 2: Episode 2, and Team Fortress 2. Portal takes place in the same Universe as Half Life 2, but it is not disclosed when the events of Portal take place with respect to the events of Half Life 2. Portal, much like the original Half Life, takes place mostly inside a large research facility, with very little chance to see outside. This allows Valve to keep the story of Portal completely separate from Half Life 2.

Portal is a hybrid style of game, combining the genres of First Person Shooter and Puzzle game. In Portal, you have control of an advanced piece of technology that enables you to fire an energy beam at a wall and produce a portal on that wall. By producing a pair of portals on different walls, one can travel between these two locations by walking through the portal. The game requires you to navigate through different rooms and buildings, using the portals to traverse obstacles and solve puzzles. To understand why you might be required to do this, you need to know the story of Portal.

In Portal, you are awoken from a long sleep in an unfamiliar laboratory owned by Aperture Science. The only sign of life is the synthesized voice of an intelligent computer called GladOS. GladOS gives you the Aperture Science Handheld Portal Device (ASHPD), and asks you to test the experimental device by working through a series of obstacle courses. Between GladOS's discourse, the increasing danger of the obstacle courses, the mysterious absence of other people, and the disturbing red handwriting written on the walls of the hidden areas of the research complex, you soon realize that GladOS is trying to kill you and you must find a way to escape the building. After escaping the confined area of the obstacle courses, and working your way through the abandoned research complex now controlled by GladOS, you eventually find GladOS's central computer building and have a final confrontation with it.

Valve is scheduled to release a sequel to Portal this Summer, which after the popularity of the first game is planned to be a much larger game, with more levels, features, and online multiplayer capability. It's a game I'm looking forward to playing very much.

Half Life 2 (Spoilers!)

I am not an avid gamer, but one of my favourite videogame series is the Half Life 2 PC game series. I like this series of games for several reasons, one being the game style. These games are First Person Shooter style games, whose gameplay depends heavily on physics. When I play these games, I feel very immersed in the environment, and I like how I am free to explore the world, in some ways more free than in real life. For example, in the game I might navigate to an interesting area by jumping on top of cars and over fences--something I wouldn't normally do in real life.

The other reason I like this series is for the story. The original Half Life game did not have a very complex story, and was more of a horror genre game. In Half Life, you play an experimental physicist working in a fictitious lab called Black Mesa, based on the Los Alamos National Lab. You are doing high energy experiments on rocks of a mysterious origin, which you later discover originate from an alien world. You also learn that the researchers have been able to develop interplanetary teleportation technology from them. At the beginning of the game, you witness the researchers perform an experiment on the purest sample yet found, which accidentally causes large numbers of wormholes, or portals, to open up. Unfortunately, these portals are connected to a world inhabited by alien life. The native wildlife proceed to pass through these portals and kill most of the researchers in the process. The rest of the game involves you attempting to escape from the research facility alive.

Half Life 2 has a much more in-depth story line. The story begins about 15 years after the events of Half Life, where we discover that the portal storm caused by the experiments at Black Mesa caught the attention of a hostile interdimensional totalitarial empire known as the Combine. The Human race was mostly wiped out by the Combine within a few weeks of their arrival; however, a Human representative struck a deal with the Combine to keep the survivors alive, under the condition that their reproductive capabilities be restricted, and moderated by the Combine. It is in this setting that we are thrown into the fray, to lead a rebellion against the Combine. The world is also much bigger in Half Life 2, where we travel both over water and land, seeing many different places. The game series now has a spin off series called Portal, which I think I will discuss in my next blog entry.

Tuesday, March 29, 2011

Editor War

The sad truth about the computer world, at least for young people in University or College, or hobbyists, is that it is home to a lot of people who are egotistical, arrogant, elitist, and anti-social who are unjustifiably caught up in themselves to be able to effectively work with other people. From what I hear, a lot of this goes away once you enter the workforce, supposedly via the interview selection process. This culture has produced some of the most meaningless conflicts humanity has ever seen, one of which being the so-called Editor War.

The Editor War is a dispute amongst two camps of programmers, those who use the text editor called vi (and related text editors), and those who use one called Emacs (or related). Both were released around the same time in the late 70s, and have remained two of the most popular text editors for writing computer programs. There are a lot of differences between the two, vi is very small and simple, yet allows you to perform complex text editing tasks, while emacs is very large containing far more features than vi, including a built in Tetris-like game. Emacs is very extensible, and very complex text editing tasks can be performed using the right macros. I believe that what drove the dispute originally is that Emacs was written in the Lisp programming language, which in the 70s was not a very popular programming language, and was decidedly slower than C, which vi was written in. However, nowadays this argument doesn't hold weight, as Lisp is much faster now than before.

I don't really plan on describing every difference between the two editors, my main purpose is to illustrate the pointlessness of the dispute. Choice of text editor is a personal choice that doesn't make any difference to other people; you produce a text file with content, through whatever means you like, and email it to your boss who requested it. All your boss cares about is the content, not which text editor you used to produce it. You will have to decide yourself which text editor you like, but once you pick one, try to stay with it and not be swayed by others opinion.

Math For Computer Scientists

I have never been a math major, nor have I ever been interested in pursuing research in math, but during my degree in Physics I took a lot of math courses, and am pretty comfortable with math overall. I feel that my math background has served me well in obtaining competitive grades in the math courses required for my present degree in computer science. Computer science education is interesting in comparison to Physics because it is a much younger field of study, and there are a variety of different career paths in the computer industry. 

An interesting question that pops up a lot is how much math should computer students be required to learn, considering that some career paths in industry do use a lot of math, and others do not. It is a requirement in most Universities for computer students to learn elementary derivative and integral calculus, linear algebra, and discrete mathematics. Calculus and linear algebra are useful for computer simulations of complex systems, and computer graphics, but most students won't end up working in those fields. Discrete mathematics is very useful for understanding how computers and algorithms work, and most computer programmers would benefit from knowing some, but perhaps they could do without the calculus and linear algebra.

In my opinion, since there are uses for calculus and linear algebra in computer science, it's important that students get exposure to them so that those career paths that require them are not closed off entirely. It may be the case that these topics could come later the student's education, once they decide to pursue such a career path. Furthermore, I think that students gain valuable problem solving skills by taking these math courses, even if the content will not be useful in practice for their career. For these reasons, I think it is justified for these math topics to be taught to all computer science students in University.

Monday, March 28, 2011

Minecraft

Minecraft is a new videogame that has gained a lot of popularity in last year, and is especially popular amongst computer geeks. It's a first person perspective game in a 3D world, where everything in the world is made up of blocks. There are different kinds of blocks for different kinds of material, such as clay, gravel, sand, dirt, wood, coal, iron, etc, and in the game you go around with a pickaxe to mine these blocks for resources. Once you obtain a resource, you can build blocks of that type with it, at which point your imagination can go wild building 3D structures or artwork.

There are many different ways to play Minecraft. You can play the game by yourself at home, or you can set up an online game with friends. If you play online, you can collaborate with other players to produce larger, more involved structures than you could produce on your own, but you could also play individually at home taking your time exploring the world and working on pet projects. I've been playing Minecraft for about three or four months now, and am starting to get bored with it, because I've only been playing individually and am starting to run out of ideas for things to build. Once I have more time, I might consider playing online with friends, so I could get involved in more complicated projects.

Because there is no standard way to play the game, the game is appealing to many different kinds of players, who all choose to play the game in a way that is enjoyable to them. For this reason, I highly recommend you try Minecraft and I think you'll find that no matter what you will find some way to have fun in the game.

Friend's Wedding

Today I received an invitation to one of my best friend's wedding. I have never once attended a wedding before, and so this is an exciting opportunity for me. The wedding is well after I finish my summer job, and just before I start school again in September.

The wedding will take place in Calgary, which is the Bride's hometown. I have only been to Calgary once when I moved to Vancouver from Ontario with my dad. We drove to Vancouver in a U-Haul moving van with all our stuff, and only passed through Calgary briefly, so I didn't really get to see much of it. Hopefully when I go to the wedding, I will have more time to explore Calgary and get the full "Calgary experience". I also have some friends who live in Calgary so this would be a good chance for me to go visit them.

I hope that I can behave myself during the ceremony. Ever since I was a kid, I've had trouble with laughing at inappropriate times, which I've gained some control over as I grew up, but still struggle with at times. I can just picture myself now chuckling to myself during the ceremony and embarrassing myself. There must be something I can do to prepare myself for this so I won't feel like laughing, but I guess I have nearly four months to prepare. In any case, I'm happy that two of my best friends are getting married, and should try to help make the wedding as happy for them as possible.

Sunday, March 27, 2011

Microsoft ASP.NET

During the summer I will be working with the ASP.NET team at Microsoft. I do not know much about ASP.NET but hopefully during this blog I can convince you otherwise. ASP.NET is Microsoft's latest server side programming language, for their .NET framework (see my previous post on .NET). What do I mean by server side programming? This is an internet concept that is perhaps best described with an example.

Nowadays there is many different kinds of content available on the internet, which you interact with in different ways. One type of content is typified by Youtube. When you watch a movie on Youtube,  your computer starts running Flash code to display the movie in your web browser. Flash code is an example of client side code, code that runs on your computer at home. If you don't have flash installed, you will not be able to watch the video, and if your computer is too slow then your experience will be impaired

Another example of internet content is the Google search engine. When you type a query into Google, that query is sent to the computers at Google's headquarters in California, and those computers do some work to find the content you're looking for. None of this work takes place on your computer at home, which is the difference between the Google search engine and Youtube. Code that executes on a some external computer is called server side code, and ASP.NET is an example.

Microsoft .NET

While I'm working in Redmond, I will probably need to learn about Microsoft's .NET framework. Today I will describe what .NET is from my limited knowledge. The .NET framework is a set of tools and services that allow software developers to rapidly develop new applications. This is useful because many applications have similar requirements, like reading and writing files to disk, retrieving information off the internet, or displaying information in a window to name a few. With these tools already available, the application programmer does not have to expend time and effort in writing these tools from scratch, and testing them to ensure reliability.

The .NET framework is reminiscent of the Java Runtime Environment (JRE), which allows computers to run any Java program on any computer on which a JRE has been installed. Since there are implementations of the JRE on almost every popular platform (Windows, Mac, Linux), Java programs are considered to be platform independent. One big difference between the JRE and the .NET framework is that the .NET framework is not implemented on all platforms. Microsoft only has developed implementation of .NET on the various Windows operating systems, but not for any other. An open source implementation of .NET for Linux is in progress, called Mono, but at this point is not 100% completed. Due to this limitation, the .NET framework is not considered to be platform independent, but Windows specific.

Thursday, March 24, 2011

Software Developer and Test (SDET)

At Microsoft, there are three roles they hire interns for: Project Manager (PM), Software Developer (SDE), and Software Developer and Test (SDET). Over the summer, I will be working as an SDET for the ASP.NET group. Today I want to describe what the SDET role is, and compare it to the other roles.

Almost all software companies have PMs and SDEs, the PMs work on the design of the software system, and manage the team working on the project. The SDEs do the programming, they write the code that makes the software work. Their challenge is to write the best code possible, using the best techniques, algorithms, and programming languages, but also, senior SDEs can be involved in the design process with the PMs because they have their own perspective of the software system.

Generally speaking, the SDETs are in charge of testing the software. That means a lot of different things at Microsoft, and includes testing the design of the software for potential bugs, testing the functionality of the software product, testing usability, portability, and a wide variety of other factors important to the customer. Also, SDETs try to break the software to uncover bugs, which often involves a lot of programming to produce test cases. 

Software testing is a very important part of the software development process, but is a part that is woefully ill-practiced at most small software companies due to time and budget constraints. Testing at Microsoft, however, is very important because they produce large, complex software which is used by hundreds of millions of people. In other words, code correctness and reliability are of the utmost importance at Microsoft, and they hire almost as many SDETs as SDEs to obtain a high standard for code reliability.

Microsoft Interviews

One week today I had interviews at Microsoft at their main office in Redmond, WA. Yesterday I received a job offer from them for the position I interviewed for, and I'm very excited about working there this summer. The interview day was very fun for me for a lot of reasons. Microsoft paid for my flight to Seattle, paid for my hotel and taxi service, and also provided me with a generous food stipend for the day. I stayed for three days and really got pampered, I had dinner the night before my interviews at the hotel and had a big steak and baked potato, and had breakfast in my room the morning of the interviews. The breakfast consisted of scrambled eggs with ham, hashbrown, and toast. This was probably the most memorable breakfast of my entire life.

I had talked to a few people who had done the intern interviews in preparation for mine, and they told me that it was the hardest day of their lives. As for me, I had a lot of fun. I had great conversations with all of the interviewers, asked them some really good questions, and I did very well answering all of their questions too. I think they were very impressed with me, at least that's what they said when they offered me the job.

I think the question I'm most proud of was a Tester question involving HTTP. The thing is, I didn't know much about HTTP and told the interviewer that, but he wanted to see how I answered the question anyways. He wanted me to test the protocol he wrote on the board, but only testing one keyword in the code (the GET keyword). Even though I don't know much about HTTP, I came up with some advanced test cases that he said he would expect from senior testers, so I was very proud of my answers. In particular, I pointed out potential problems with character encodings and version numbers. He seemed very impressed with that, and I think I impressed the other interviewers as well. Well, I suppose I must have since I got the job!

Wednesday, March 23, 2011

Future of Books

The Kindle is a handheld electronic device for reading eBooks manufactured by Amazon, and has attracted a lot of attention lately. This is mainly because the device is not designed to be multipurpose, like the iPad or tablet computers, but is designed specifically for reading books. In particular, the screen is not a backlit screen like most other devices, and is easier on your eyes when reading. I've never used one, mainly because I'm too cheap to buy one and frankly don't read books often enough to justify buying one anyways, but I've seen a lot of them at school or on the bus, and I am impressed with them.

This technology could influence how we distribute print media in the future. A lot of print media has already been replaced by electronic media, with posters and billboards (and even restaurant menus) being replaced by large flatscreen displays, but the Kindle and other eReaders allow you to carry all your print media with you in one tiny package. And since print media is so compact in digital form, you can literally carry millions of books in your pocket. I think that there is a certain appeal to the physical book form still, in particular the action of flipping pages to quickly access information feels good to people, and is intuitive. At this point in time, I don't think that eReaders can match an old fashioned book in terms of feel and ease of use, but I also think that it's just a matter of improved software designed and touch screen interfaces before they reach that level.

Switch to Windows

Well, I have accepted a job offer at Microsoft, and will be working pretty closely with .NET for three months this summer. This means that I will probably want to start using Windows again, because I believe it's a good idea to develop on the same system that you're developing for. I actually really like Windows 7, and I think that I will be happy using Windows as long as I can find some decent replacements for features I'm used to in Linux.

For example, I will probably look into command line features in Windows. I know about Cygwin, which is a POSIX compliant shell for Windows, but my past experience with Cygwin isn't very good. When I used Cygwin before, I found it was pretty slow, and was missing a lot of features I was used to. Probably I will want to look into more native solutions for Windows, and not a hack to use Unix programs. I would like to be able to open programs using ALT-F2 like in Linux, which I think is a useful feature, and also scrolling in windows that don't have mouse focus is a feature I'm very used to in Linux which is not the default behaviour in Windows.

I know that a lot of the programs I like in Linux are also supported in Windows, like Vim, Google Chrome, Open Office, Latex packages, ssh, and even 3rd party MSN Messenger clients like Pidgin, Empathy, and Emesene. In any case, I think working at Microsoft will provide me with the opportunity to become more familiar with Windows tools.

Tuesday, March 22, 2011

3D Craze

In the past few years, 3D movies have been re-popularized to the extent that nearly every new movie now has a 3D version. This is good for the movie theatres because it enables them to charge outrages prices for bad movies. Apparently the 3D affect distracts movie goers enough so that they don't realize how bad the movie really is (case in point, Journey to the Center of the Earth). A few months ago I went to see Tron:Legacy in the theatre, and I was very excited to go see it in 3D. Surely a movie set in a computerized world would be the ideal situation to apply the 3D effect to produce a surreal experience for the audience. In fact, not only was the movie by itself horrible, but the 3D effect was barely noticeable at all.

The 3D craze continues to grow, now into the realm of television and videogames. Nintendo is releasing their 3DS handheld gaming system, which allows users to experience the 3D effect without the use of glasses. A lot of research went into that technology, and while I don't know the details, I know it depends on having a small enough screen and looking more or less perpendicular to the plane of the screen. It doesn't surprise me to hear that many people who have tried the 3DS in Japan, and now in North America are experiencing nausea through extended use. The fact of the matter is, human eyes did evolve for this sort of use/abuse, and it's not clear at this time what kind of long term damage might ensue from extended use of 3D systems.

Saturday, March 19, 2011

Night Owls in Computer Science

Even before I started a degree in computer science, I noticed that my friends in CS were mostly night owls. A lot of people in Physics were also night owls, but I think that was because they needed to stay up late in order to finish homework assignments. I don't really think that's the case in CS. I think it more likely is the result of staring into the bright glow of computer screens all day, whether it's to write code, read books and articles, watching movies or playing games. Computer people are practically married to their computers, and it probably is having some adverse affect on their circadian rhythm, including my own.

Or perhaps its the case that night owls are naturally attracted to the field of computer science somehow. Maybe night owls have nothing better to do nowadays than stare at their computers in the quiet of the night. Maybe people didn't have this problem when all they had was candlelit rooms and books to read, or stories to tell. I guess for now it will have to remain a mystery to me, because I'm too busy studying for exams to look it up.

Friday, March 18, 2011

Corporate Inefficiency

I just came back from my trip to Seattle to interview for an internship at Microsoft. It was a very nice trip, and all expenses were payed by Microsoft, which included my hotel, food for three days, taxi service, and my travel expenses for getting to Redmond, Washington. I live in Vancouver, Canada which is only about 3 hours away by car to Redmond. I would have liked to take a Greyhound bus across the border to get to Redmond, but I couldn't figure out how to get Microsoft to reimburse me for a bus trip. Instead, the default request is for an airplane ticket, and that's what I ended up getting.

It probably took me longer to get to Redmond by plane because I had to spend so much time in the airport. For international flights they recommend you arrive three hours before your departure time, so you have time to go through security and customs. The plane ride is only about 30 mins long, and the airplane was small. I believe it seated about 80 people, and it had propellers on each side. I was kind of nervous at first because I had heard these small planes experienced more turbulence than regular jet planes, but the ride was in fact surprisingly smooth. Hopefully if I get an offer for an internship from Microsoft, I can avoid taking the plane and just go by bus next time.

Sunday, March 13, 2011

My Linux History

I first started using Linux when I was an undergraduate in Physics, because Linux is widely used in the Physics community. This is because a lot of open-source, scientific software exists for Unix/Linux  systems, and we were required to use some of this software in our Lab courses, and sometimes in theory courses as well. The first distro of Linux I ever installed was Ubuntu Linux on my old laptop. It was partially so I could use some software for a lab course, but also because I was just very interested in using an alternative to Windows, which I had used all my life. I remember that at the time I was very exciting about all the cool graphics effects that were available using the Compiz software, and I stayed up half the night trying to get Ubuntu installed properly.

Over the past 5 years I have tried many different Linux distributions, and have used Windows for some of that time too. I have almost always dual-booted my computer so that I could use Windows when I really needed, especially for playing games. Nowadays I am using Arch Linux, which is my favourite distribution yet. Arch Linux takes a bit more effort to install, but you learn a lot by doing it, and in the end you get a very nice system that has everything that you want on it.

I am in the middle of doing interviews with Microsoft right now, and I might be working there this summer as an Intern. If that is the case, I will probably start using Windows a lot more often. I'm glad that I'm interviewing there now that Windows 7 has been released, because I actually really like Windows 7 a lot; it's easy to use, looks pretty, is very fast, and I would probably be happier developing for Windows 7 than previous version of Windows. Even if I do end up using Windows more often, I doubt that I would stop using Linux altogether because I also like Linux. It will be interesting to see how I balance things in the near future.

Sunday, March 6, 2011

Cosmic Censorship

This is a topic that was of great interest to me when I was a grad student in Physics. Einstein's theory of General Relativity (GR) is a theory of Gravity which has persisted for nearly a century. Despite being one of the best tested theories in all of physics, a fascinating thing about GR is that scientists know that it must be wrong. Early on in the history of GR, scientists realized that the theory predicts what we now call blackholes. A blackhole's gravity is so strong that it is impossible for anything to escape from it once it gets too close. There is an imaginary surface surrounding the center of a blackhole from which nothing can escape, which is called the Event Horizon.

The problem with blackholes is that GR predicts they contain singularities; this means that the strength of gravity at the center of a blackhole is infinite. Usually when physical theories predict an infinitely large value, this means that the validity of the theory has broken down. Rather than gravity being infinitely strong, it makes more sense that the theory doesn't work anymore once we enter a blackhole. Luckily, the Event Horizon saves us from this failure; if nothing, not even information, can travel from the singularity through the Event Horizon, then the singularity cannot affect physics outside of the blackhole.

This is a nice argument, but unfortunately there is no mathematical proof that singularities are always surrounded by an Event Horizon. The Hawking-Penrose theorems prove the existence for very massive blackholes, but no proof exists for the general case. The hypothesis that singularities are always surrounded, or "clothed", by an Event Horizon is called the Cosmic Censorship hypothesis, and is one of the biggest open questions in Cosmology today.

Friday, March 4, 2011

Trip to Seattle

This is the latest story in my ongoing epic adventure of job hunting for coop. Today I received an email from Amazon explaining to me that I would not advance to the next round of interviews with them. This was pretty disappointing for me, because not only were they my top choice for coop, but also I felt the interviews I had with them went very well. I suppose the competition for popular companies like that is fierce, and there were simply more talented or experienced applicants than I.

When I saw this email in my inbox, I also found that Microsoft had sent me an email as well, just a few minutes before the Amazon one. This email informed me that I had advanced to the next stage of interviews with Microsoft, at their main office in Redmond, Seattle. This more than made up for Amazon's rejection letter, and I am now very excited about my trip to Seattle. I have never been to Seattle before, so this will be a good opportunity for me to do some sightseeing as well.

No matter what the outcome, I'm sure that I will have fun on this trip, and am proud to have come so far in the interview process already.

Sunday, February 27, 2011

Snow Day

Today it's snowing very hard in Coquitlam. It reminds me of the snowstorms we used to have in Ontario. It's a very nice packing snow, and so I couldn't resist the temptation to build a snowman despite how busy I am. In order to be economical with my time, I opted to make a miniature snowman, no taller than about half a meter. This was also partially to demonstrate how good the packing snow was.

Now all my friends are posting to Facebook their hopes that tomorrow will be a snow day at school. Snow days at SFU are pretty common, because the University is situated at the top of a mountain; even the slightest amount of snowfall can make the roads too slippery for the buses to get up there. It's also pretty common for people to get stranded at SFU while the roads are too slippery. Luckily this has never happened to me before, but I try to take the bare necessities in case I wind up stuck there overnight sometime. As for today, the snow doesn't really affect me, and I will continue doing my assignments and playing games unhindered.

Thursday, February 17, 2011

The Joy of Phone Interviews

I am applying for an internship at Amazon over the summer, and I had scheduled two phone interviews with them a few weeks ago. The first interview went very smoothly, but there was some confusion over which number they could contact me at. I had arranged to use someone's office for my interview, so that I would have a quiet place without distractions. I had provided Amazon with the office phone number, but on the day of the interview I checked the email they had sent me and I realized that they were planning to contact me on my cell phone. Everything went smoothly in the end, however, because I contacted someone at Amazon about an hour before the interview, and was able to change the number.

The next day, when I had my second interview scheduled, it snowed very hard and the buses to SFU had stopped running, which meant that I wasn't able to get to the office to take the interview. I tried to call my contact at Amazon to change the number again, but unfortunately he wasn't answering. What I had to do was contact one of the coop coordinators at SFU, have them intercept the phone call in the office, and provide the interviewer with my home phone number. The interviewer was about 10 minutes late contacting me, so I was very nervous that something had gone wrong, but once he did finally reach me the interview went very smoothly.

I sincerely hope I don't have to do too many more phone interviews.

Tuesday, February 15, 2011

Puerto Rico

A while ago I bought a new European boardgame called Puerto Rico, mainly because it has been the highest rated game on www.boardgamegeek.com for several years. I had never played this game before I bought it, but I had played many other Eurogames over the past few years, such as The Settlers of Catan, Amun Re, Bang, and Dominion to name a few, and so I figured I was well prepared for Puerto Rico.

Puerto Rico is so popular not just because it's fun to play, but also because it's a very engaging game, requiring a high degree of strategy. The strategy comes from the fact that there are many different things in direct control of each player, and every decision you make affects all the other players. There are a number of different roles that the player can take in the game, which determine what actions may be performed during the round. The player needs to choose each of these roles many times to do well in the game, and there is a lot of strategy in deciding the best time to choose each role. Each role is very different to play, which helps to keep all the players engaged in the game at all times.

The game is a simulation of building a settlement in Puerto Rico, growing resources, building factories, growing goods from the resources in the factories, selling goods, and shipping goods home to Europe to obtain victory points. The ultimate goal of the game is to obtain more victory points than anyone else by shipping the most goods to Europe, and in order to do this one must be proficient at all the tasks involved in producing those goods. You must be a good settler, farmer, builder, and trader if you are to produce and ship more goods to Europe than your opponents, and that's the basic idea of Puerto Rico.

It's a really fun game to try if you're familiar with Eurogaming, and I highly recommend it.

Thursday, February 3, 2011

Day without Internet

Last week, in the morning while I was at school, my next door neighbor hired some professional yard workers to trim her hedges. One of these workers was relatively new at the job, and caused my family a lot of trouble.

My driveway is separated from my neighbor's driveway by her hedge, and the young, inexperienced yard worker needed to use my driveway in order to cut the hedge all the way around. He didn't even come to the door to ask for permission to use my driveway, which I feel was his responsibility. Somehow, while trimming the hedge, he cut straight through my phone line, which meant that my house didn't have any internet, TV or phone for about 24 hours. Needless to say I was pretty upset.

Thankfully it was during the week, so I could use the internet at University, and I wasn't inconvenienced very much. The next day someone came over to fix the problem. He told me that the yard worker was very lucky, because he almost cut through the main power line, which would have electrocuted him.

Thursday, January 20, 2011

Coop Job Applications

So far this semester I have been very busy applying to jobs for coop, which I plan to start this summer. Mainly I have been busy writing my resume and cover letters, and having these revised multiple times by the friendly coop coordinators at SFU. I just completed and submitted my applications to RIM, EA, and DemonWare a few days ago, and plan to apply for Amazon, Google, and Apple next week.

The application for RIM was particularly challenging, because not only did I need to submit my application through the SFU website, I also had to fill out an application on the RIM website. This was a very involved task. I was required to set up an account, fill out a very detailed profile about my education, interests, skills, etc., and once that was finished, I had to fill out all the information a second time when applying to the specific job of interest.

I hope that the next few applications won't be as involved as the one for RIM. Soon I will be doing interviews as well, so things will continue to be busy for me for a while, but I hope that once it's all over I will have more time for blogging.

Sunday, January 9, 2011

Introduction

This is the first blog I have ever written, and so naturally as of the time of this posting I have precisely zero fans on the Internet. As such I felt it would be appropriate to first introduce myself to the world.


My name is Andrew Inwood, I am in my early 20s, have blond hair, blue eyes, and wear glasses. I currently live in Coquitlam, British Columbia, Canada, and attend Simon Fraser University where I am studying Computer Science. This blog is called Science Nerd Stuff because Science Nerd is the class of person which I feel I most closely resemble. This is because I spent four years obtaining a B.Sc in Physics, also taking many courses in Mathematics, and after deciding I did not want to do Physics research for the rest of my life, began a second B.Sc program in Computer Science.


As a science nerd, I enjoy learning sciency things, doing logic puzzles, and programming puzzles. For fun I like to play games with friends such as strategy boardgames, bowling, pool, badminton, cardgames, videogames, etc. The posts that will appear in this blog in the future will likely have to do with the topics stated above, or otherwise will at least be told from the perspective of a science nerd.


Disclaimer: If these topics do not interest you, turn away now.