I had a fresh reminder of the exact reason why I love XNA so much. I figured that I wanted to brush up on my "1337 5k!llz" and that it was about time to get back into C++ stuff. Well, I love game development, so why not brush up by developing a game, right? Well, that was my thinking behind this whole story. I've been a DirectX kind of guy ever since I started in game development. So, what the heck, I figured I would stir up the pot and try some OpenGL development in C++. Not a problem, there's a metric crap-ton of OpenGL tutorials over on NeHe that I can follow. Here I come "Creating a Window", YEE HAW! Visual C++ Express installed? CHECK. Windows SDK installed? CHECK. Visual C++ Settings pointing to new Windows SDK directories? CHECK. I'm ready to roll, all y'all. Let's get on with it homeboys. So, open up the first tutorial, type in all the code for creating a window and clearing the screen.... .... DAMN, that was a LOT of typing. Holy moley, I could have developed a bad case of arthritis from the tutorial alone. Geez, how many lines of code is this? 400?!?!?!?!?!? 400 lines of code to get a BLANK WINDOW on the screen? WTF?!?!? Okay, forget getting my "1337 5k!llz" back in shape, I'm just going to spend that time continuing to work with XNA. Perhaps to make it more "1337," I'll play around with the Lex/Yacc-type stuff in the Visual Studio SDK to write my own language that I can use as a custom scripting language in a game. Yummy. TIMMMMMEH!!! TIMMMMMEH!!!
I don't know why, but apparently it has taken me until now to finally "get" podcasting. The interesting part though is that the .NET-type podcasts aren't the ones that have really caught my attention. No, it has been the game development and other video game-related podcasts that have caught my eye.
The one that got me started was GDC Radio. It has a bunch of game development-related podcasts that are excellent. I've loaded up on a bunch of them to get ready for my 10 hour flight to Amsterdam on Saturday. One particular one that sounds interesting is an interview they did with Bioware on 'Creating a Monster RPG.'
I dug through the iTunes podcast directory (the more I use iTunes, the more I love it (that, and my iPod)). That led me to a bunch of podcasts on video games and video game reviews. Just what a video game geek like me likes :).
Now, when I'm packed into the sardine can stuffed with high oxygen levels for exorbitant amounts of time this weekend, I can zone out and listen to these podcasts while getting all doped up on apocalyptic amounts of caffeine and pretending that I'm on some far-off safari voyage across the picturesque lands of the Serengeti (although I don't know why I would exactly do that as I'm not much of an outdoor person (I suppose it just sounds better than "playing Final Fantasy 3 on my Nintendo DS Lite")).
Yesterday we saw our first snowfall of the year (at least, sticking-to-the-ground-wise) in the Redmond/Kirkland, WA area. While the Microsoft campus was technically "open" today, all major services (read: shuttles, reception, cafeterias, etc.) were all closed. So, in that sense, I consider the campus "closed" in practice. Since the roads are an absolute mess, I decided staying home today was the best option. I went out for some food last night and learned my lesson. While I did get home safely, it took about 1.5 hours to get 16 city blocks. Not fun, in the least. This was also Jasmine's (our doggy) first measurable snow fall as well (at least enough to play in). And now, the jury is in: Jasmine Loves Snow. I decided I wasn't going to let this moment slip past me, so I whipped out the camera (which reminded me, I really need to get a _good_ digital camera). Here's the view from our back porch this morning (it was a couple inches deep in places):  Jasmine playing in the snow:  And, the aftermath of Jasmine playing in the snow (what a cute puppy!!!!):  This time of year is definitely a beautiful one :).
When setting up a virtual machine for some internal development today, I came to a sore realization: The only thing in this universe that takes longer than installing Visual Studio 2005, is uninstalling Visual Studio 2005. Sigh...
Well, it was bound to happen. Now you have some lawyers (or at least, people WELL more versed in the law than puny little me) stepping up to talk about the affect on Intellectual Property with the upcoming release of XNA. Check it out here.
I would comment myself but seeing that A) I'm practically a drooling moron when it comes to law (I probably couldn't even play one on TV (then again, I can't act worth crappola)) and B) It's like 12:30 in the morning and I'm friggen' tired and need some sleep, so technically I haven't "read it" completely yet.
Of course, it's probably a good thing I haven't read it. It would only come out sounding like some kind of dramatic space-opera poised to knock off George Lucas to become the first monstrous Space Guerilla to conquer "He-Who-Created-The-Dreaded-Jar-Jar-And-Should-Be-Killed-For-It" Lucas at King Of Space Mountain (and I'm not talking about that crappy little Disneyland ride Space Mountain either, "for the record" (as they would say in legalese (huh, who'd have figured, perhaps I can play a lawyer on TV after all seeing that I have the legalese down; that was easy)).
Anyway, like if you're into the whole Intellectual Property / Copyrights / Trademarks / Legal Issues that come about in regards to software, like, you should check the article out, and stuff. Peace!
As became known to many of us recently, Rory is feeling a bit
disenfranchised to the whole blogging scene. In truly ironic fashion of his
post, I've made this comic for him, to cheer him up and stuff.
Rory, I might not be half as funny as you are, and I might not be that good
of a writer, but I'll be damned if I won't at least give it a go.  Stay in there bud!
I recently came across a bunch of stuff done by Daniel Moth, a Developer Evangelist for Microsoft UK. If you are a managed developer and want to see the new stuff you can leverage on Vista, be sure to check out his stuff.
If you want to digest some of these new features in Screencast format, be sure to check out some of these screencasts that Daniel Moth has also done:
Enjoy! And thanks go to Daniel for all of these :).
Rob Atkinson recently blogged some screenshots from a new tool from NeoSmart called EasyBCD. What is EasyBCD? Directly from the horse's mouth: EasyBCD is NeoSmart Technologies' multiple award-winning answer to tweaking the new Windows Vista bootloader. With EasyBCD, almost anything is possible. Setting up and configuring Windows boot entries is simple, and there is no easier way to quickly boot right into Linux, Mac OS X, or BSD straight from the Windows Vista bootloader - on the fly, no expert knowledge needed! EasyBCD is geared for users of all kinds. Whether you just want to add an entry to your old XP partition or want to create a duplicate for testing purposes; if you're interested in debugging the Windows Kernel or hectuple-booting your seven test operating systems, EasyBCD is the key. Automated MBR and BCD backups, boot sector restore kits, support for a dozen+ operating systems, detailed configuration of all boot entries, and award-winning guaranteed technical support is what makes EasyBCD stand out - all for free! Give it a shot!
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. In this week’s edition of the “Longhorn Server Feature of the Week”, we will be taking a look at a new feature in Vista and Longhorn Server: the Restart Manager.
What is the Restart Manager? The primary reason software updates require a system restart during an installation or update is that some of the files that are being updated are currently being used by a running application or service. The Restart Manager enables all but the critical system services to be shut down and restarted and guarantees that blocking DLLs and resources are unloaded. This frees files that are in use and allows installation operations to complete.
Using the Restart Manager DLL, an installer can use the Restart Manager to register files that should be replaced during the installation of an application or update. Then during a subsequent update or installation, the installer can use the Restart Manager to determine which files cannot be updated because they are currently in use. Installers can direct the Restart Manager to shutdown and restart applications or services based on the file in use, the process ID (PID), or the short-name of a Windows service.
What scenarios does this enable? The Restart Manager API can eliminate or reduce the number of system restarts that are required to complete an installation or update.
Notes – Applications that use Windows Installer, version 4.0, for installation and servicing automatically use the Restart Manager to reduce system restarts. Custom installers can also be designed to call the Restart Manager API to shutdown and restart applications and services.
Resources
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. This week, we take quick dive into some of the enhancements that have been made to Windows Error Reporting (WER) in Vista and Longhorn Server.
What is Windows Error Reporting (WER)? Windows Error Reporting enables users to notify Microsoft of application faults, kernel faults, and unresponsive applications. Microsoft can use the error reporting feature to provide customers with troubleshooting information, solutions, or updates for their specific problems. Developers can use this infrastructure to receive information that can be used to improve their applications.
What’s new in Windows Error Reporting? Windows Error Reporting isn’t actually new to Vista and Longhorn Server. However, there are some pretty cool enhancements to Windows Error Reporting that you can find in Vista and Longhorn Server. Developers can use the new API to create reports for many types of events, not just applications crashes and hangs. Also, developers can now create custom reports, customize the reporting user interface, and submit reports to Microsoft. Using Windows Quality Online Services, they then can access their report data, create solutions, and deliver these solutions to their users.
Resources
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. This week, we will be looking at the robust replacement for boot.ini in Windows Vista and Longhorn Server: Boot Configuration Data.
What is Boot Configuration Data? Boot configuration data (BCD) provides a store that is used to describe boot applications and boot application settings. The objects and elements in the store effectively replace Boot.ini. The data in the store can be managed by a command-line utility, bcdedit.exe, or using the classes implemented by the WMI provider.
How does Boot Configuration Data work? When you start your computer, the first code that executes is the BIOS. The BIOS reads the master boot record (MBR) from the boot device and transfers control to the boot code stored in the MBR. The boot manager reads the boot entries from the Boot Configuration Data store so they are available to the loader and displays a boot menu to the user. The boot environment provides a native API for primitive graphics and other system support. Boot applications are pieces of code that are located on a boot device and run in the boot environment.
The following are examples of application objects:
• The Windows Boot Manager
• The Windows OS Loader
• The Windows Memory Tester
Example – Now, with the absence of the boot.ini file, this is how you would enable Kernel debugging on a system as a boot option: “bcdedit /debug true”
Resources
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. This week, we will take a short little peek at the new Windows Remote Management infrastructure in Vista and Longhorn Server.
What is Windows Remote Management? Windows Remote Management (WinRM) is the Microsoft implementation of the WS-Management protocol, a standard SOAP-based, firewall-friendly protocol that allows hardware and operating systems from different vendors to interoperate.
The WS-Management protocol specification provides a common way for systems to access and exchange management information across an IT infrastructure. WinRM and IPMI (Intelligent Platform Management Interface), along with the Event Collector, are components of the Windows Hardware Management features.
What scenarios does this enable? Using WinRM scripting objects, the WinRM command-line tool, or the Windows Remote Shell command line tool, you can obtain data from local and remote computers. You can also obtain hardware data from WS-Management protocol implementations running on non-Windows operating systems. WinRM can also supply standard WMI (Windows Management Instrumentation) data, but it handles remote connections via the SOAP-based WS-Management protocol rather than DCOM.
Resources
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. In this fifth installment, we will take a short little peek at a series of enhancements coming in Vista and Longhorn Server to the Task Scheduler.
What is the Task Scheduler API? The Task Scheduler API is an API that enables you to automatically perform routine tasks on a chosen computer. The Task Scheduler does this by monitoring whatever criteria you choose to initiate the tasks (referred to as triggers) and then executing the tasks when the criteria is met.
What enhancements have been made in 2.0 over 1.0? The following Task Scheduler 2.0 changes are introduced in Windows Vista:
- Isolating user actions in separate sessions
- Credentials managements using new security services (S4U and CredMan)
- Removed limitations on the number of registered tasks
- API changes:
- Scripting support: interfaces are now derived from IDispatch, providing full support for script development
- Task Scheduler schema: allows you to create/manage tasks through XML-formatted docs.
- New Triggers: new time, calendar, and event triggers. All triggers support repetition, delay, start, and stop boundaries.
- Task settings: can now prioritize tasks, define multiple instance policies, start a task only when it is available or only if the network is available, restart on failure, and set an execution time limit
- New actions: a task can be scheduled to send an email, show a message box, start an exe, or fire a COM handler.
What scenarios does this enable? The Task Scheduler can be used to execute tasks such as starting an application, sending an email, or showing a message box. Tasks can be scheduled to execute:
- When a specific system event occurs
- At a specific time (even on a daily, weekly, monthly, or monthly day-of-week schedule)
- When the computer enters an idle state
- When the task is registered
- When the system is booted
- When a user logs on
- When a Terminal Server session changes state
Hello everyone, and welcome back to the “Feature Of The Week” newsletter. As mentioned last week, this week we will look at the component that enables new technologies like Transactional NTFS and the Transactional Registry in Vista and Longhorn Server: the Kernel Transaction Manager.
What is the Kernel Transaction Manager? The Kernel Transaction Manager (KTM) is a transaction management service. It makes transactions available as kernel objects and provides transaction management services to system components such as Transactional NTFS (TxF).
KTM is scalable; it will work on both large-scale applications and small-scale applications. KTM provides isolation across all types of operations, allowing a consistent view of data. You can use the transaction scope to “bracket” the sections of your application, providing atomicity for some operations and not others. KTM helps with concurrency problems. It does not affect performance, and it is available everywhere. KTM can be used to provide transactions for file management scripts and backups. During backups, KTM can provide a consistent snapshot between the registry, file system, and databases.
What scenarios does this enable? The Kernel Transaction Manager enables the development of applications that use transactions. The transaction engine itself is within the kernel, but transactions can be developed for kernel- or user-mode transactions, and within a single host or among distributed hosts. Transaction-aware applications have complete flexibility in the granularity with which they use transactions. For example, it is possible for an application to access some files under transactional control and access others using operations that are not part of a transaction.
Resources
As Benny mentioned on his blog, last night I had pleasure of going out to dinner with ZMan and Benny. We went to Ruby's Diner out at Redmond Town Center.
For those of you "not in the know", Ruby's Diner is a 50's diner among the many other 50's diner clones and knock-offs that tend to invade the rest of the country like a sweeping parasite spreading with reckless abandon, all the while trying to convey a sense of the Good Ol' 50s with a disdain that shows just how warped and twisted our country seems to be now when compared to "simpler times."
Of course, I find all that ironic considering that the waitresses wear extremely short skirts that are borderline-Hooters that you would have scoured the country for in the 50s and not found a shred of evidence of its ultimate existence. The mythical "short-skirt-and-large-mammary-glands waitress" that is not afraid of flaunting it all in the name of Show Business. I guess it shows how it's becoming more difficult to go out for a simple meal without getting some kind of Show in return. Sigh, us Americans and our twisted Capitalist ways: anything in the pursuit of money. It's the one American Universal :).
Enough of this pseudo-intellectual psycho-babble that I have absolutely no knack in the least at pulling off. The conversation was pretty fun. We covered everything from game development and XNA, to health (and me thinking about my apparent lack of it :P), to banks, credit cards, identity theft and the differences of all the above between this funny country, Amerigo Verspucci's namesake, and European countries like Germany and England (or is it Great Britain (or the United Kingdom (eh, what do I care; I'm just a crazy American anyway)).
Two things dawned on me throughout the night. First, Benny is crazy smart and wicked good at game development. One need only look at all that he's done (and see Xna Racer in action) to come to that conclusion. I honestly wish that I could be half as productive as he is. Perhaps that gives me a goal to shoot for :). Second, Andy can Get Things Done. I'm jealous of Andy in this, as I never have seemed to be able to finish any personal project outside of work. Oh, and all that jogging and running have done wonders for Andy's sexual charisma, haha. If I was a Bummer (as some of the Brits like to say), he just might be that fruit of temptation that would get me exiled from my personal Eden. Alas, I'm not, so I'll just admire Andy for his fortitude and sticking with it through the last 18 months and keeping it up.
Thinking about it in hindsight, the night was pretty inspirational. Seeing all the work that Benny has done, and all that Andy has accomplished as well, I'm going to try to take some baby steps to make me more productive in my personal life as well. First of all, I'm going to finish a game for once, dang it! After having messed around with being a hobbyist game "developer" for as long as I have, it's shameful for me to admit that I have never finished a single game. Yup, not one. Not a single game.
I say game "developer" in quotes because looking back at the least three years I might as well have been a game development "philosopher." I argue the fine points of how to design a game and how the code should look, but never get anything done myself. I'm all bark, and no bite. Well, time's are a changing, and I'm going back to the roots. Tic-Tac-Toe baby. Yup, I'm going to finish a game dangit. Tic-Tac-Toe, then Breakout, perhaps Tetris. No more predictable "Jason get's nothing finished" jokes. Well, at least for the next week until I settle back into my ways (I give Andy and any of you out there my full consent to call me out if I settle back into my rut though as I truly do need to change my ways).
Anyway, I send all my gratitude and thanks out to Benny and ZMan for the wonderful and enjoyable evening. May the motivation from it last longer than a couple of days and help me actually get some private projects done for a change.
NBC Universal launched their own pseudo-YouTube competitor, called DotComedy. Here's a video from DotComedy that is wrong for so many reasons: Mark Foley, Holy Moly. I can't believe I just watched that. Other videos:
|