Tuesday, March 30, 2010
Free .NET Development Tools
On Intertech's blog, Andrew Troelsen lists some useful .NET development tools that also have the great benefit of being free.
Friday, March 26, 2010
iPhone App Development Without Objective-C
Here's an interesting way to develop iPhone apps without resorting to Objective-C: build it in HTML5 and cache.
Thursday, March 25, 2010
The State of Various Technologies--Adopt/Abandon/Consider
Here's link you may want to read. It's a quick 8 page read on the state of various technologies and whether they may be worth adopting/abandoning. A lot of these types of things aren't worth much, but this one is by Thoughtworks, which is Martin Fowler's place. If you aren't familiar with him, suffice it to say he's well respected on the forefront of software engineering, which is why I consider this worth the time and thought. I'll also point you to this, which covers one of the tidbits in the doc that might otherwise easily be missed. Last, I'll point you to this, which while old (seems to date from Google's announcement on Chrome/Chromium), is an interesting take on Chrome/Chromium, its true competitors, and its possible impact on them.
Wireless Networking
Supposedly, this company offers better Wireless Networking products. They have some interesting antenna technology that forms 'beams', instead of just the basic omnidirectional model.
Friday, March 19, 2010
.NET Asychronous Sockets Server
I've been starting work on designing a scalable TCP/IP sockets server in .NET. Not having done anything like this before, I did some digging around on the web, googling for '.net asynchronous sockets heap fragmentation'. Here, here, here, here, here, here and here are some posts that were highly worth reading.
Not suprisingly, .NET wraps Win API calls, for instance AcceptEx. With that in mind, this article provides some good background.
Also, in the course of absorbing the above, references were made to Jeffery Richter's Power Threading Library, as a great way to learn about multithreading, locks and so on. Said library is available here.
Last, I'm not sure if this one is still relevant, so I need to read again.
Edit: As .NET uses IOCP under the hood, this introductory article and this more technical one may be useful reads. The second link in turn references other articles:
Not suprisingly, .NET wraps Win API calls, for instance AcceptEx. With that in mind, this article provides some good background.
Also, in the course of absorbing the above, references were made to Jeffery Richter's Power Threading Library, as a great way to learn about multithreading, locks and so on. Said library is available here.
Last, I'm not sure if this one is still relevant, so I need to read again.
Edit: As .NET uses IOCP under the hood, this introductory article and this more technical one may be useful reads. The second link in turn references other articles:
- Len Holgate's series on writing a reusable, high performance socket server class: Part 1, Part 2 and Part 3 (this part in particular discusses how many worker sockets to create at startup).
- "A high performance TCP/IP socket server COM component for VB" by Len Holgate
- "Scalable Servers With IO Completion Ports and How to Cook Them" by rtybase
- An article on Winsock2 I/O methods
Design Patterns
.NET Memory Leaks
Since .NET applications run in the CLR as managed code, inexperienced developers may make the assumption they no longer need to be concerned with memory usage--after all, it's managed code and the garbage collector will take care of it, right? Unfortunately, that isn't true. Here's a StackOverflow post and here's another post discussing the issue. Here is a detailed MSDN article. The article notes these are the most common causes of memory leaks in the .NET world:
- Static references
- Event with missing unsubscription
- Static event with missing unsubscription
- Dispose method not invoked
- Incomplete Dispose method
Thursday, March 18, 2010
Martin Fowler on RESTful Web Services
Martin Fowler posted this to his blog on RESTful web services and the 'Richardson Maturity Model'. Worth reading.
Friday, March 12, 2010
Object Relational Impendance Mismatch
Here's a good post discussing the problems that happen when using relational databases to stores objects.
Subscribe to:
Comments (Atom)