December 2009
38 posts
.NET Developer Basics/Review – Recursive...
Recursion can be a powerful programming technique when used wisely. Some data structures such as tree structures lend themselves far more easily to manipulation by recursive techniques. As it is also a classic Computer Science problem, it is often used in technical interviews to probe a candidate’s grounding in basic programming techniques. Whatever the reason, it is well worth brushing up...
Dec 31st
12 Cool and Stylish Modern Beds
via toxel.com Beds rule. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 30th
NUnrar - Release: NUnrar 0.4
Check out this website I found at nunrar.codeplex.com Added unexpected feature: Streams for single and multipart archives. They must be seekable however. Maybe non-seekable streams soon when someone asks. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 29th
NUnrar - Release: NUnrar 0.3
Link to release at nunrar.codeplex.com Another minor bugfix. Ran into this myself when I was trying to convert CBR files to PDFs. Spent so many hours chasing this down. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 29th
NUnrar 0.2
Just a quick bugfix a user actually found.  I’ve also added a couple of properties and renamed a lot.  I hope more people look into this for C# and unraring. Download NUnrar 0.2 from Codeplex Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 23rd
Mozilla Messaging building nest for Thunderbird...
via arstechnica.com I’m still with Thunderbird 3.0 after dropping it for a few days. It’s primary use is a frontend for gmail which it does fantastically. I like having access to three different gmail accounts at once. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 23rd
Property Copying With Dynamic Objects in .NET 4.0...
Lately, I’ve been trying out some of the new .NET 4.0 language features.  Specifically, I’ve been looking into ways to trivially combine late dispatch and late binding in order to build general purpose convenience objects. via uberpwn.spaces.live.com The usage of dynamic feels so wrong in this example. I guess I don’t see the purpose of this. To be more like javascript? No...
Dec 23rd
NUnrar 0.1
I’ve managed to produce something useful.  The feature set is probably limited but I did spend the time to put in multi-volume support.  I’m actually uncertain what to do next for the library.  I will probably continue on to my next project and only fix what I need to or wait for feedback.  Then revisit after a while for performance enhancements. Download NUnrar 0.1 from Codeplex ...
Dec 23rd
1 tag
NUnrar
My new project is hopefully simple and straight forward: http://nunrar.codeplex.com/ This is a literal conversion of the JUnrar project by Edmund Wagner I started by using the Java Conversion Assistant 3.0 on JUnrar and have been cleaning up and fixing the code.  It works, minus volume support and probably other minor features.   My goal is to make a fairly complete native Unrar library for...
Dec 21st
Personal Time
I haven’t been link blogging as much as usual primarly because I’ve done something big.  I’ve transplanted my life from Cleveland, OH, USA to Sheffield, United Kingdom.  This is a much needed and welcome change both personally and professionally.  I hope to be more active in the local .NET and nerd communities along with my girlfriend.   My professional career begins a new on...
Dec 21st
Mono 2.6 and MonoDevelop 2.2
And if you want a quick mnemonic to remember this release, just think debugger! and cross platform. via tirania.org Finally! Debugging support on OS X in Mono. The other bonuses are nice as well. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 16th
I missed this: Microsoft Demos Silverlight on the...
via mashable.com I don’t know how I missed this news. I just googled randomly for Silverlight/IPhone. This is good news for me since I’m total .NET/Mono fanboy. I hope this keeps going forward with more than just video. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 11th
Intro to MonoTouch: .NET Development for the...
Until recently your only choice for developing applications for Apple’s iPhone was to jump into the Apple development ecosystem. This means being willing to write Objective-C code in the XCode IDE. For many developers, learning Objective-C was seen as a huge barrier-to-entry. This is especially true for many .NET developers whom have never had to worry about memory management, pointers, and other...
Dec 11th
Demystifying LINQ Aggregates
This post aims to dissect the power that exists in the Aggregate LINQ operator. I have realized that most programmers use it sparingly and have decided to put a couple of examples to clarify how you can use the Aggregate operator to perform a few tricks. via geekswithblogs.net The author makes the assertion that the Aggregate operator is a bit confusing and rarely used. In my case, I know...
Dec 11th
The File System can be a dirty rotten liar.
The variations include verify no one else has the file open, if the file is in use, the file is not writable, etc ….  The answer to all of these questions is unfortunately the same.  Simply put you can’t.  The reason why is the fundamental nature of the file system prevents such predictive operations.  via blogs.msdn.com Just a reminder from jaredpar. His idea is probably a good pattern to...
Dec 11th
1 tag
C# regions sure can be useless
via jeff.wilcox.name I’ve seen this way too much as well. Jeff Wilcox is right, please group methods by functionality and not visibility. I found the error of my ways in the Clean Code book by Uncle Bob Martin. It is my new bible these days. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 11th
Why Are NOT Extension Methods a Code Smell
But can they be a code smell? In most cases I would say yes, for several reasons. via thycotic.com This blog post proposes the idea that using Extension Methods is a Code Smell. If it is, then the argument does not justify that statement. The author gives three reasons: “Firstly, if it is something simple, why not just implement it in the object?” There will always be logic that...
Dec 11th
"Magic" null argument testing
Warning: here be dragons. I don’t think this is the right way to check for null arguments, but it was an intriguing idea. via msmvps.com Jon Skeet spends way too much time trying to figure out a better way to null check than the first solution he has (which is the best). How about this: nothing can ever be null unless explicitly allowed. I’ve mentioned it before from another post...
Dec 10th
The Singleton Killer
We all hate singletons so here’s another useful refactoring pattern: The Singleton Killer. via jupitermoonbeam.blogspot.com This is a step-by-step way of removing singletons from code. The solution is basically using Dependency Injection. I’m not 100% sure that DI containers should always be good, but they definitely should be considered for projects of any real size. ...
Dec 10th
2 tags
Improve Your C#! Borrow from F#...
While exploring F#, I’ve grown increasingly impressed by the libraries that ship with it. One of the main purposes of the libraries is to provide underlying support for the language itself. In addition, they contain important modules and classes necessary for functional programming (e.g. immutable List and Map types). However, the most practical aspect of these libraries to me is...
Dec 9th
My Chrome and Thunderbird 3.0 Experience on OS X
Chrome gives me back something I missed:  Tabs on top.  I really enjoyed it in the Safari 4.0 beta but they just removed it with no warning in the release version.  I don’t get it. Chrome on OS X looks good and functions very much as the Windows version does.  Though I think the icons could look a little better.  Not that I’m a good graphic designer myself.   The Ars review points...
Dec 9th
Field Level Access with RIA Services
There are lots of reason you may need to customize the access to given fields within an entity. via blogs.msdn.com Managing security might be the thing that pushes me to care about RIA Services rather than sticking with my hand-rolling approach. Applying security concerns are hard and/or tedious. It ought to be an Aspect :) Posted via web from Adam Hathcock’s Life in...
Dec 8th
1 tag
Use Your iPhone or iPod touch to Lock Your Mac -...
Airlock is a system preferences pane. Double-click to install it, associate it with your iPhone or iPod touch, set the security range, and that’s it. I tried with my iMac 24 and my iPhone and it worked perfectly. You can even see a radar screen showing the distance between the two devices. The moment I stepped out of the limit, the screen locked. And then, as soon as I came into the...
Dec 8th
Big Ben on Twitter
The best thing I’ve found today. BONG Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 8th
WiebeTech Micro Storage Solutions - HotPlug - Move...
What is HotPlug? With HotPlug, you can move a computer without powering it down! We created this product for our Government/Forensic customers - but it has IT uses as well. Need to move a server without powering it down? HotPlug can do it. Bottom line: WiebeTech’s HotPlug allows hot seizure and removal of computers from the field to anywhere else on the planet. HotPlug keeps power...
Dec 8th
2 tags
Mean Cards
With the holidays coming up, you have to really stand out with your cards. My boyfriend gave me a card from Mean Cards, and I was so tickled by them I had to share. The drawings are minimal but full of feelings. Here are some good ones for the season. Show someone you care so much you know they won’t be offended by getting a slightly insulting...
Dec 7th
Tank Chair
via blog.2modern.com This could definitely fit in my living room. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 4th
First commercial tool to crack BitLocker arrives
BitLocker Drive Encryption can now be succesfully cracked with Passware Kit Forensic version 9.5, though it will set you back $795. via arstechnica.com Surprise, Microsoft’s BitLocker is insecure. Real security provides no recoverability. If all keys are lost or passwords forgotten, you’ve lost data. If you want safety, then backup your keys. If you still lose your keys, your...
Dec 4th
Aspect Oriented Programming – your good friend |...
Aspect Oriented Framework allows you to solve such problems in your team (code). The way it works is very magic. Aspect Oriented Framework allows your star player to be in between of each of your players but they do not see him. They are playing like he is not there, but he helps and controls the ball. So your star is no longer a player in the field but he watches each ball passage – like a...
Dec 4th
Introducing Google Public DNS
The average Internet user ends up performing hundreds of DNS lookups each day, and some complex pages require multiple DNS lookups before they start loading. This can slow down the browsing experience. Our research has shown that speed matters to Internet users, so over the past several months our engineers have been working to make improvements to our public DNS resolver to make users’...
Dec 3rd
Sky Walker
Known for such work as world renowned museums and Beijing’s Olympic stadium, the Prizsker prize winning Swiss team of Herzog & de Meuron took on a luxury high rise residence tower in New York City on 56 Leonard Street.  The 57 story tower is not for the faint of heart, those whose knees get wobbly as they look down from high places as the penthouses merge the...
Dec 3rd
Moore & Giles Meehan Utility Bag
via uncrate.com Apparently, this bag is made to carry spirits and a laptop. It’s $660 but I still want it. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 3rd
Disposable Flask
via uncrate.com BRILLIANT Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 3rd
MEF and Prism, to be or not to be.
One thing I like about being on the MEF team, our product causes no shortage of controversy. :-) Now to the question, what is the story on Prism and MEF? I am getting asked this now several times a day, more so than the IoC question. I am happy to say we’re working with p&p to come up with a good answer. via codebetter.com Glenn Block stirring up trouble with MEF again. MEF does seem...
Dec 3rd
Pirates offer Windows 7 on USB sticks
via arstechnica.com I wish I could buy Windows 7 on a USB stick. Nice packaging too. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 3rd
Lessons Learned: The lean startup
I’ve been thinking for some time about a term that could encapsulate trends that are changing the startup landscape. After some trial and error, I’ve settled on the Lean Startup. via startuplessonslearned.com I think the idea has merit. Bookmarking this for myself. Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 2nd
One bug, two developers: Collaborative debugging...
via blogs.msdn.com This will be great if this actually works as explained. Could have done without the one *, two * reference though this morning. : / Posted via web from Adam Hathcock’s Life in Software | Comment »
Dec 2nd
What's the difference between covariance and...
So now we can define covariance, contravariance and invariance. A generic type I<T> is covariant (in T) if construction with reference type arguments preserves the direction of assignment compatibility. It is contravariant (in T) if it reverses the direction of assignment compatibility. And it is invariant if it does neither. And by that, we simply are saying in a concise way that the...
Dec 1st