Blog
Vista: almost done
I'm nearly done moving all my stuff over to the Vista install on my desktop machine. I de-authorized iTunes under XP, so I can use it under Vista. I moved my OneNote files over. Almost all of my key programs are installed and working now.
I'm installing Visual Studio 2008 right now. I haven't used VS 2008 before, so hopefully I can spend some time playing around with it now. I don't think I'm going to bother installing any older versions of VS. I don't really have any independent projects in .Net 1.1 or 2.0 that I need to worry about supporting.
I have Delphi 4 on my XP drive, and I have one fairly important program written in it: the database program that I use to manage my comic book collection. This is a program that I first wrote in BASIC on the Commodore 64, and have ported (or rewritten) several times. It's probably time to rewrite it again, this time as a Windows Forms app in C#, maybe. I'll have to see if I can even get the existing Delphi program running under Vista. I never really made an installer for it, and I think I may have used a weird library or two.
I think rewriting an old Delphi app in C# is particularly apropos, since I'll basically be following
Anders Hejlsberg from Borland to Microsoft. I considered upgrading the project from Delphi 4 to the newest version of Delphi, but I don't see much point in spending time on that right now, since Delphi programming doesn't seem to be a marketable skill anymore. And the new version of Delphi costs a minimum of $400, whereas I got a free copy of VS 2008 from Microsoft when I went to the launch event a few months back.
Labels: programming, Vista, Windows
ASP.NET MVC
I went to the
ASP.NET MVC Firestarter event in NYC on Saturday. It was an all-day (9-5) event with several speakers talking about various aspects of the MVC framework, and some associated topics. Nearly everything that was covered was new to me. I'm somewhat familiar with the idea of the MVC design pattern, and I've played around with SubSonic a bit, but I hadn't really read much of anything about ASP.NET MVC specifically. I feel like I'm pretty far behind the times, given that most of the stuff I do in work right now is still in ASP.NET 1.1.
I still need to learn
LINQ too. I haven't really had time to sit down and play with that yet either.
Labels: asp.net, programming
Microsoft stuff
I went to a Microsoft
Heroes Happen Here event today in Edison. I had registered for the NYC event that happened about a month ago, but things came up at work, and I couldn't make it. Stuff came up at work today too, so I had to skip the developer stuff in the afternoon. The morning track basically covered Windows 2008. It was pretty interesting, and I did learn some new stuff. They gave out a software bundle that included Vista Ultimate, VS.NET 2008, and a few other things. Honestly, the bundle o' stuff is one of the main reasons I went to this event.
I've put off installing Vista on my main desktop machine at home, for a variety of reasons. Now that I have a free copy of Vista Ultimate with SP1, though, I decided to give it a shot. I'm not doing an upgrade install, though. I'm still afraid to try that. Instead, I'm wiping out my Ubuntu install, and putting Vista on my second drive. I'll have XP on my 250 GB main drive, and Vista on my 100 GB secondary drive. I'm hoping that dual-boot between XP and Vista works out OK. I'm running the install right now; it's been going for about 20 minutes. I think it's almost done.
I also registered for the
ASP.NET MVC Firestarter event in NYC that's coming up this weekend. It's always a little hard to talk myself into spending a whole day indoors on a sunny Saturday, in a Microsoft office, but I really need to keep up with some of this stuff. And I think it'll be kind of fun.
Labels: programming, Windows
dnrTV: .Net 2.0 stuff
I just watched
dnrTV 18, on new language features in .Net 2.0. I was already familiar with partial classes, but they also went over some more esoteric stuff, including
covariance and contravariance,
nullable classes, and
anonymous methods. Geez. There's a lot of odd stuff in .Net that I just don't know much about. Well, I guess that's the point of watching screencasts and reading books and whatnot, huh?
Labels: asp.net, programming
yet more dnrTV
Not that anyone but me is going to be interested in this, but I watched
dnrTV show #13 today, the second part of the
CSLA.NET 2.0 overview. I've only scratched the surface on CSLA.NET so far, but I think I have a little more of an understanding of what's going on and how it works.
I also caught up a bit on the
.Net Rocks podcast on the trip down to my parents' house and back today for Easter. I'm still about 40 episodes behind. I was (mostly) keeping up for a while, but I started falling behind when they went to twice-weekly. Then, my commute got shorter, which means less time for podcasts in the car. So, the end result is a huge backlog of DNR episodes.
Labels: asp.net, programming
more dnrTV
The battle between
dnrTV and
Frisky Dingo continues. I watched
show 12 today, the first CSLA.NET 2.0 show. An interesting start, but they really only scratched the surface. I really need to get back to reading
Rocky's book.
Labels: asp.net, programming
dnrTV - Generics
I keep meaning to watch
dnrTV, but I never seem to get around to it. I need to find about an hour where I can sit still in front of the computer, and give it my full attention, and that isn't easy lately. I did just watch
show #9, with Venkat Subramaniam talking about generics in C#. This is one of a handful of topics that I've got on my mental to-do list to learn more about. I see that
show 105, the most recent show, is also about generics, so maybe I'll try and watch that one tomorrow.
There are a number of shows on
CSLA.NET, which is another topic I really need to learn about. I really need to talk myself into watching this stuff more often, and maybe watching a little less
Frisky Dingo!
Labels: asp.net, programming
reference vs. value types, and LINQ
One of the people I work with was having some trouble with reference vs. value types (in C#) this week.
This article seems to give a pretty clear explanation of how these things work. Always good to have a little refresher on the fundamentals.
And, in poking around on this guy's web site, I found
LINQPad, a tool for executing LINQ queries. I have to admit that I haven't had any time to play around with LINQ at all, but I'm really curious about it. I like his idea of trying to do all your ad-hoc SQL queries in LINQ for a week, to force yourself to start getting used to it. Some of the stuff I'm doing this week is requiring me to do a *lot* of ad-hoc SQL, though. My brain is so completely wired for T-SQL at this point that I think I'd get really frustrated really quickly trying to use anything else.
Labels: csharp, programming, SQL
Dynamically Created Controls in ASP.NET
I was working on a project last week that involved dynamically creating a bunch of controls on an ASP.NET page, then trying to, um, do stuff with them. (For lack of a better explanation...)
This article does a good job of explaining something that I'd kind of missed at first: dynamically-created controls don't stay on a page after postback, normally. The "Page" class is stateless, destroyed after rendering the page. I didn't wind up using this guy's solution; I actually realized that I didn't need to be dynamically creating the controls at all. I'd copied my page from another page that *did* need to create controls dynamically, but after I looked at my own page, I realized I just didn't need to do things that way.
I've been doing more ASP.NET programming than usual lately, because I'm trying to finish up a project for a big client at work, and it's kind of tricky and time-sensitive. Because of that, I'm just doing it (mostly) myself instead of farming it out to one of the other programmers. I'm having some fun with it. Aside from the dynamically created controls, I'm also playing around with generics a bit.
This article by Jesse Liberty was helpful for setting up a simple collection using generics.
Labels: asp.net, programming
AppleScript
Related to my little iTunes buying spree from yesterday, I've been trying to find a good way to keep my purchased iTunes stuff in sync between my PC and my Mac. I've been thinking about just using
rsync or something, but I haven't gotten around to playing with that yet.
Instead, I started looking into doing this with AppleScript. That seems like it should be easily doable, but I haven't been able to get this set up exactly the way I'd like. I started with a "copy files" script found at
Doug's AppleScripts for iTunes page. The script just copies any selected songs in iTunes to a single location. I've just been selecting my most-recently purchased stuff in the "Purchased" list, then running this script to copy the files from my Mac to my PC. Then, on the PC, I just drag the files over iTunes, and they get moved into the right directories automatically.
I've got two little problems with this script: First, it tends to come back with an error when it's copying a big video file. Second, it doesn't provide any feedback while it's copying (no progress bar or anything like that). I decided to see what I could do about that, and came across
this article at MacTech. I managed to use the example from that article to put together a nice app with a progress bar that should do just what the original script did. It compiles OK, but, unfortunately, doesn't work when I call it from the iTunes script menu. Clearly, I need to do some more reading on AppleScript and figure out how this stuff works. Also, the script uses the same method to do the file copies as the original script, so I'm assuming video file copies will probably error out the same as they did in the old script.
Labels: Apple, programming
ACM
A few months back, I
blogged about ACM's deal with Safari and Books 24x7, where
ACM members can access a subset of these online libraries. At the time, the book selection on both sites seemed to be a bit out of date. Well, they've updated the selection on both sites today, and there's definitely more useful stuff up there now. They've (finally) got some ASP.NET 2.0 stuff, including the "ASP.NET 2.0 Core Reference" book by Dino Esposito, which is pretty useful. They even have some stuff on WCF and WPF.
The printing capabilities on Safari have gotten a bit more useful, too. I don't remember exactly how it used to work, but it's definitely easier to print a big chunk of text than it used to be.
I'm not sure that much has changed on the Books 24x7 site, though. I think there's more .Net 2.0 stuff than there used to be, but I did a search on "Vista" and found nothing at all, initially. That's not good. (I later found two Vista books that inexplicably did not show up when I searched for "vista".) The Safari site has about four Vista books, which is OK, but not great.
Labels: books, programming
asp.net performance
We've been having some trouble with our main ASP.NET application in work recently. (It's our intranet, basically.) It's been growing a lot lately, with more and more functionality being added to it, and more and more users accessing it. It's running on a Windows 2000 server under ASP.NET 1.1. I have a new server set up that I'm planning on moving it to -- it's running Windows Server 2003, and I was planning on upgrading the app to ASP.NET 2.0 before moving it over. Given the performance problems, though, and my general lack of spare time, I'm thinking about moving it over as is, just to see if that helps, then maybe upgrading it to 2.0 later, when I have some time.
I know that there's probably a lot I could do to tweak the performance on this application. We've done very little in the way of performance-tuning on our ASP.NET stuff. I discovered a book from Microsoft yesterday,
Improving .NET Application Performance and Scalability, which I think should be some help in guiding us through some tuning and optimization. The book is available as a
PDF download, and it's about 1100 pages. I read through a couple of chapters tonight, and it's definitely got some useful advice on ASP.NET, ADO.NET, and SQL Server tuning. There's plenty more in there too, but that's all I've had time to read so far. I'm finding it useful enough that I went over to
Amazon and ordered a used copy of the dead tree version. Highly recommended, if you need to do some .Net tuning, and you're not sure where to start.
Labels: asp.net, programming
lots of computers
Right now, I'm running a full backup of my desktop PC to my new 500 GB external drive. I'm also working on wiping my old Gateway and reinstalling Windows XP on it, so I can hand it off to a friend who has some use for it. And I'm also installing various things on my new Vista laptop. So I'm jumping around from machine to machine, checking on stuff, pressing "OK" a lot, and stuff like that.
On the Vista laptop, I've spent several hours trying to get Visual Studio 2005 and SQL Server Express set up. Everything seems to be working now, but it sure takes a long time to get that all set up. First, you have to install the original VS 2005 package from DVD. That takes a while. Then, you have to install SP 1. That can take
quite a while: several hours. There's a good explanation for this lengthy install
here, and apparently Vista adds even more of a complication to this, so it takes even longer under Vista vs. XP.
After SP1, you need to install the
Visual Studio 2005 Service Pack 1 Update for Windows Vista Beta. I'm a little alarmed that this is still a beta; you'd think that one of Microsoft's first priorities would be getting a good solid development environment running on Vista.
And, if you want to bring SQL Express up to date, you need to install
SQL 2005 Service Pack 2. I'm not 100% if I had to do both of these, but I installed "SQL Server 2005 Express Edition with Advanced Services" and "SQL Server 2005 Express Edition Toolkit". Then, I went back and installed the latest Books Online files.
So, all that took about four hours. Call me crazy, but that really seems like too long just to set up your development environment. Back in the old days, it'd take maybe 5 minutes to install, say, Clipper 5.2 or Turbo Pascal. I guess this is progress, but it doesn't feel like it!
Labels: hardware, programming, Windows
ACM
I've been playing around today with the online book access I can get through
ACM. You can get access to about 500 books from Safari and 400 from Books 24x7. Mind you, there are thousands of books on the main
Safari site, and thousands more on the main
Books 24x7 site. A regular Safari subscription is $20 per month, and Books 24x7 is about $450 per year, so both those options are a bit expensive. There are some useful titles among the limited library of books available through ACM, but not too many recent ones. For instance, there's a good bit of stuff on .Net 1.1, but very little on .Net 2.0. I don't think I could just stop buying computer books, based on the selection available through ACM, but there is some good reference stuff there. There's also not much you can do in the way of printing from either service, within the ACM section. Still, I'm going to try to keep this stuff in mind before running out and buying any more computer books, and I'm going to try to remember to seach these services the next time I'm trying to solve a programming problem.
Labels: books, programming
New Jersey Code Camp
I went to
New Jersey Code Camp yesterday, but I only stayed for the first two sessions, then I left to go off and take care of something at work. I like the concept. One of the sessions I attended went over my head, I think, while the other one mostly covered stuff I already know. It would have been interesting to stay through the whole thing and see how some of the other sessions shaped up.
Labels: programming
Does it ever bother you when a
17-year old seems to know more about programming that you do? And you're 34? (Actually, it doesn't bother me much, and he seems like a nice guy, so it's cool. He's written some neat stuff, too!)
Labels: programming
© 2008 Andrew Huey