Oh how I love technology

I really like my job.  It allows me to try out new things and I am always learning.  The one thing about technology these days is how one thing evolves into another so quickly that we rarely step back and think about what is actually going on.  I thought I would show how a few cool things working together can make some REALLY cool.  Microsoft has made such an excellent product that truly is an integrated development environment.

For the airport’s intranet site, I created a CodedUI test using Visual Studio 2010 Premium to exercise the user interface for a particular page.  It consisted of opening up the browser, clicking on links, Assert()ing that they existed and that everything is working as it should.  A CodedUI test can then be “played back” when the tests are run.

Now on to the next bit.  I am using Team Foundation Server (TFS) 2010 for Source Control, Work Item management, and Building.  What’s really slick is being able to utilize the TFS server to build the project.  I defined a build specification so that it would work like a Continuous Integration (CI) system.  Whenever code is checked in, the server will build the code and copy the binaries to a directory.  If the build fails, the code is rejected.

So what makes this even more awesome, is that with Visual Studio Test Agent, I can run CodedUI tests on a separate test machine from my Visual Studio instance.

Recently, I have been granted access to the network over VPN.  VPN is Virtual Private Networking.  Basically, anywhere there is internet, I can access the servers on the airport’s local network without physically being there.

So there I was, sitting at home drinking coffee.  I pull out my laptop at the kicthen table and connect through VPN (no wires or anything, wireless is cool beans), and decide to make a quick change to the code of the intranet site.  When I check in my code, the TFS server all the way over at the airport builds the code, copies the build to the test machine, runs the CodedUI test on the test machine, delivers the result to the build server and then TFS accepts the new code (Changeset).

I think that’s really slick.  It’s truly mind boggling to think of all the underlying technology it takes for that to just “work.”  And this is why I really love technology.

It’s been another year!

I think I’m doing quite well with this once yearly blog.  Oh man, what a year.  Soulfire Software just released SketchBox 360 on the Xbox Live Marketplace.  I’m so humbled by the team with Soulfire and I have so much respect for every one of them.  I am now a Junior at The Ohio State University.  School is back underway and it feels like I’m starting to get used to it or something.  It doesn’t seem to bother me much anymore.  It’s always hard to stay motivated, but the pain will soon end.  Not much else exciting has been going on.  I’ve been living and breathing SketchBox almost all summer long and doing work/school for the other parts.  One might say it is dull;  I think it is incredibly fulfilling.  Nothing can compare to the feeling of accomplishment when we finally finished and released SketchBox.  You learn about things that are more important than one man.  Working with a team of such talent is just awesome.

Well, that’s all for another year!  See ya next time.

Ahh the good life.

My blog has now turned into a once yearly blog.  As it so happens, I seem to post something about 1-2 a year.  The reason?  I would attribute this to being “busy.”  What does “busy” mean?  Well, I’d say, but I don’t have time.  I’ll give it a go in one sentence.  Mainly stuff related to school at The Ohio State University full time, working with enflight.com (awesome web-based flight planning software), flying to Oshkosh, working with Soulfire Software on an XNA animation tool and game, the Ohio Aviation Association website, fixing and building various computers, and working at OSU Airport maintaining their intranet site,Osuairport.org and the Aviation Department website, both in Silverlight, and ASP.NET versions.  I do pretty much all of this on a daily basis.  To say that I have bitten off more than I can chew is an understatement.  It’s a challenge, certainly, to keep it all straight in my head.  Languages needed for the above projects: PHP,HTML, CSS, Javascript, ASP.NET (built my own CMS), WPF/Silverlight (XAML), XML, C# (XNA Framework), VB.NET, and C.  Oh, and flying airplanes is cool too, I guess.  I’m still working on my IFR rating amongst other things that are missing from this short list.

I’m going to go to bed now.  I think I need it pretty desperately at the moment.

Life.Alive!

Yes it is true; I am alive!  I cannot possibly sum up all of the things that I’ve been going through since the last post because that would be a waste of time.  A short synopsis in one word: busy.  I am now taking classes at The Ohio State University and have been in a generally good mood, not having to wake up early anymore.  I hate waking up early with a passion.  It may be because I enjoy staying up all night.

The most exciting thing going on this coming week is Microsoft PDC out in LA.  I look forward to having a whole week of pure techawesomeness (is that even a word?!?!).  While in LA, I will get my hands on a pre-beta version of Windows 7!  I am looking forward also to using the Microsoft Surface while I am there.

Lately I have been too busy with classes to handle many other projects.  I am currently working on an XNA project with a friend up at Bowling Green who is doing all of the artwork and modeling for the game while I do the programming.

I simply can’t believe that we are nearing the end of October already.  It is getting quite a bit colder outside, but that’s okay, I like it cold.  It’s 43degrees outside yet you’d see me in shorts and a T-shirt.  Along with other ramblings, Top Gun in Bluray with 1080p is amazing.  It was quite a brilliant idea to include a Bluray player in every PS3.  I would expect it to be a pretty well-selling item this Christmas.  In Apple’s infinite brilliance, none of their computers have support for Bluray or even HDMI for that matter.

I will likely update this blog a bit next week with all of the coolness going on at PDC, so yea, back to coding like a good little boy for me.

Misc.New Theme!

