Weblog About All Tech Stuff

March 26, 2008

The obligatory Halo 2 partial review and thumbs up.

Filed under: Software — Tags: , , — jerry35 @ 9:48 pm

Also see: Manual CRUD operations with the Telerik RadGrid control

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…)

Merry Christmas Indeed!

Filed under: Software — Tags: , , — jerry35 @ 9:00 pm

Also see: Spring Web Flow features and feedback request

Also see: What Are You Destined to Be ?

Also see: A VS.NET Macro to Generate Machine Keys.

Janice went all out this year and got me an Ibanez JS1000 (Joe Satriani series) guitar, a Line 6 POD X3 Live effects board and a pair of Roland CM-30 amplified monitors. My fingers are all tore up now since I’ve been out of practice for some time now. But it sure is fun to get back to some jamming. The JS1000 is pretty light and has easy action. Combined with the POD X3 I can get quite a variety of amazing sounds. I even got the X3 hooked up to my MacBook Pro and finally was able to try out Garage Band. I was able to lay down the rhythm track for Crushing Day (what I could remember from back in the day) and then play the lead part over it with no lag. The roland CM-30s are nice because I can run my Alesis QS8 and the POD X3 into them at the same time. This is probly the best setup I’ve ever had.


Later today I hooked up a microphone to the X3 and the kids had a blast talking and play singing into it. “Daddy it sounds kinda like I’m in a cave…”. Perhaps I should cut down some of that reverb. :)  


Santa Clause was good to me this year. (Thanks Janice)


http://weblogs.asp.net/dfindley/archive/2007/12/26/merry-christmas-indeed.aspx

Important changes to the BASE element for IE 7

Filed under: Software — Tags: , — jerry35 @ 3:48 pm

Looks like my post went live over on the IETB regarding changes we made to the BASE element in IE 7. Previously the BASE element had some issues, primarily by design, that made certain actions within the guts of IE very easy to do, but polluted the exposed object model and overall tree hiearchy. Well, it was time to fix that. If you are interested in how we fixed it, go check out my entry All your <base> are belong to us.

There have been some comments on the post so I’ll try to cover them over here with what might be some interesting posts about how IE works.


http://weblogs.asp.net/justin_rogers/archive/2005/08/30/424084.aspx

C# 3.0 Lambdas and Type Inference

Filed under: Software — Tags: , , — jerry35 @ 12:00 pm

Daniel Cazzulino recently wrote a blog entry whose main focus was on building pipelines using iterators in C#. Towards the end he showed a slightly irritating problem in C# 3.0. He wanted to write this:

var transformer = x => new { Original = x, Normalized = x.ToLower() };

However, the C# compiler complains because it doesn’t have enough information to infer the type of the transformer variable. The problem it reports is “Cannot assign lambda expression to an implicitly-typed local variable”.

Daniel doesn’t present a working solution to this particular problem – he ends up structuring his program differently to avoid the issue entirely. But in his discussion of this problem, he proposes something that he describes as ugly, and which, as he points out, doesn’t work anyway:

Func<string, {string Original, string Normalized}> transformer =
 x => new { Original = x, Normalized = x.ToLower() };

This is a direct approach to the problem described in the compiler error message. Can’t assign the expression to an implicitly-typed variable? OK, let’s make the variable explicitly typed. Unfortunately, you can’t specify the type because the expression involves an anonymous type. And that’s the thing about anonymous types: they don’t have names.

(more…)

March 25, 2008

Trust Microsoft with Claimspace (my response pending)

Filed under: Software — Tags: , — jerry35 @ 9:00 pm

Ted Haeger , aka ReverendTed  of Bungee Labs  (purveyors of the most kill-killski development toolkit for Web 2.0 developers, in the world), just published a thought provoking blog post asking his readers: Can we…?


Trust Microsoft with Claimspace


Ted has personally challenged me to respond and I plan to do so, in the next couple of days. In the meantime, I encourage you to check out Ted’s post and weigh in with your thoughts and opinions, either here or there.


