A new take on an old fable…
1 2 | while(!Activities.Contains(DefaultActivities.KissedByPrince)) sleep(0); |
So tonight I decided to have a drink and dive headfirst into coding. Seems to be going quite well actually as I have gotten a lot of work done on the Vodka front. I don’t mean the drink, of course, but rather my new Content Management System. Right now I am working on finishing up the Content Service and integrating it into FGDN.
But I digress, the point of this post is that I was discussing some refactoring decisions with a few friends and it came to me about how much I have grown. I never really thought about it until now; that I have changed so much in terms of how I see things. When I started coding when I was eleven years old I was using Visual Basic 5 and could see things only in terms of what they were on the most basic level. I understood that text belonged in a textbox for instance, but I didn’t know that the textbox was an object.
These days I can visualize data, problems, questions, designs, et cetera in terms of objects. If someone is speaking to me about a table in a database for example I see it not as a bunch of data but rather an object of sorts. Each row representing some part, whether it be whole or not, of an object. If someone gives me a problem, such as how to make sure UI controls follow certain rules for mouse events I see the entire UI as a tree of objects. It is instantaneous for me, instinct to put things in terms of concrete objects that I can play with and affect.
Of course it doesn’t stop with code! As I learn more about coding I learn more about life, the parallels can be drawn everywhere. There are certain things that are still to be explained but even emotions can be paralleled to an advanced choosing algorithm that works on many levels (conscious, sub-conscious). How do I see this? I see it as a producer-consumer relationship: the different levels of consciousness are providing input for the emotion algorithm. Each person an instance of some human class, acting on other objects, consuming objects.
This brings up a few questions:
1. Is thinking this way correct? Is programming in an object oriented manner correct? If not, what is?
2. What is the quickest way to corrupt a beginner so that he or she can think this way? How can we educate them quickly?
They may have retooled enough to become efficient at repairing red ringed Xbox 360 consoles, but boy do they suck at general support. A week or two ago my 360 stopped being able to play NetFlix video over HDMI, stating that a “secure HDCP link could not be found.” Contacting NetFlix has been resourceful in the past, so I did this with no luck. After explaining I was in a preview program for the new dashboard, they redirected me to Microsoft. So that is where I went! I didn’t feel like calling them and waiting on hold for hours and hours and thus emailed them. Here is the response I just received.
Hello John,
Thank you for contacting Microsoft online support for XBOX. I am XXXXXXXXX and I will be helping you today with this issue.
As I understand it, when you use an HDMI cable to connect your Xbox 360 to your HDTV or monitor, you experience one of the following display issues:
. A green or purple tint to the video
. Extensive flickering for more than several seconds when you play video, use the Xbox Guide, or switch from the Dashboard to a movie
. Image “ghosting”I know how disappointing it is that the cable you’re using is not working properly. Please be assured that I will do my best to help you resolve the issue.
Wow. So problems with this response? Well it doesn’t actually restate my problem but attempts to and fails miserably. I also love how they immediately blame the cable, as if that was the problem here. The email then goes on to suggest connecting to live to obtain automatic updates, unplugging my HDMI and plugging it back in as well as adjusting my HDTV settings to obtain “optimal resolution.”
Fortunately NetFlix did something internally because a day or two later the problem resolved itself. It turns out that some videos aren’t allowed to be streamed to the Xbox 360 and I just happened to be trying to play some of them. Movies that had stopped working that were working started working again like magic. And they thought it was my cable…. ha! Cables don’t just break, hardware that is known to go bad does.
My friend and I decided to take a break from CoD:WaW to murder the entire town of Bowerstone in Fable II for fun. Well we ended up finding a funny glitch with the artifact quest woman. Because you can’t kill her, you just knock her down. The problem is the animation gets cut short and restarted if you keep shooting her. This is just one of the small problems of Fable II and shows the gigantic lack of polish in the game.
How does NetFlix on the 360 work exactly? Ok, so when you sign up on NetFlix, you get access to the gigantic vault of movies and TV shows they have built up. Each piece of media on the site can be one of a few things: an instant play, a DVD, or both. It is important to know that the instant collection is nowhere near the girth of the DVD collection.
On the NetFlix site you will have two lists, your Instant Queue and your Standard Queue. In the Standard Queue goes movies you want to obtain through the mail on DVD. The Instant Queue is what you will be able to see on your Xbox 360. Perhaps they will change this in the future but you can only see what is on the Instant Queue.
Why is it important to know this? Because the instant collection rarely contains newer movies. You will usually not be able to get a movie on instant until a few months after its DVD release if not a few years.
Furthermore, if you plan on playing NetFlix over HDMI be sure you have a compliant monitor or TV because DRM will be used. Currently I am having a lot of problems getting it to work on my Dell 2408 even after it worked 2 weeks ago. Hopefully it is fixed by NXE launch.
Scott Hanselman has been on a roll lately with his posts and twits. Today he writes “Question to .NET Programmers: what is the difference between the System.* and Microsoft.* namespaces?”
This is an important question and one that I can’t say I truly know the answer too. I had always assumed it was based on either the idea that System.* was part of the core framework where as Microsoft.* was for Microsoft specific functionality. For instance, it would be expected that much or all of the System.* functionality would be replicated on many other platforms where as Microsoft.* would not.
Certainly this is true for the very basic feature set such as the common types but it is not true for System.Windows.Forms. Which begs the question that I always wondered: why is Windows.Forms where it is? I always expected it to be in Microsoft.Windows.Forms as it is a Windows specific implementation based on many of the Win32 controls.
EIPL, or English as the International Programmer Language, seems to have been brought up again around the blogosphere. It seems to have started on Scott Hanselman’s blog with a comment stating “If you don’t know English, you’re not a programmer!” Of course it does not end there: Bjoern writes about it in a blog post saying “In regard to translated documentation: I wouldn’t use it. Maybe it is because I learned programming during the dark ages when everything development related was English – it is even possible to claim I learned English through such documentation – or maybe the early days of localizations spoiled my conception of its quality.” And finally it appears here with generally the same attitude: that English is quickly becoming or should become the official language of programmers.
I believe that English should not be the official language. It is nice to know that variable names will generally be in a language I can understand, however I believe that this can be fixed in the future with language independent coding taking the place of what we do not. Visual Studio is already an incredibly powerful tool and it wouldn’t surprise me if within a decade or two it would begin to support the dynamic localization of variable names. It would be ignorant of me to demand or expect all source code to be in English.
However, the one caveat here is that non-English speaking programmers or wannabes should most likely learn English simply because features like the one mentioned above will take many years to come about and perfect. Furthermore, it can be said that English is somewhat of an international language. In Western cultures it is very easy to find someone who speaks English and it is quickly spreading throughout the tiny corners of the world. For evidence of this, look no further than the Olympics which was conducted in (I believe) three languages. If memory serves me correctly it was English, French and Chinese. This was due to the host country (China) and the IOC (Official Languages: English, French).
While on the subject of languages there is another potential problem. While languages based on Latin or in similar style (left to right) can be well understood by an immense amount of people in the community, vertical and right to left languages that feature non-alphanumeric characters can cause more problems than just being able to understand the meaning. I can’t imagine what source code written in Chinese or Japanese would look like.
Today I decided to do a little bit of cleaning on and in my computer. Mainly clearing dust out of the box and trying to fix a rattling noise. I didn’t realize this would happen on a modern heatsink but boy was the [stock] heatsink on my Q6600 (read: the beast) cluttered with dust. After all said and done I was able to lower my CPU’s heat by 7C! By the way, the rattling noise? A loose fan in the front of the case; glad it wasn’t something important.
So remember to clean out your case at least once a year or more.
This is from the most recent build of FGF:
Yes, it is my own implementation of the Aero style of windows done in XNA. What does this mean? Well I have decided that although the simple way of doing a menu system in games is fine for simple situations, I want something more powerful and prettier to look at. Thus I have started working on a new UI library for Thrust that is based on Aero and similar interfaces. I am doing it in a fully customizable but lightweight manner and working on Xbox 360 compatibility.
Get it while it is hot! CNN has a ton of money and have hologram technology:
What’s next, the Death Star?