Software Geek

March 3, 2008

The obligatory Halo 2 partial review and thumbs up.

Filed under: Software


I learned my lesson with Fable, so I’ll try desperately not to start a flame war of any sort here. Up front, I’m giving the game a definite thumbs up. If you are the kind of person that likes to flame, then leave now knowing that I’ve given your favorite thing my personal approval.

Let’s start with the good. The campaign and story is pretty nice. The cinematic effect is definitely there, something I don’t approve of in games most of the time. In this case the cinematics were rather short and they appear to have answered all of the questions from the first Halo, about what in the hell is actually going on in this universe. Don’t expect a major story though, in all there is about 30 minutes of video (maybe someone will time that eventually). It appears in most cases that the actual game engine was used to produce cinematic sequences. I’m a huge advocate of this process, since it generally reduces the size of the game even if it doesn’t allow for as much eye candy through complex, non real-time, shaders.

Playing from both sides of the story is another great feature even if the movement features are identical between the arbiter and the master chief. Of course you get to use all of the weapons no matter which side you are. A couple of the new weapons are even pretty nice and if you add dual wielding then you can really do some drastic damage. Getting used to the new weapons is a short process, but for the most part, just realize everything is going to take a good amount of shots in order to take down. Nearly every enemy has energy shields now, so making use of a good pairing of weapons is almost always required (for a good run-down of the weapons, head over to GameFAQs where someone has posted a huge review of all of the weapons, relative damage, recommended threat ranges, etc…)

(more…)

Computing rant

Filed under: Software


Ugh… i know we have all heard it before. I’m the IT administrator for my home network, I have to debug all my friends and family’s tech problems. The latest. My wireless network is flaky downstairs. On top of that, the cablemodem drops it’s IP address and refuses to renew unless I hard boot the bugger. I finally moved my wireless hub… just a little. My reception downstairs went from a “low” or “no signal” or a “good” (4 bars!) wahoo!

Next, of course, is my mother-in-law’s home computer. Here is a great example of why computers are horrible. She turned on her computer, got some wierd error about running “scandisk” (yes, I know what it is, but she doesn’t) rebooted the thing, and now it won’t start at all. Computers are horrible. Since the computer is several years old I just want to replace the whole thing, but it does seem a little ridiculous that you have to replace a machine every couple of years when all she wants to do is browse the web and send email.


http://www.simplegeek.com/permalink.aspx/24

Generating WPF Content with LINQ

Filed under: Software

Mike Taulty recently posted an example showing how to use LINQ to generate a graph in XAML.

He uses the new XML literal syntax in VB.NET. Since C# doesn’t get that feature, an exact conversion to C# would be relatively verbose. So, score one to VB.NET? Not so fast. I wanted to show an alternative approach that works as well in C# as it does in VB.NET.

You don’t need to go via XAML for this sort of thing at all. Perhaps the most important thing to grasp about XAML in WPF is that anything you can do with XAML, you can also do with code. Here’s a LINQ example based on Mike’s program, but which bypasses the XAML completely:

public Window1()
{
 List<Point> data = new List<Point>();
 int width = 8 * 96;
 int height = 6 * 96;
	
 for (double i = 0; i < (Math.PI * 2); i += (Math.PI / 50))
 {
 data.Add(new Point(i, Math.Sin(i)));
 }
	
 this.Content = new Grid
 {
 Width = width, Height = height,
 Background = Brushes.Black,
 Children =
 {
 new Polyline
 {
 Stroke = Brushes.White,
 Stretch = Stretch.Fill,
 StrokeThickness = 2,
 Points = new PointCollection(
 from p in data
 select new Point(p.X, p.Y))
 }
 }
 };
}

(more…)

I’ve finally settled into my new position on the Internet Explorer team…

Filed under: Software

Wow, 7 months since my last post! Well, there is definitely a good reason for the lengthy delays. Back in February a became a full-time member of the Internet Explorer team starting work on IE7 and continuing support for previous versions of the browser. Needless to say, joining any team of this size there is a lot of information to consume before you can start making decent contribution so all of my free time has been spent brining myself up to speed. Hopefully I’ll be able to leverage some of this knowledge and focus some postings on web development and scripting, in addition to my previous topics.

This is still my personal blog where I’ll be posting about all of the interesting things that I’m working on or feel like talking about, so try to keep the browser flames to a minimum. For obvious reasons there will be comments that I won’t be able to respond so if you don’t hear back from me, I’m probably ignoring you, but in a good way.

Help Desk Software: Next generation of Live Chat. Jabber/XMPP Live Chat Service for your website.

Well, good to be back, make sure you stick around and look for further posts.


http://weblogs.asp.net/justin_rogers/archive/2005/06/14/412413.aspx

A web site is not an RSS feed…nor the reverse.

Filed under: Software