http://blogs.msdn.com/korbyp/archive/2007/05/23/trust-microsoft-with-claimspace-my-response-pending.aspx

When Are Two Algorithms the Same?

Filed under: Software — Tags: , — jerry35 @ 2:48 pm

When Are Two Algorithms the Same? Andreas Blass, Nachum Dershowitz, Yuri Gurevich. February 2008

People usually regard algorithms as more abstract than the programs that implement them. The natural way to formalize this idea is that algorithms are equivalence classes of programs with respect to a suitable equivalence relation. We argue that no such equivalence relation exists.

A bit more philosophical than usual, but the issue is quite relevant to discussions in the field.

It is possible to stipulate any equivalence relation that is considered useful (e.g., equivalence up to local transformations) but the notion of a universally applicable relation is indeed problematic.
http://lambda-the-ultimate.org/node/2729

Implied tags in the IE HTML parser and how that can be interesting.

Filed under: Software — Tags: , , — jerry35 @ 6:00 am

I recently made the verbal error of saying that for the new BASE element changes in IE 7 you had to put your tag inside the HEAD element. Well, someone pointed out to me rather quickly that on Firefox you could just have a bare TITLE and BASE followed by some body content and away you go the page would validate and parse properly. Well, we do the same thing in IE, and it is called implied tags in HTML. There are some gotchas though.

First, I’ll start with the trick… What in the heck is IE doing?
<HTML id=”dumpInternals”><TITLE></TITLE><BASE href=”foo”><BUTTON onClick=”alert(dumpInternals.outerHTML)”>Click Me!</BUTTON></HTML>

That is your boilerplate. When you click on your button there you’ll find that IE is actually putting the TITLE/BASE in the implied HEAD of the document and then putting the BUTTON into the implied BODY. Good stuff, and the document is still perfectly valid. Issues can arise when you do this though because you aren’t necessarily realizing what elements belong in the HEAD and which belong in the BODY and so you might terminate your HEAD enclosure early and put a bunch of random elements that don’t belong in the BODY into the BODY.

This won’t look right without your IE 7 Beta 1, since the BASE element is going to wrap a bunch of stuff, but you can get the gist. The below will show you that the second BASE ended up inside of the BODY. That isn’t good, we don’t look for BASE elements there and it won’t get used. (Read my previous post on IE 6 behavior and you’ll see that it used to get used because of some container magic, but not anymore, we are compliant).
<HTML id=”dumpInternals”><TITLE></TITLE><BASE href=”foo”><BUTTON onClick=”alert(dumpInternals.outerHTML)”>Click Me!</BUTTON><BASE href=”foo”></HTML>

(more…)

Quick attempt at a validating roman numeral parser… Lots of gotchas.

Filed under: Software — Tags: , , , — jerry35 @ 4:00 am

Got asked about a roman numeral parser during an interview. I have to say that I don’t mind when the process of obtaining employment plays into my strengths. The process was quite similar to a previous process where I wrote a spoken numerics converter. Not only that, there were many similar qualities to my int parsing routines. With that in mind I think I did fairly well. The goal at the time was to produce a routine to validate numbers up to roman numeral 30 or XXX. Didn’t take long, but in the end, I had left out many different validation techniques. I really wanted to revisit the problem since I had the code correctly written in my mind. Check the algorithms out, they should handle just about anything you can throw at them at this point. If you find issues, please feel free to submit your problems, since I’d love to solidfy things a bit more. Apparently roman numeral parsing has great application in reading dates.

Roman Numeral Parsing: Code Only: Bidirectional roman numeral parsing. [EDIT: Added alternate parsing routines and performance fixes]
Integer to Spoken Numerics: Code-Only: int/long/double conversion to Spoken Numerics
Phone Number to Words: Trying my hand at the old Phone number to Words teaser project!
Integer Parsing: DWC.Algorithms.NumberUtilities


http://weblogs.asp.net/justin_rogers/archive/2004/10/24/247032.aspx

NHL seven days a week

Filed under: Software — Tags: , , , — jerry35 @ 3:48 am

