programming books

I finished the Advanced .Net Programming class a couple of weeks ago that I was taking at NYU. While the class was going on, I limited my reading mostly to stuff that related to the class. I read bits and pieces of three books; I posted about those back in February.

I took a break from reading any programming-related books for the last couple of weeks, but now I’m looking to get back into something. I picked up Rocky Lhotka’s Expert C# Business Objects again tonight. I’ve had that book since 2007, I think, and I just haven’t been able to get all the way through it. The copy I have is now several versions behind. (Here’s a link to the current version.) I had read through the first six chapters previously. Tonight, I just sat down and leafed through the remainder of the book. I’ve decided that there’s nothing else in there I really need to read in depth right now, so I’m just going to drop it, and maybe pick up the new version at some point and start over with that.

Meanwhile, I also recently bought C# 2008 for Programmers by Paul and Harvey Deitel. I picked this up largely because I’d found some good stuff in an older version of the book that’s available on the Safari subscription I have through ACM. This is a general C# book, written for people who already have programming experience. It covers a lot of the newer stuff in C# and .Net that I haven’t really had time to pick up, since I first learned this stuff back in the days of .Net 1.1 — LINQ, generics, WPF, and so on. I’m thinking I should probably put this book on top on my reading list, since there’s a lot of stuff in there that could actually be useful to me at work.

random stuff

I’m spending the weekend just hanging out in the apartment, trying to get over a cold that I probably caught last weekend at NYCC, or possibly from someone at work. I started a new class at NYU this week, Advanced .NET Programming. It looks like it should be an interesting class. I don’t get a chance to delve into the more advanced .NET stuff often. When I’m doing .NET stuff, it’s usually pretty straightforward ASP.NET work. It was a little hard to get through the first class, since I was fighting this cold, and I really just wanted to get home and get some sleep. I’m hoping I’ll feel better by next Thursday, so I can maybe be a little more engaged with the class and a little less preoccupied with just trying to stay awake!

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.

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?

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.

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!

asp.net books and tools

I haven’t had much spare time for .Net books lately, but I decided to try and make some progress on Rocky Lhotka’s Expert C# Business Objects book last night. I’d read the first two chapters a while ago. I just started into chapter three last night, reading through his material on .Net remoting. Interesting stuff, and a reasonably understandable explanation. There’s a DNR TV episode featuring Rocky that I should probably watch too.

Meanwhile, a consultant I’m working with is encouraging me to check out SubSonic. I played around with an earlier version of this awhile back. It looks like they’ve made some progress on it, and it seems to be gaining in popularity. I wish there was a book on SubSonic, or at least some organized documentation, but I guess I really just need to download it again and play around, and maybe look through the forums.

My problem is that I really don’t have any time for “playing around” during the work day, and I usually don’t have the mental energy to mess around with this stuff at home most nights. (Well, I guess I just have to work on that! More caffeine, maybe?)

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.

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.