There was a time not so long ago when we built “home pages”.  Glorviously extravagant, naievely simple web sites that said who we were, and what we were about.   On those home pages, we put news & announcements, and often, links to static pages of content.   If we wanted to interact with visitors, we included guest books, maybe a simple message board, or just displayed our email address prominantly so others could drop us a note.    All of this was created by hand with the expectation that changes would be few and far between.

Eventually this became such a common approach for building a web site, that we tried to standardize these things.  At the same time, we discovered that a frequently updated web site received more visitors than one that was static or rarely updated.  As a result, content-management features were added to speed updates, forums were improved to include user avatars, threading, and email subscriptions.  Finally, the news & announcements became data-driven, annotated with metadata, and archived for historical review.

The current incarnation of this evoulution is what we call the Weblog.   A weblog is still nothing more than an “about” page, news, articles, and forums, it just has evolved a few new facets and appendages to impower users to interact in new (and hopefully better) ways.   Today, we can hardly imagine a web site without at least 1 RSS Feed.  In fact, most web sites today (nearly) completely revolve around their News & Announcements and the related RSS feed.  Yet, we must remind ourselves that the RSS feed is useless by itself.  It is an evolution FROM a web site, not an evolution OF a web site.  It is nothing more than an alternative delivery vehicle for information, not neccessarily a replacement for the weblog (read web site).

(more…)

Java Concurrency series continued : Stopping threads

Filed under: Software

Continuing with the series on the top 10 concurrency issues encountered in Enterprise Java, this ninth entry in the series describes the issues behind stopping threads


http://feeds.feedburner.com/~r/techtarget/tsscom/blogs/~3/235706397/thread.tss

The PDC and Application Compatibility, but still no Hosting

Filed under: Software

The PDC has happened, which means two things.  I
can post some of my (slightly self-censored) reactions to the show, and I can talk
about what we ve disclosed about Whidbey and Longhorn more freely.  In
this particular case, I had promised to talk about the deep changes we re making
in Whidbey to allow you to host the CLR in your process.  As
you ll see, I got side tracked and ended up discussing Application Compatibility
instead.


 

But first, my impressions of the PDC:


 

The first keynote, with Bill, Jim
& Longhorn, was guaranteed to be good.  It had all the coolness of Avalon,
WinFS and Indigo, so of course it was impressive.  In fact, throughout all the
sessions I attended, I was surprised by the apparent polish
and maturity of Longhorn.  In my opinion, Avalon looked like it is the most mature
and settled.  Indigo also looked surprisingly real.  WinFS looked good in
the keynote, where it was all about the justification for the technology.  But
in the drill-down sessions, I had the sense that it s not as far along as the others.

(more…)

Binding to the Current Item in WPF

Filed under: Software

When working with collection-like data sources in WPF, you can read properties of the selected item by writing your binding expressions as though there were only one source object. Here’s an example:

<DockPanel DataContext={x:Static Fonts.SystemFontFamilies}>
 <TextBlock DockPanel.Dock=Top Text={Binding Baseline} />
 <ListBox ItemsSource={Binding} IsSynchronizedWithCurrentItem=True />
</DockPanel>

(more…)

New posting on MSDN about script leak patterns and how to fix them for anyone that builds dynamic web apps.

Filed under: Software

Over here on the IE team we take leaks seriously. Extremely seriously. This is contrary to the popular opinion, but I’ll let you make your own informed decisions. My new posting on MSDN is specifically designed to help you identify and fix several patterns of leaks. These range from your basic circular reference to your more complex (and more popular) closure based leak. Hopefully this new material can help you identify and exterminate all of the leaks in your code. If you have questions about the article feel free to post here or over on the IE team blog and I’ll try to respond to any non-flaming responses ;-)

MSDN: Leak Patterns in IE

Free Live Chat: Next generation of Live Chat. On-Demand. Easy-to-Use.

eblogs.asp.net/aggbug.aspx?PostID=414052″ width=”1″ height=”1″>
http://weblogs.asp.net/justin_rogers/archive/2005/06/20/414052.aspx

TransparentProxy

Filed under: Software


One of
the recurring requests for a blog is related to TransparentProxy, RealProxy,
Contexts, Interception, etc.  As
usual, I’m typing this where I don’t have access to our corporate network and
the sources, so some details might be a little off.  (When will my dentist provide free
wireless to his customers?)  And, as
usual, none of this is going to help you in developing applications.  In fact, I postponed writing about this
topic – despite all the requests – because it seems so obscure.  But if you are struggling through the
Rotor source base, it might explain some of the code that you see.  I say ‘might’ because I’ve never
actually looked at the Rotor sources. 
I’m just relying on the fact that they are a pretty faithful of a
cleansed snapshot of our desktop CLR sources.  Anyway…

size=2> 

size=2>Normally, a reference to a managed object is just that: a native memory
pointer.  This is reported
accurately to the GC so that we can track reachability and so we can update that
pointer if the object is relocated during a compaction.  But in the case of an object that
derives from MarshalByRefObject (MBRO), it’s possible that the object instance
is actually remote.  If this is the
case, a proxy stands in for the server instance.

(more…)

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com