Trying to find hockey on TV is like, well, even worse than it used to be. Much worse. The national coverage is pretty awful, even among five networks. I’d resigned myself to the fact that I’ll have to go to one of the neighborhood Red Wings bars if I want to catch the Wings. I don’t have a cable box, and I’m not about to get one just to watch one game per week on the Outdoor Life Channel. (Yes, non-hockey fans, that is the channel that carries the NHL these days. Hey, at least they’re playing this year.)

Still, just having hockey on in the background is comforting. I’d almost given up when I remembered that Comcast.net shows games live over the internet for Comcast subscribers. This is awesome. Even better is that they have at least one game on every day! (2/3 of the days have two games.)

A Windows Media Center computer drives my TV, so making this happen is incredibly easy. Launch IE, click the link on the Comcast.net front page, right-click the video feed, select “Full Screen” and I’m enjoying NHL hockey in all of its compressed glory.

The video quality is surprisingly good. If HD is a 10 and normal TV is a 5, I’d say this is a 4. I’m just happy I can stream live TV over wireless without a single blip.

Nice job, Comcast. Now how about a Media Center plug-in and HD-quality? That I’d pay for.

http://weblogs.asp.net/jkey/archive/2005/11/19/430980.aspx

March 24, 2008

Career history

Filed under: Software — Tags: , — jerry35 @ 3:48 pm

Reading “On Becoming a Leader” has been really interesting, mostly because it suggests that a key differentiator of leaders is the vision that leaders provide, while others are content to be driven. Interestingly I have been spending a lot of time at work trying to determine what I should be trying to do… I have been asking a lot of people to try and understand what my role should be, but instead I should have been defining my vision. Coincidentally enough I’ve been working on a vision document around developers as a core customer base…

Thinking about my career path is interesting. I started software development in grade school. I wrote a math quiz program that we used for about 1 day in class. I wrote some interesting stuff in middle school; Snake Bit, a Nibbles clone – although at the time I was cloning Snake Byte, an Apple II program, and a GUI environment… although I may have wrote that closer to high school… In high school I decided that I was going into architecture and took several classes. Eventually I determined that I spent more time configuring and learning AutoCAD than I was learning about architecture, so I decided to continue down the software course.

I have worked a bunch of fastfood/retail jobs, but the one of interest for this story is Waldensoftware. When I left they had just been bought out by Electronic Boutique (now EBX). It was interesting to watch a brick and mortar bookseller like Waldenbooks run a software store… anyway, more on that later – the interesting note is that it was at Waldensoftware that I began talking with lots of software people. At the time Waldensoftware was a fairly book oriented store, so we got lots of actual developers in. Here I met Jim Flippin. He was a regular customer.

(more…)

Never keep your emotions bottled up

Filed under: Software — Tags: , , , — jerry35 @ 2:48 pm

Last week I was considering the purchase of a piece of
software.  I went to the vendor’s website for pricing.  It wasn’t there. 
Annoyed, I filled out the form so that I could be contacted by one of their sales people.  The
following day I got a response:

Thanks for considering (product
name deleted).  Please write back to me with your phone # or call me at the #
below — we can discuss pricing as I learn about your application and how you
plan to use (product name deleted) for development.

So I sent an email with the following response:

Hi (name deleted),

OK.  Please bear with me for just a
moment while I vent.

#ifdef FRUSTRATED_RANT

First, I hate the fact that you
guys don’t put pricing on your website.  I looked up the old version of your
site using archive.org, so I’ve got a ballpark idea of what the pricing was
around six months ago.  Mostly I just want to know if anything has changed.

Second, it’s absurd that when a
customer asks for pricing, you won’t give it to them.  Instead, you answer the
question with a question.  I’m not even the slightest bit interested in telling
you about our application and how we plan to use (product name deleted) for
development.  I just want to know your pricing and your license terms.

(more…)

DevWeek 2008 Cross Platform Silverlight Demos

Filed under: Software — Tags: , — jerry35 @ 11:48 am

Also see: Exception Handling in Running a Business