I finally found a new theme that looks very nice for this blog.  I’ve got a nice post that I am still preparing about my trip to Phoenix (actually Wittenburg), Arizona in our small private plane.  I’ve got video and other stuff for it, but not nearly enough time right now.  I’m preparing for robotics right now (I’ll have a post about that too), coding and stuff.

I will have more content later.

Life.Hmm

Hmm.

I haven’t updated my blog in a while for a few reasons. I’ve been working, sleeping, and breathing. Not much else. I suppose I just had to take a break from blogging for the winter. Happy 2008 everyone! It’s official, I have been accepted the The Ohio State University at Marion. I hope it will be an exciting time to meat new people. I’m winding down the last couple of months of my high school career. In election news, I was a poll worker for election day in Ohio. An awful lot of Republicans sabotaged the Democratic Primary. Hehehehe. *Cough* anyway, 15 hours of working at the polls was very enjoyable for me.

I don’t have much else to say, other than we have a snow day tomorrow. I believe we set a record for most snow in 24 hours yesterday. I’m so thankful for furnaces and gas heat is all I can say.

Take care.

Aviation.Private Pilot

Well, sorry for not updating for a couple months, but I have been extremely busy lately. Last week on my 17th birthday, I passed my check ride and earned my Private Pilot’s license! 17 is the earliest age which you can get your private pilot’s license. Because many people don’t know what it takes to get a private pilot’s license, I’ll give you a brief overview. You must have a student pilot’s license, meaning you have to go find an FAA Medical examiner because you need a medical certificate to make sure you are healthy enough to fly. With your student pilot’s license, you can not fly passengers. You can only fly with a flight instructor. After enough time and instruction, he will endorse your logbook (Logbook is required to keep track of flights and such while being a student pilot) so that you may solo an airplane all by yourself. As a student pilot striving for a private pilot’s license, you need 40 hours of flight time. 20 hours must be with an instructor and the other 20 must be solo time. The regulations make you do a certain number of night flying, cross-country, and solo hours that make up the 40 hours. You must also pass a 60 question knowledge test to show that you know all of the rules, regulations ect.. It all came down to the wire, and I passed everything. I am so proud that I was able to achieve this. It’s truly a wonderful feeling of accomplishment. Now I can fly passengers and go anywhere I want to whenever (Not that I will, of course 😛 )

Dynamic Script tags

It must be the future!  People have used a certain term, AJAX recently to make stealthful requests only the same domain.  This doesn’t work in my case because forums.fearlessfew.com and fearlessfew.com can not access each other via AJAX.  One option down, and a Google search to go.  I was looking at something called a dynamic script tag that used something called JSON which was all really complicated and I still don’t understand most of it.

I’ll try to explain the best way to bypass security policies of AJAX.  Lets say you want to pass on a variable to a PHP script.  You could use GET parameters from the URL that looks something like this

http://domain.com/index.php?woot=kanno41
The final goal is to pass kanno41 or some variable to a PHP script unobtrusively.  What a dynamic script tag does is that it creates a script tag which can access a source file from ANY domain.  Here is an example of what the script will put on the page:

When this script is loaded, the “woot” variable with the value kanno41 will be passed onto the index.php file. Now, what if you don’t know what variable you want to send yet on page load, or you want someone clicking on something to send that data? This is where the dynamic script tag comes in. It is merely simple javascript.

When we run this function and pass a URL to it, it will build the script tag which we mentioned earlier. To run a function, let’s do something like this, for something simple:

This will cause a script from any another server or domain to be loaded right when you would click on that button. In my case, since I am making the script’s source be a PHP script, I pass on the “woot” variable with the value kanno41. When this is loaded, the PHP file will be able to get anything passed to it through the GET parameters.What if you want to pass on something which could change all of the time? Just make a little script like this one for example:



To me, this is a revelation. I can now send any variables to a PHP script through this method.

For me, I would have the PHP script return some javascript back, maybe something like



I hope you’ve enjoyed reading this and maybe you learned something, or maybe you didn’t. Feel free to ask questions about this. Some stuff may not wrap correctly, but there’s nothing I can do about that.

Tech.Web Design

Web 2.0 finally appears to be here and rocking.  I’ve been thinking lately, what exactly makes a website look, well, good.  There is one simple thing that makes a web page look professional; gradients.  Other things like a fixed percentage width also add to a 2.0 design, but gradients are likely the defining point of this web revolution.  It changes sites from This to This.  There are a lot of different examples, but this one is the most obvious.  Also, a dynamic site also defines this Web 2.0.  I have taken my shot at the 2.0 revolution, and ended up with This.  It may look simple on the front end, but every single thing on the page is dynamic, content will be added to the page based on whatever comes out of the database.  I have created mangement pages so every page, content, ect.. can be updated from anywhere.

The point is is that a revolution many years in the making is finally coming full-circle.  The next-generation of the Web is here at last, none of it possible without Photoshop created by Adobe.

Life.Who Cares?

Hmm, recently I’ve been thinking about what to blog about.  I have realized that this blog is basically for my own personal gain more than anything.  It’s more of a record that I’ll look back to some time from now to realize a distant memory.

If someone reads my blog, good for you, hopefully it’s not too boring or anything.  This won’t turn into a journal or anything, so don’t worry.