Blog
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.
Labels: asp.net, programming
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!
Labels: asp.net, programming
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
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
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?)
Labels: asp.net
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
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
maintenance
For some reason, installing my new keyboard today got me started looking at certain things on my PC and applying some upgrades. First, I upgraded the drivers for my video card, since I discovered that I'd been getting some weird messages in the event log related to my video card. Then, I remembered that I hadn't gotten around to installing
SP1 for Visual Studio 2005, so I went ahead and did that too. Both of those things are pretty big installs, so that killed about four hours, between downloading and installing. Maybe I should consider doing a year-end backup tomorrow, too.
Labels: asp.net, Windows
computer books
I just finished
ASP.NET 2.0: A Developer's Notebook. Looking back through old posts, it appears that I've been working my way through this one for quite a while now. Oh well. The next book in my stack is
Expert C# Business Objects which, according to Amazon, I bought on Sept 20, 2005. So I guess it's about time to crack it open, right? Of course the
C# 2005 version is out now. I'd like to read that one instead, but I don't want to just toss out a $60 computer book. I guess I'll start reading the one I've got, then maybe think about "upgrading" to the new one if it's really interesting.
Labels: asp.net, csharp
ASP.NET 2.0 - client callbacks
The client callback mechanism in ASP.NET 2.0 was apparently changed during the beta, at some point after the book I'm reading was written. To their credit, O'Reilly covers this in a
doc file posted on their site.
Also,
this page at the quickstarts.asp.net site describes the current mechanism briefly, and
this article on the MSDN site gives a bit more detail.
Labels: asp.net
ASP.NET 2.0 ObjectDataSource
The ASP.NET 2.0 book I'm reading has a simple example of using an ObjectDataSource bound to a GridView. I'm always a little suspicious of wizard-generated stuff like this, but I'm willing to give it a try. The example in the book did not actually work, though, and a few minutes of poking around didn't reveal anything obvious that I'd missed.
This article has some good material on the ObjectDataSource. I suppose it's something I'll need to look into a bit more, in general.
Labels: asp.net
more asp.net 2.0
The
last time I mentioned ASP.NET 2.0 was probably the last time I did any work on it at home. I went to an
MSDN event this week that talked about a couple of things in .NET 2.0, so that kind of got me interested in picking it up again. I worked through a bit more stuff today, basically
GridView and DetailsView examples. I still have a lot to learn.
Meanwhile, I was listening to an episode of
.Net Rocks this week, and
the guest, who had been working in .Net 2.0, referred to that as the "old way", and wished he could have been using the new stuff, like WCF and WF. I feel like I'm falling behind! We haven't done much of anything with 2.0 in work yet. I'd really like to move a bunch of web stuff from ASP.NET 1.1 to 2.0, but it's hard to find the time.
Labels: asp.net
ASP.NET 2.0
Well, it's been about a month since I've done any ASP.NET 2.0 work at home. I watched a few
webcasts at work over the last couple of weeks, though, so I haven't forgotten anything. I played around with the
GridView a bit tonight. Very nice. It's really easy to put a fairly standard-looking and straightforward grid together quickly. I need to go a little deeper, though, and figure out how to do some of the weirder stuff that we typically do with the DataGrid now.
Labels: asp.net
VS.NET 2005
I just got done installing VS.NET 2005 on my new desktop machine at home. I'm still working my way through
ASP.NET 2.0: A Developer's Notebook. I'm just starting the Data Access chapter. The limited version of SQL Server that comes with VS.NET does not have the pubs or Northwind databases installed by default. If you want to install them, you can find setup scripts for them under "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Samples\Setup", named InstPubs.sql and InstNwnd.sql. To run the scripts, do this:
sqlcmd -S .\SQLEXPRESS -i InstPubs.sql
sqlcmd -S .\SQLEXPRESS -i InstNwnd.sql
That seemed to be worth writing down, just in case I need to do it again...
Labels: asp.net, SQL
ASP.NET 2.0: A Developer's Notebook
I made my way through chapter 2 of
ASP.NET 2.0: A Developer's Notebook today. I've really been putting off learning .NET 2.0 and VS.NET 2005, but I'm starting to get motivated now. Partially, I guess it's the whole "New Year's resolution" thing. I've also been listening to a lot of
Dot Net Rocks lately, so that's helping out on the motivation front. After I get through this book, I've got another ASP.NET 2.0 book, a SQL Server 2005 book,
Expert C# Business Objects, and a couple of other random programming books to read.
Labels: asp.net
DotNet Stuff
I spent some time today surfing through a bunch of .net stuff. I've been picking up on some things from
DotNetRocks that I wanted to look into, and I just wound up following some trails. Here are a few interesting links:
CodeSmith -- interesting tool that I need to look into.
DotNetNuke -- I interviewed a guy today who was thinking about starting a company and writing his own CMS in ASP.NET. He hadn't heard of DNN before. He may have been trying to do something a bit different from DNN, or he may have been reinventing the wheel. I hope he takes a look at it before he starts coding from scratch!
Community Server -- the last time I looked at these guys, they weren't quite done yet. Now they're at version 1.2 and apparently quite usable. I may have to try this out, maybe for a departmental blog at work.
An interesting discussion of strings in .Net here. Maybe I should put some stuff about String vs. StringBuilder on the test I give to interviewees.
Thycotic.Data -- maybe not that useful for me, but kind of interesting.
Rockford Lhotka -- I'm kind of interested in his book, after hearing him on DNR. I honestly don't know much about n-tier development.Labels: asp.net
I went to
Microsoft .NET Code Fest 2003 today. I'm still not entirely convinced that .Net is a good thing. I'm starting to see stuff that I like, but I'm still suspicious. I wanted to start playing around with ASP.NET at home tonight, but I quickly realized that Microsoft doesn't want you to run IIS under XP Home. Oh well. I think I can hack it in tomorrow. There's a way to make it work...
If only
Clipper was still a viable development option!
Labels: asp.net
© 2008 Andrew Huey