I just finished the Cross Platform.NET on Silverlight talk at DevWeek. Demos can be downloaded from http://www.interact-sw.co.uk/downloads/DevWeek2008XPlatDemos.zip

I’m all done at DevWeek for this year. But if you want to hear more about Silverlight, I’ll be teaching Pluralsight’s Applied Silverlight course in London later this month – running from 31st March. (And the following week I’ll be teaching our Applied WPF course, also in London.)

http://www.interact-sw.co.uk/iangblog/2008/03/12/devweek-xplat-demos

March 23, 2008

XP and code reviews

Filed under: Software — Tags: , , , — jerry35 @ 9:48 pm

CrazyBob and Chiara are debating XP… I haven’t done true XP, however I can comment on some of the principles…


Many developers have massive egos. The simple practice of requiring every checkin to have a code review seems like a basic rule. Peer review should be a requirement. I have actually heard a developer say “No one can code review my changes, they are too complex.”


I agree with CrazyBob about having someone review your changes keeps you honest. When I review changes I try to set a really high bar – and I want people to do the same for me. When you get caught up in writing tons of code, it is so easy to cut corners. I believe that we all need someone looking over our sholders to keep us honest. Maybe I’m the freak :)


I’m not sure that “pair programming” is the solution to this – but injecting some process into development is a good thing. It is all about balancing process and productivity.


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

Bloggers in the Mavs Locker Room ?

Filed under: Software — Tags: , — jerry35 @ 12:00 pm

Also see: Be my Support Group

Should bloggers be allowed in the Mavs locker room ? Conceptually its not a big deal. A blogger, a beat writer, a columnists. The medium they use to deliver their content should be irrelevant. No question about it.

But then there is the question of realworld constraints. This is a picture of our locker room. This is the area the media conducts their interviews post game. As it is now, between reporters, photographers (both still and video), trainers and the players, it gets pretty full.

Right now we have a situation where a blogger that works for the Dallas Morning News would like continued access to the locker room. Prior to last week, I had no idea this person’s primary job at the Morning News is to blog. I hadn’t seen or read it. He was just one of the 4 or 5 people from the Morning News in the locker room post game. When it was brought to my attention I immediately made it an issue. Why ?

Not because I don’t want this blogger in the locker room doing interviews. What I didn’t like was that the Morning News was getting a competitive advantage simply because they were the Dallas Morning News. I am of the opinion that a blogger for one of the local newspapers is no better or worse than the blogger from the local high school, from the local huge Mavs fan, from an out of town blogger. I want to treat them all the same.

Unfortunately, there isn’t enough room to allow any and all bloggers in the locker room. There also are no standards that I have been able to come up with that diffe (more…)

Why should I be optimistic about Trolltech and Nokia?

Filed under: Software — Tags: , , , — jerry35 @ 12:00 pm

I know, I know.  Pessimism just isn’t very attractive.  But
sometimes an optimist can’t find anything to say.

A couple of weeks ago, Trolltech
announced that they are being acquired by Nokia.  I decided to simmer for a
couple weeks before making any comment, but my perspective has not changed.  I
just can’t see this as good news.  Bluntly, I assume this will be the death of
Trolltech.

And that would be a shame.  Trolltech is on my short list of
software companies that I admire.  Their product, Qt, has an amazing
reputation.  Technologically, it seems to be the top dog in a space which is
crowded with lots of people trying to offer solutions to a very tough set of
problems.  Trolltech plays well with both the open source world and the
commercial world, and they make a heckuva lot of money doing it.  I’m
impressed.

(But I still wish they would put the pricing back on their
website.  Yep, the unnamed company in my Sales Guy Tantrum last
month was Trolltech.)

I have no affiliation with Trolltech (or Nokia).  I am not
even a customer (of either one).  As someone who is very interested in the
business of software, I just hate seeing a good software company morph into a
bad one.  Nokia is a great company and I’ll be happy to see them prove me
wrong, but in general, when a software company gets acquired by a non-software
company, it immediately begins a steep and steady decline.

(more…)

VPC 2007 Dual Monitor support

Filed under: Software — Tags: , , — jerry35 @ 10:00 am

