free geoip September 2005 - Jayson's Blog - jaysonKnight.com
jaysonKnight.com
A conduit to the voices inside my head.

September 2005 - Jayson's Blog

  • Porsche Cayman Specs (and Build Your Own) on Porsche Website

    I posted earlier about Porsche’s intentions of releasing a new model by the beginning of next year…well, they’ve done just that.  The new Cayman now has its own page on their website, and you can build your own model (the internet equivalent of window shopping for me).

    This release is kind of backwards for Porsche…they usually release base models first, and then follow up with their beefier S versions.  Hopefully this means they will be coming out with a cheaper (albeit less powerful) base version within the months to come.  Actually, it doesn’t really matter to me as it’ll be quite a while before I could ever afford one. 

    Regardless it’s a damn good looking vehicle…I especially love the mean looking fog lights on the nose, and those air intakes are vicious looking (as are the performance specs).

  • Cyrus Explains the Var Type in C# 3.0

    Cyrus has a good post explaining the new var data type in C# 3.0 (which debuted in the LINQ demonstrations).  At this point it doesn’t seem more than some syntactic sugar to save the amount of keystrokes needed for complex local variable declarations…anyone coming from a VB “classic” background (or javascript for that matter) will also automatically correlate this type with the generic variant (or var) type in those languages.  The big difference is that the C# 3.0 var type is checked at compile time (thus needing both a declaration and an assignment on the same line), whereby the legacy types are checked at runtime (and thus have quite a bit of overhead)…so similar in name only.

    The code examples that Cyrus gives do a pretty good job of summing up the advantages of the implicit compile time type checking that var attempts to solve, and I do agree with him about the improved readability, though I’m sure initially it looks a bit foreign as we’re all used to seeing an explicit primitive (or some other readily understandable type declaration)…but after looking at it for a bit it’s pretty apparent that in the scope of local variables it’s really not that important, and I’m sure intellisense will aid quite a bit.  For heavily genericized type declarations, it appears that this will vastly simplify readability.

  • Huge Firefox Gripe -- Duplicating a Firefox Installation

    My new local domain is about 90% up and running, one of the last things I had left to do (add my laptop to the domain) I did earlier today; I didn’t care about my user settings on my other machines but needed to preserve those settings on my laptop…I’m still amazed at what a total pain in the ass it is to copy a user profile.  In my case, it entailed the following:

    • Add the machine to the domain.
    • Login with my domain user account to get a default profile.
    • Backed up my Outlook address book/rules/etc (the Office “Save my settings” wizard works pretty well but gets the paths to .pst files all screwy, so I just do it all manually).
    • Login with a domain utility account as neither the profile being copied from nor the profile being copied to can have any files in use or the process will fail (and the account needs to have local admin rights of course).
    • Copy the old profile directory to the new one (6+ gigs in my case, took about an hour).
    • Log back in with my new domain user account, and reconfigure application specific paths (such as paths to .pst files, Omea database, Trillian directories, etc).
    • Delete the old local user account, and delete the domain utility account from the User Profile Settings page in the System control panel.

    And that’s when I discovered that Firefox was in an unusable state…it just crashed over and over.  One would think that moving <oldUserName>\Application Data\Mozilla to the new account folder should simply just work, but it doesn’t.  If you look in the firefox directory in the mozilla folder, there’s a file called profiles.ini which simply acts as a pointer to the (seemingly random) name of the folder your profile is stored in (in my case it’s Path=Profiles/q1ghhcpe.default).  So I deleted the Mozilla directory, reinstalled firefox to have it recreate a “default” profile for me, then copied back over all the files under the old q1ghhcpe.default directory (the cache, extensions, bookmarks, etc).  Firefox no longer crashed at this point, but the GUI was completely hosed and unusable.  So I started yanking files/directories one by one to find the culprit; in my case it ended up being the chrome directory…seeing as that stores the state of the GUI, no big surprise.  Firefox started correctly at that point, but none of my extensions/themes were working properly (though they were reported as installed via their respective pages).  Everything else was great…all my old cookies/autocomplete/history/bookmarks acted as expected.  So then I thought I could just run the individual .jar files to reinstall each one by one, but attempting that generated corruption errors on all the .jar’s.  So I ended up having to reinstall all of them individually…the good news is that any type of state/history information for extensions remained intact from the previous installation.

    So really all you need to do to duplicate a Firefox installation is:

    • Reinstall Firefox to generate a new random .default directory (for some reason the pointer in the profiles.ini simply doesn’t get picked up correctly, it needs to be generated by Firefox from what I can tell).
    • Copy all files *except* the chrome directory to your new .default folder.
    • Reinstall all of your extensions/themes (in my case, about 2 dozen that I had to track down one by one).

    What a total pain in the ass man…that’s pretty bad design in this humble developer’s opinion.  I’m surprised there is no extension for this type of scenario…would be great as I could simply write a utility script that updates all of my machines whenever I add a new extension/change some setting/etc, so I’d have a consistent Firefox installation across the LAN (I hate getting new Firefox installs up and running, and no 2 are alike on any of my machines).  I wonder if setting up a roaming profile would solve it?  Maybe that’s next on my list of things to do…well, after I get Exchange up and running.

  • New Version of Google Toolbar for Firefox Breaks Autocomplete

    I posted earlier about losing autocomplete after a recent round of upgrades to Firefox; it turns out it wasn’t the upgrade to 1.0.7 itself, but an updated version of the Google Toolbar for Firefox…on a hunch I removed that extension, restarted Firefox, and voila…autocomplete works again, and my entire autocomplete history came back as well.  I was also able to duplicate this behavior on another machine, so that’s definitely the culprit.  I can’t find a way to submit a bug report to Google though (imagine that).

    Caveat emptor.

  • Firefox 1.0.7 Disables Autocomplete?

    I really hope I’m missing something simple here, but after updating to Firefox 1.0.7 the autocomplete feature of Firefox seems to not be working…and I mean all of it; the Google search bar, all fields on sites I’ve visited…nothing is autocompleting.  There is simply no way this was done on purpose…that would be a huge breaking change.  Anyone else seeing this behavior?
  • Links to Individual WinFX Technology Homepages

    This is more or less going to be a bookmarking page for me for quick reference (it will be updated whenever I feel like it).

    Technology Homepages

    Featured Articles (To Be Implemented…)

     

    Please feel free to leave “must reads” or anything I’ve forgotten in the comments section.

  • Anders Hejlsberg Demos LINQ

    Channel 9 has a video up of Anders Hejlsberg (distinguished engineer and chief architect on the C# team) demo’ing LINQ.  A big giant lightbulb went off in my head about halfway through the video, and like a good suspense movie I actually started to fill in the blanks a few seconds before Anders would answer a question, i.e. why the query statements are kind of backwards from the SQL paradigm we’re all used to (SQL being SELECT…FROM…WHERE and LINQ being more like FROM…WHERE…SELECT)…no spoilers in this post, watch the video (though if you are familiar with the way sets work it’s not that hard to surmize).  LINQ will live in the System.Query namespace, and can be used on any type that implements IEnumerable<T> in the System.Generics namespace.  The first thing we should all be thinking about is how this fits into the O/R space; more specifically how this will (seemingly) vastly simplify rolling an O/R framework.  But even more importantly IMO, a single unified way to query objects for data regardless of backend implementation (frontend agnostic).  Anywho, watch the demo…this is gonna be incredible.
  • Internet Explorer 7 on Windows 2003

    Bob has figured out how to get Internet Explorer 7 installed on Windows 2003…read about it here.  I still can’t stand the huge tabs, for some reason when I click on the tab I expect it to be an address bar and I start typing an address.  I think that would be kind of cool actually, if each tab had it’s own address bar in it…but that would probably lead to some usability issues once many tabs were open as the address would be hard to see.  It’s still gonna take a small miracle to get me off of Firefox though.
  • PDC Overload -- LINQ/WPF/WWF/WCF

    This year’s PDC has been pretty incredible…I am up to my ears in blog posts/channel 9 videos/whitepapers/webcasts; there is simply no way I am going to be able to wade through it all anytime soon.  Combine that with the impending releases of .Net 2.0/Asp.Net 2.0 and SQL Server 2005, and I think that we are going to be some pretty busy .Net developers in the coming months.

    The one thing that has really piqued my interest is .Net Language Integrated Query (LINQ).  Anders has been talking about this for a long time, though from what I remember he was framing it for the 3.0 release…not 2.0. I even blogged about the predecessor’s predecessor’s predecessor (cOmega <- Xen <- X#)…appologies for the formating of that link by the way.  I just didn’t realize we’d have it this soon.  MS has a page up on MSDN devoted to LINQ, along with 101 C# examples.  There are plenty of arguments both for and against including domain specific language features in the core language itself…purists will argue that including such SQL like constructs in the core language leads to bloat, and what happens when the domain features themselves change…the cruft is then left in the language as dead weight…basically they would like to see a library approach.  I think LINQ (from what I can tell by the high level stuff I’ve read thusfar) had a good middle ground by not tying the querying features of LINQ directly to a backend data store, and it appears to be a pluggable architecture wherein you can write your own sinks for different backends.  Regardless, this seems like really powerful stuff and I can’t wait to start playing around with it.  What a great time to be a .Net developer, even though it’s becoming increasingly dificult to differentiate .Net 2.0 features from WinFX…though eventually I guess they’ll be one and the same.

    Sidenote:  I am folding Vista and WinFX post categories into one category as they are very much related to each other.  Depending on how much material I decide to post relating to WinFX I may break it out into further subcats (such as the tla’s mentioned in the title of this post), but that remains to be seen.

1 2 Next >

Copyright © :: JaysonKnight.com
External Content © :: Respective Authors

Terms of Service/Privacy Policy