I have been trying to find a way to allow you to run Virtual PC 2007 with multiple monitors.  Natively VPC 2007 doesnt support more than 1 monitor, however you can “trick” it by using various techniques that expand the desktop area into a larger virtual desktop.

I tried using the awesome MaxiVista tool which can extend your screen across separate PC’s (think “push” remote desktop), but the new multi-monitor compatibility feature of VPC 2007 (which inexplicably does not add multi-monitor support) made this difficult since it ensures that your desktop recaptures your mouse when you move it outside of the VPC window thus preventing the extended screen from being accessible.

So, instead I tried the Remote Desktop approach mentioned in Steven Harman’s blog post.  

Here is a quick rundown on how it works:

Connect 2 monitors to your PC (more than 2 typically don’t work with this approach).   Make sure to extend your desktop onto the 2nd screen via Display Properties -> Settings.  Then launch Remote Desktop (mstsc.exe) with the “/span” flag:

mstsc /span

Then just use Remote Desktop as usual by specifying your VPC’s computer name in the connection dialog.

(more…)

Free C# IDE

Filed under: Software — Tags: , , , — jerry35 @ 7:00 am

SharpDevelop looks like a really cool tool. I thought it was pretty neat that I could switch the language for the IDE (English, Japanese, etc.) on the fly in the tool and the UI would automatically update. Pretty complete tool… forms designer, statement completion, project system, etc. Very slick!
http://www.simplegeek.com/permalink.aspx/95

SIGPLAN Workshop on Undergraduate Programming Language Curriculum

Filed under: Software — Tags: , — jerry35 @ 6:48 am

SIGPLAN Workshop on Undergraduate Programming Language Curriculum.

Programming languages play a critical role in computer science by providing a flexible and robust means by which human beings interact with and control computer systems. Programming language design and implementation has advanced significantly in the recent past in response to the increasing pervasiveness of computer science and technology. Unfortunately, higher-education curriculum has not kept pace, and so it does not appropriately reflect the expansive growth and evolution. This lag is a critical challenge because an up-to-date curriculum is essential to prepare a globally competitive workforce, able to generate and to apply new knowledge, and to take the lead in advancing computer science and technology.

The goal of this workshop is to bring together leaders in the field of programming languages with expertise in research, teaching, and industrial use to discuss the role of programming language design, implementation, and application in modern, undergraduate, computer science education. Our objective with this effort is to build a community for these experts to discuss, critically evaluate, and identify the transformational changes needed to best prepare undergraduates to participate in the rapidly changing field of computer science and technology.

In particular, this workshop should provide a forum for the community (1) to evaluate recent changes and likely trends in computing technology and their impact on programming language design, implementation, and application (and vice versa), (2) to discuss the implications of these changes on programming language curricula, and (3) to explore strategies for designing new curricula. For the first task, we will consider trends that include the looming ubiquity of multi-processing systems, the proliferation of domain-specific languages, the increasing diversity of relevant programming languages, infrastructures, and support tools, the growing heterogeneity of device architectures (high-performance computing systems, desktops, game consoles, mobile phones, hand-held devices, etc.), and the increasing complexity of systems (operating, runtime, and application-level). For the second task, we will consider how these trends impact what and how we should be teaching our undergraduates about programming languages. Finally, for the third task, we will explore various tactics for designing new programming language curricula that incorporate the insights from these discussions and yet fit within the constraints of existing undergraduate programs.

(more…)

March 22, 2008

Solving big business problems in our little toolbox application. A use case for Project Distributor.

Filed under: Software — Tags: , — jerry35 @ 9:48 pm

Also see: REST2SQL in a Jiffy, with Tagspace for Spice

Project Distributor: Introduction to our distributed web service model
So Darren and I have put in about a month now on the Project Distributor website. We are starting to reach that critical point where the site is pretty cool, we have plenty of users, we are thinking about running out of the allowable bandwidth for the demo site, and all sorts of other things that tend to happen all at once. Now, there are some problems you can design yourself out of, and others that you really have to throw some money at. Our latest enhancements can be summed up in a short list.

  • Buy a domain name and start hosting in two places. Project Distributor.com should be up fairly soon to accompany MarkItUp.ASPXConnection.com
  • Have people host their own versions of the application. And that means a big source release is in the future. At this juncture risk fragmentation.
  • Design away fragmentation with a series of ingenious features that will make everyone want to use the application at hand.

I’m here to talk about the last two, since Darren already bought some additional hosting for us. The concept will be to release a fairly stable version of the application so that groups can host tools, code snippets and other source/binary releases for their teams to share. The application is very lightweight and easy to set-up, so it won’t require a bunch of hand holding and configuration to get up and running initially. From our standpoint we solve a number of issues at this juncture. The most obvious problem is what we classify the Lutz Roeder use case..NET Reflector is the key type of application we’d love to get hosted because it makes it a bit easier to find, not that Google does a bad job, we’d just like to get a bunch of tools in one place, with some features for feedback, new releases, and some cool client tools for publishing.

(more…)

Debugging an InvalidCastException

Filed under: Software — Tags: , , — jerry35 @ 4:00 pm

First, obviously, find the two types for which the cast failed and verify that they are the same type or otherwise castable.

Next, if the type was just deserialized, also verify that its assembly successfully loaded in the target appdomain.

If everything seems fine, check to see if the assemblies for those two types are loaded from different locations and in the same appdomain. (The actual cast is done in just one appdomain, even if the exception happens when passing a type between two appdomains.) Even if the bits of those assemblies are totally identical, if they are loaded from different paths, they will be considered different, so their types will be considered different. (See Comparing Already-Loaded Assemblies.)

A quick way to check for that is to examine the loaded module window of a debugger to see if that assembly was loaded multiple times. If it was, break on module loads to get the callstack for the unexpected load. If that’s inconvenient, try getting the Fusion log.

Usually, the problem is that:

  1. The assembly is available in the GAC (or the ApplicationBase) and loaded there by static reference (something was compiled against that assembly).
  2. It has also been loaded dynamically by path, from another path (LoadFrom(), LoadFile(), etc.).
  3. Then, the code tries to cast the type from (2) to the corresponding type from (1).

To fix this, once you find the offending caller,

Live Support Server: Jerry Messenger is Jabber/XMPP based Live Support Solution for your websites.

you will need to either cause the two types to be (more…)

Framework Design Guidelines: LINQ

Filed under: Software — Tags: , , — jerry35 @ 2:48 pm

Also see: Claimspace: Against a Well-designed Reputation System

Also see: Hello world!

Also see: From C# to Java: Part 4

Wow, it feels like old times…  I am happy that we are posting a new proposal for additions to the framework design guidelines.  Mitch has worked hard on these, and we have reviewed them internally and now it is time for your comments.   Please do chime in!

LINQ Framework Design Guidelines

 

Thanks!


http://blogs.msdn.com/brada/archive/2008/03/13/framework-design-guidelines-linq.aspx

A VS.NET Macro to Generate Machine Keys.

Filed under: Software — Tags: , , — jerry35 @ 9:48 am

I needed to create a new machine key for an asp.net site. I found a couple of command line utils out on the web that would create a new key but I thought it would be easier to just have it avail in VS.NET. So, I threw together this little macro that will generate the machine key and insert it. Just run the macro while you have you web.config open in VS.NET. If you already have a machinekey it will find it and replace it. If not it will just add it right after the <system.web> node. It should do the proper indents and everything too.

 1: Imports System
 2: Imports EnvDTE
 3: Imports EnvDTE80
 4: Imports System.Diagnostics
 5:  
 6: Public Module AspNetUtils
 7:  
 8: #Region "Helper Code"
 9:  
 10:  Dim _rng As New System.Security.Cryptography.RNGCryptoServiceProvider()

(more…)

On the Perils of Wikipedia

Filed under: Software — Tags: , , , — jerry35 @ 8:00 am

It’s hard to decide how afraid to be of something that is
really bad and really rare.

This problem is currently one of the most controversial
issues in the United States.  Ever since September 11,
2001 , we have been wrestling with the question: How afraid of terrorism
should we be?

  • We all agree that terrorism is really bad.  What happened
    on 9/11 was awful.
  • But it’s also really rare.  I personally have never met a
    Muslim who wanted to hurt me.

How afraid should we be? 

  • Some people are very afraid.  They focus more on the
    "really bad" side of the issue.  Many of these folks are willing
    to give up their own civil liberties just to feel safer. 
  • Others are not afraid at all.  They focus more on the
    "really rare" side of the issue.  They prefer to spend their
    resources and attention in other areas.

This blog entry is not the place for me to take a stance on
any of these issues.  For now I will simply say that I understand both
perspectives.  This whole situation is simply the most obvious example of my
point, which was:

It’s hard to decide how afraid to be of something that is
really bad and really rare.

Issues like these are like an icy ski slope.  Some people
stand at the top.  Some people stand at the bottom.  Very few people stand
anywhere else.  It’s too slippery.

(more…)

ReflectionTypeLoadException

Filed under: Software — Tags: , , , — jerry35 @ 1:48 am

If a type can’t be loaded for some reason during a call to Module.GetTypes(), ReflectionTypeLoadException will be thrown. Assembly.GetTypes() also throws this because it calls Module.GetTypes().


The Message for this exception is “One or more exceptions have been thrown while loading the types” or “Unable to load one or more of the types in the assembly”, which doesn’t seem very descriptive. But, the exception actually provides more info that that. Just get the LoaderExceptions property of the ReflectionTypeLoadException instance. That will give an array of the exceptions caught while loading all of the types from the module. If the exceptions are due to an assembly loading problem, see my general debugging advice.


http://blogs.msdn.com/suzcook/archive/2003/08/11/57236.aspx

DevWeek 2008 Silverlight Precon Demos

Filed under: Software — Tags: , , , — jerry35 @ 1:00 am

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

Also see: Generics and .NET

Also see: Generics and .NET

Fritz Onion and I just finished the pre-conference ‘Day of Silverlight’ talk at DevWeek. Demos can be downloaded from http://www.pluralsight.com/fritz/demos/DevWeek2008DayOfSilverlightDemos.zip

http://www.interact-sw.co.uk/iangblog/2008/03/10/devweek-sl-demos

March 21, 2008

Hosting

Filed under: Software — Tags: , , , — jerry35 @ 11:48 pm

Hosting

 

My prior three blogs were supposed to be on Hosting.  Each time I got side tracked, first on Exceptions, then on Application Compatibility and finally on Finalization.  I refuse to be side tracked this time… much.

 

Also, I need to explain why it’s taken so long to get this blog out.  Part of the reason is vacation.  I spent Thanksgiving skiing in Whistler.  Then I took a quick side trip to Scottsdale for a friend’s surprise birthday party and to visit my parents.  Finally, I spent over three weeks on Maui getting a break from the Seattle winter.

 

(more…)

What Are You Destined to Be ?

Filed under: Software — Tags: , — jerry35 @ 9:00 pm

Also see: Important changes to the BASE element for IE 7

Every day I get at least one email from someone proclaiming that they are “destined to be” XXXXX. You can fill in the blank with any number of dreams the person has for themself, be it rich, famous, the best this or that. Of course they aren’t emailing me just to tell me, they email me to ask for money to enable them to be whatever it is they dream of being. For me, its a good problem to have. But it leads to questions. Do we know what we are destined to be, or do we find it through experiences ? Are each of us really good at something, and its just a matter of finding it ? Do we all have something that we would love to do every day and do we inherently know it, or do we have to find it ? Will what you love to do always be what you are great at ?

Personally, I always have enjoyed business, but I never knew that I had an aptitude for technology until I got a job at Mellon Bank that lasted all of 8 months. But during the many hours of boredom, I found myself sitting in front of a mainframe teaching myself a scripting language called Ramis and loving every minute of it. Which lead to me buying a TI/99A I think it was, for 99 dollars, attaching a tape recorder as a drive (how is that for dating myself) and teaching myself basic. Which led to… You get the idea. I loved every minute of it. Maybe I wasnt the best programmer in the world, but in combination with business and sales skills, I found something that was a blast to me that I could and did do 24 hours at a time and not miss a beat.

Personally, I don (more…)

The Dick Button drinking game

Filed under: Software — Tags: , , , — jerry35 @ 10:00 am

I’ve had the Olympics on every day since Arrested Development went off the air, and I’ve found that the most consistently entertaining aspect has been the commentary of Mr. Dick Button.

I don’t know much about the guy, other than he skated in the 40s and 50s (not his 40s and 50s). One thing I do know is that he is not easily pleased. He doesn’t like the scoring system, the skaters are uninspiring, their choice of music is dull and so on.

A quick bit of research led me to the Dick Button Drinking Game. If you’re going to catch any figure skating, do yourself a favor and grab some friends and a keg of beer. You’ll need it.

http://weblogs.asp.net/jkey/archive/2006/02/23/438934.aspx

Web Services with Spring 2.5 and Apache CXF

Filed under: Software — Tags: , — jerry35 @ 9:00 am

CXF is a recent initiative by the Apache foundation targeted at bringing together the features of XFire and Celtix under the same umbrella. This post explores the project in the context of Spring 2.5.

Also see: Tagspace: Social Bookmarking for the Whole Web…from Microsoft


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

History of Lambda-Calculus and Combinatory logic

Filed under: Software — Tags: , , — jerry35 @ 8:00 am

F. Cardone and J. R. Hindley. History of Lambda-Calculus and Combinatory logic. To appear as a chapter in Volume 5 of the Handbook of the History of Logic.

From the introduction:

Seen in outline, the history of LC and CL splits into three main periods: first, several years of intensive and very fruitful study in the 1920s and ’30s; next, a middle period of nearly 30 years of relative quiet; then in the late 1960s an upsurge of activity stimulated by developments in higher-order function theory, by connections
with programming languages, and by new technical discoveries. The fruits of the first period included the first-ever proof that predicate logic is undecidable. The results of the second attracted very little non-specialist interest, but included completeness, cut-elimination and standardization theorems (for example) that found many uses later. The achievements of the third, from the 1960s onward, included constructions and analyses of models, development of polymorphic type systems, deep analyses of the reduction process, and many others probably well known to the reader. The high level of activity of this period continues today.


Beware: This is a long paper (but less than you might expect it to be by looking at the page count: about half the pages are dedicated to the bibliography).

In the announcement on the TYPES Forum the authors invited comments, suggestions and additional information on the topics of the paper,

Custom Software Development for Real-Estate, Hosting providers, Workflow and Business Management Systems.

namely the development of lambda-calculi and combinatory logic from the prehistory (Frege, Peano and Russell) to the end of 20th century.
http://lambda-the-ultimate.org/node/2679

March 2, 2008

Mary Jo Foley

Filed under: Software — Tags: , , , — jerry35 @ 4:58 pm

From “Microsoft Watch” (newsletter):

“More and more Microsofties (past and present) are setting up Weblogs. Some are chronicling the debates inside Microsoft and the rest of the software industry. Others completely shy away from any mentions of their employer.
We’ve been building out our collection of Microsoft blogger bookmarks. Not too surprisingly, many of these folks are connected to Microsoft’s developer/Web services divisions.
Here are a few of our favorites:
Joshua Allen’s Better Living Through Software
(Allen’s site includes a list of other Microsoft bloggers)

Customer Help Solution: jbTop is Jabber/XMPP Live Chat Soulution for your website.

Simple Geek: Chris Anderson’s Blog
Microsoft Web Services Kingpin Don Box
For more Microsoft Web Services-related blogs, check this site.
New Microsoft Hire Peter Drayton
Dare “Carnage4Life” Obasanjo

No commentary on the rest of the article, but it is interesting to see how much blogging is in the mainstream (more reason I’m frustrated at my complete ignorance of this before december…)
http://www.simplegeek.com/permalink.aspx/94

Blog at WordPress.com.