Tag | Software Posts

Blog.scottcairney.com is back. Up and running once again, with many thanks from geekswithblogs.net! This is my personal blog where I will discuss topics that are of interest to me, these will of course include e-commerce, SOA and other enterprise development topics. I will also keep you up to date on the activities of the Commerce Server team and hope I can provide an informal outlet for information for those who share my interests. For the billions who don't know me, I've been architecting and building ...
All right, so it may have been a day or two since my last post. I was hoping I'd have the option to post-date to make it look like I was a much more diligent blogger than I really am, but oh well. Apart from just wanting to look like I blog more regularly than once a quarter, there's actually a lot of material to cover. I'm not sure exactly how I want to accomplish this, so there might be a spate of blogs close together just to cover all the things I've worked on so far and the challenges involved. ...
Lately I played around a bit with Aspect Oriented Programming, especially with PostSharp. I wanted to see how I could use it to reduce the amount of infrastructural code that clutters a common class like this: public class Person : INotifyPropertyChanged { private string firstName; private string lastName; private int age; public string LastName { get { return this.lastName; } set { // check the argument value if (value == null) { throw new ArgumentNullException("valu... } if (value == "") { throw ...
For many customers the ROI on software licences is one of the key factors when purchasing software, so when deploying an e-Commerce solution the level of return for frameworks, and CMS platforms such as Commerce Server and MOSS are quite justifiable, however it is the extra features – such as the Store Locator that is difficult spending licensing money on. The current store locator within CS 2009 is based on a commercial Microsoft Virtual Earth web-service, which is provided for non-developer used ...
As a freelance software developer, I am regularly asked in interviews if I am familiar with a certain technology or product like e.g. TFS, ASP.NET 2.0, WPF or Oracle 10g or whatever. This is of course only natural, since potential customers already have their company-internal development technology stacks set up or it goes about a pre-existing software project where all these decisions are made long before anyway. But as a freelancer, I must say that keeping up with all the latest technologies and ...
Yesterday, Microsoft announced the creation of the CodePlex foundation (CodePlex.org). It is different from the CodePlex.com platform, and it claims to be independent from its founder Microsoft. It's mission is to bridge the gap between commercial software development and Open Source software, "ultimately aiming to bring open source and commercial software developers together in a place where they can collaborate". The 10-minute SlideCast from their FAQ page may give a good first impression: Introducing ...
A few days ago, I talked about a problem, that using an ORM like NHibernate could bring, when there's inheritance and lazy loading around (please refer to this post). Unfortunately, the example in this post turned out to be somewhat unclear. So here's a short follow-up with another example, that hopefully underpins my arguments a bit more precisely. The original example gave the impression that the problem occurs only when we would try to typecast around in some way or the other, which is in most ...
These days I'm very much in the market for anything will cut down on manual typing. Thus I'm dictating more of what I write (using speech recognition), and today I began to explore CodeRush: a highly extensible Visual Studio plug-in Being very smart marketers, DevExpress offers a free version: CodeRush Express, which is a somewhat stripped down, but fully useful product, and they offer a 30 day trial of the full CodeRush product. The trial, however, allows you to install both the trial of CodeRush ...
Well, hey there you poor unsuspecting folks out there?! That's right. I made a blog ( I know what your thinking.. and yes they do let just anybody get one now adays...). I'm now a completely one of a .. million developers out there who have blogs! Yay Me! On a more serious note, I'm going to answer a few questions: Why Did I Create a Blog? Why not? And also, cause I figured it's a good way to force people to hear my opinions on stuff <insert evil laugh here>. I think it's also a good way to ...
I've seen it come up in discussion groups time after time, the management wants to measure productivity in their development team and developers just want to be left alone to code. Recently some one asked: > Maybe it's also time for a frank discussion of "What does the CEO > *really* need" for visibility? Is it really metrics that do not make > any sense (and costs a lot to collect)? No, it's time that we turn this question on it's head, because it's not "What does the CEO *really* need" ...
I’m just pulling together next Wednesday MSDN Flash newsletter and came across this gem. The last 12 months of releases from the Patterns and Practices team: Enterprise Library v4.1 is a collection of reusable software components that help developers with common development needs such as logging, validation, data access, and exception handling. They can be used “as is” or extended or modified by developers as needed. Unity Application Block v1.2 is a lightweight extensible dependency injection container ...
Surprisingly (or maybe not), I have heard this question and its many variations several times over my career, even more so the past couple of years. It really is a very simple question without a very simple answer, especially since it is highly subjective. From personal opinion (like I said, subjective), what constitutes a good developer is that they exhibit few (if any) bad developer traits, AND, they bring more to the table than just code. Writing code is just one component of the job. A bad developer: ...
Almost every software project comes with a database. Sometimes it will be developed from scratch and in parallel with the actual domain model for a new (aka. 'greenfield') project, sometimes it will be a pre-existent datastore provided by the customer or coming from an already running software that has to be extended (then we can call it a 'brownfield' project). In either case, you will likely end up with a bunch of database scripts that need to be executed as part of your installation process. I ...
I have been looking for a software for a specific purpose but havent found it yet, so was wondering if anyone out there knew of something that serves this purpose. Let me explain. I want to have a Centralised Media Repository at home, like a server which other devices (laptops, pda etc) can connect to and listen to mp3s etc off the server (possibly by streaming). Users connecting to the server should be able to search media, browse media by album, artist etc. Does anyone know of any software that ...
"Smaller, Faster, Smarter" Every successful software once reaches a stage where adding more features makes the application 'Bigger, Slower and Lamer". Once that critical mass has been reached, trying to cash in by adding more features leads to a process called 'feature creep'(http://en.wikipedia.... What Microsoft and Apple are trying to do with their latest OS releases (Windows 7 and Snow Leopard) is to offer an upgrade which claims to free up more disk space (smaller), run ...
This month FredNUG is shaking things up a bit! Instead of meeting on our traditional 4th Wednesday of the month, we’re moving the meeting to Tuesday, September 22. Also, instead of having an intro talk, we’re doing pizza from 6:30 PM - 7:00 PM. Then, starting at 7 PM, INETA Speaker Claudio Lassala will present on Refactoring, Patterns, new language features, code quality, and more! This sounds like a topic that all .NET developers can benefit. The scheduled agenda is: 6:30 PM - 7:00 PM - Pizza/Social ...
Some time ago, I wrote a blog post titled “Geocoding pictures automatically with Nokia E71 and gpicsync” which was explaining how to use the built-in GPS in your mobile phone (in my case a Nokia E71) and a utility program called gpisync to enter geographical tags into your pictures. This is useful because using a program supporting this feature (such as Flickr for example), you can then see all your pictures on a map, and remember where you took the pictures. Read the rest of this entry » ...
I started a series that I titled Mission Impossible. Read the Introduction if you have not already done so, you can find it here. This Post will cover the quota issue and some ideas I put out for the client to decide. This solution can be approached in two different ways, a passive approach and a pro active approach. Let me describe. Let me describe the problem first. A site collection exists with sub sites. The client wanted a quota set to a 2G limit on each sub site. There are no way that can be ...
And that mind is ... well ... mine. My name is Ralph L Wheaton Jr. and I am a senior developer with 18+ years of professional experience in software architecture/development/de... working in manufacturing, IVR, banking and, most recently, healthcare. Currently, I am focused on Microsoft technologies, specializing in Biztalk and .Net development, though I have worked on various other technologies including Unix scripting, Informix, Fortran and C/C++. My software development career started when my ...
Saas vs. S+S Saas is an architectural paradigm where a solution architecture can benefit from the economies of scale of the data and behavior of that architecture being built and hosted in the cloud by a third party in a multitenant fashion. Software + Services is an architectural paradigm where a solution architecture can achieve some of the same economies of scale as Saas while simultaneously benefiting from the synergies and efficiencies of the data and behavior of that architecture being partly ...
Since the beginning of July, I've been working on a java project. The language is very close to C#, although it has some minor irritating differences, like the lack good generic support, extension methods and closures. The big difference however is not in the language, the tools, the libraries or the utilities. One of the big differences I've seen is the community. I've been on many projects that have worked exclusively with Microsoft tools, libraries and (god forbid) examples. When the subject is ...
For my personal projects (and likely our work projects) I've been looking into Subversion as an alternative for VSS. And so far, I've only 'blowed up' my repository a dozen times in the installation process. I am by absolutely no stretch of the imagination an SVN expert (I just started tinkering with it this week), but figured I would toss out a few of the hurdles I toughed through in getting it up and running. After installing the product I got to spend a few frustrating days connecting to my server ...
I’ve lost count how many times I’ve heard that quote. It’s a great quote said by one of the leading minds in computer programming and formal mathematics, Donald Knuth. The problem with this quote is that, like so many other things, people have only remembered (or only quote) a small portion of the entire thing. To read the full quote, you need to look at a paper published in December 1974 titled Structured Programming with go to Statements in Computing Surveys. The full quote is this (in reference ...
A recent episode of .NET Rocks asked this very question, and listening to the episode made me consider my thoughts on the matter. [Disclaimer: Some of this post may be interpreted as “beating up on Microsoft”. This is not my intent. I use Microsoft in my examples because Microsoft development experiences have been the totality of my professional career. The issues I apply to Microsoft can assuredly be applied to any other company out there.] The short answer is “no”. I started writing software for ...
NHibernate's EnumStringType is a custom user type to realize an arbitrary mapping between an enum in your domain code and a related set of strings in your database. While playing around with it, I stumbled over some strange behaviour that turned out to be a bug in NH's codebase. It took me two days to finally nail down the problem. This post is mainly intended to be a short recap of my findings. Hopefully I can prevent some other poor developer souls to get stuck with the same problem, providing ...
Here’s another email from the internal mailing list of Injazat .NET Ninjas (Ninjazat, AKA as we call ourselves), that I’m sharing with blog readers as well. Just a place holder, until I move one of my 18 (just discovered the number now – terrifying!) drafts in my Windows Live Writer into a published post, or delete them all! Subject: [Learning] Some very interesting videos Some videos from NDC 2009 event (Norwegian Developers Conference 2009) - about software design and related issues: · NDC Video ...
On October 14th, 2009, Winnipeg will be the site of the first annual SDEC09 – Software Development and Evolution Conference, hosted by Protegra! We’re really excited to put this on and think its going to be an awesome event! The cost of the conference is $100 until September 18th and $150 after that. What do you get for that low admission fee? Three Tracks of Sessions: Development Foundation Skills Learn best practices on how to use developmental skills such as test driven development, SOLID principles, ...
For those of you who missed the chat today, here is the raw transcript. By raw, I mean that I copied and pasted the discussion without any edits. This is divided into two parts, the top part is the answers from the Microsoft Experts and the bottom part is the discuss (questions) from the audience. Answers from Microsoft: RajeevDu[MS] (Expert): Hi, This is Rajeev Dubey, Bluetooth Program Manager. Sue Loh [MS] (Moderator)[12:02]: Hi, I’m Sue Loh, a developer in the Windows Devices Core team at Microsoft. ...
Stumbled across a funny video this morning: An Introduction to the Lego Software Process from Thomas Hansen on Vimeo. This video is taken from the website The Lego Software Process, which states further: "For far too long Software Developers have been living in the stone age. The Lego Process proposes a Modular design. This makes you 20 times as productive. In addition it also makes maintenance a breeze, bugs vanish and security a commodity. Imagine; 20x Productivity No Maintenance Problems And Zero ...
A situation, that most developers might know from personal experience: The project is nearing the deadline, and there is far too much work left to be done. Usually the consequence is, that the remaining features of the software will be implemented in a quick-and-dirty way, leaving aside quality related issues like e.g. proper design or adherence to coding standards for the moment. - Much of today's spaghetti code is born this way. The common excuse for that is: "We'll do that later. Now our first ...
Before we had Azure and the various bits and pieces that became Azure at PDC 2008 Microsoft had a number of disparate groups working on various ‘cloudy’ projects. these included BizTalk Services, Red dog, Mesh and the Live framework to name a few. Then at PDC 2008 with the wave of a marketing teams wand they all be became Azure or Azure Services or Azure platform or …well anyway the over-arching message was that they were all part of Azure!! Furthermore we were presented with the vision below… Now ...
During the last days and weeks, there's an increasingly heated debate about the performance of NHibernate vs. some other commercial and noncommercial ORMs. This debate was triggered by the launch of a new website called ORMBattle.NET, which is allegedly "devoted to direct ORM comparison" (and hosted by a commercial competitor of NH...). The comparisons are largely based on batch processing tests like this one: protected override void InsertTest(int count) { using (var transaction = session.BeginTransaction()) ...
I use Rhino Mocks pretty much exclusively for mocking and testing. I find that there really isn't anything that I've wanted to do that I haven't been able to figure out how to accomplish with Rhino Mocks. What is everyone else using? I'd like to know so I can take a look. Anyway, as you know, with Expect.Call we can return property values, return values from functions, throw an error, etc. Sometimes just returning a static value isn't going to work, or it's just easier to give it some simple code ...
As previously mentioned I have lived with Beta and RC before arriving at Release. Downside has been the re-builds. The upside and this is Goodie #2 is the ability to use VHD’s mounted as ‘real’ hard drives has been a saviour! I have setup a number of Virtual drives and when I boot in I re-mount them. I have a Data drive (docs and outlook achieve), Software Installs drive (my downloads drive really), Code drive and finally and iTunes drive. Once a week I copy off each VHD to my NAS at home. So when ...
I’ll be presenting at TechDays Canada 2009 in Winnipeg! I’ll be presenting: Better Software Change and Configuration Management Using TFS A critical factor in getting the most out of Team Foundation Server is understanding the version control and build systems. In this session, learn how use Team Build and Team Foundation Server Version Control to effectively manage concurrent development branches. Learn about how set up your repository structure and how to define builds. Learn about different branching ...
The repeated Twitter hacking exposes the complex and serious security issues on the web. "The repeated Twitter hacking exposes the complex and serious security issue on the web. Unfortunately for Twitter (Google Apps, Facebook, and others), the problems have unfolded in a public arena, forcing them respond quickly to calm users and resulting in a short term solution (that clearly has not been working!). What is unknown to many internet users is that the problem doesn't end with Twitter's band aid ...
Historically I have always viewed ASP.NET session state as “pure evil.” In-proc session state is about as unreliable as you can get given that you can have timeouts, ASP.NET might recycle itself, IIS might get bounced, no scalability, and cannot work in a web farm. SQL Session state is very resilient and works in web farm scenarios but the performance is not good and at that point you might as well be better off writing your own strongly-typed data access layer rather than blobbing everything in ...
After the update from Windows 7 RC to RTM I noticed Daemon Tools was gone. I tried to reinstall it but it was impossible. Daemon Tools relies on SPTD (a SCSI pass through driver) to do it’s magic and it checks whether it is installed. It seems that it couldn’t detect it on my system so it launched the SPTD setup, asked to restart the computer and then again and again. I downloaded a new version of SPTD (1.60) from the product page but I had the same problem, SPTD installed, asked me to restart and ...
I have been recently dealing with a somewhat tangled set of components where over time, developers have added references as needed to get things done quickly, creating circular and upstream references, resulting in low level layers depending on high level layers. While looking for a nice little refresher online on dependency injection (incidentally, this is a great refactoring technique to fix this situation fast), I found this nice concise definition on bad design provided in an article by Robert ...
I have looked at LINQ and still get this uneasy feeling that it is definitely a love/hate relationship, but I figure I would ask the community on their views on it. Here are my personal issues with it that is steering me away from it currently to be used as a main driving framework of a brand new project: LINQ is a framework in which I may not agree with how it handles all the "voodoo" behind the scenes which can lead to developers believing it is the next thing to sliced bread. I agree it does add ...
News broke today over at WekeRoad.com that Rob Conery has decided to turn in his blue-badge and go back to the solo-scene (cue that music from the Hulk series where Bruce Banner is always walking down the road alone while the credits role). Now there will be much speculation on why Rob Conery chose to leave Microsoft. Some have already suggested that it was in a fit of jealous rage after hearing about Scott Hanselman’s promotion (which Rob has already stated isn’t the reason, and as you’ll see below ...
Disclaimer: This is a series of posts in which we’ll go through the IoC’s that are used in today’s applications The most simple answer I can give you is this: It’s an abstraction over Factory Method. It helps, in my opinion to think of this as a factory method, because then you know what to expect of it, since it constructs/resolves a specific implementation based on the configuration you provide it. In a factory method you write, aka “hard code”, the implementation you will be using. In an IoC container ...
In this Issue: Michael Washington, Scott Marlowe, Tim Heuer, Brad Abrams, Vibor Cipan, Joel Neubeck, Gerard Leblanc, and Lee. Shoutouts Terence Tsang reports more updates: Silvelright Resources Directory Update (11 Aug) Kevin Wolf has a multi-touch game up if you're so equipped: Introducing Crazy Coins – a Silverlight 3.0 Multi-Touch Application In a very cool turn of events, Koen Zwikstra has announced Aspose and First Floor Software announce collaboration to enable Word document display in Silverlight ...
Für verschiedene Experimente brauchte ich die Möglichkeit mit v6 einen Debian Server auszurollen. Die Anforderungen waren wie folgt: - Es soll für die SW Installation der debian eigene Paket-Manager apt verwendet werden. - Für das unbeaufsichtigte Ausführung der Setups soll preseed zum Einsatz kommen Die Posts werden sich rund um diese Anforderung drehen und folgende Themen erläutern Teil 1: Basis OS Image + Change Root environment Teil 2: Installation von Software via apt und preseed Teil 3: Einen ...
"...Flexible software systems require a foundation that supplies the basic system services that's easy for developers to use, yet powerful enough to support complex and flexible systems—in other words, a framework..." The second article by Bogdan Zamfir written & published on DevX continues to develop the Mini CMS system with the Visual WebGui Web & Cloud Platform (a followup article to: Creating a Prptotype) which will get some base components that represent the actual workplace. "...These ...
Introduction: In this post, I will explain you how can we write a unit test in c#. It is a basic guideline for those who wants a quick start. Unit testing is an integral part of any software that is developed. It is an advantage which most of us are either not aware of or we are neglecting it. It actually helps a developer to write error free code. To write unit test, we will first install a unit-testing framework. About Unit-Testing Framework: Well, Unit-Testing Frameworks are useful to simplify ...
Some free software downloads to help protect your home PC that I have used and can recommend: CLAMWIN - free anti-virus http://www.clamwin.com/cont... AVG - free anti-virus http://download.cnet.com/AV... Windows Defender - protects aganist spyware http://www.microsoft.com/do... ...
Well, it has taken me a while to actually get a post up but I'm going to try to work towards a weekly major post which will deal with relevant common themes I found in articles or ran into at work with minor "comment" or "pointer" posts on a roughly daily basis which will reference other articles which I found particularly relevant to the subject of this blog, getting Windows and GNU/Linux working together. I'm also going to try to have a truly useful article dealing with making Windows and Linux ...
So, I sat down with my supervisor the other day to discuss my schedule and talk about the upcoming project that I was hoping to use Agile practices on. I gave him the two minute rundown of the key components of what I was looking to do, touching on the sell points of what I would be doing. Keeping the stakeholder involved improves acceptance chances Results based on the stakeholder’s priorities Demo-able software of the results as they are finished My supervisor understands that projects don’t just ...
Last weekend (August 1st and 2nd 2009) I went into London to attend the Alt.NET UK Conference or more specifically two separate but related days. This was my first ever Alt.NET conference and I absolutely loved it. It was exciting to be around so many enthusiastic and smart individuals discussing software development with an open mind and a desire to help those around them. No elitism, no stuffiness, just developers doing what they do best – talking about (and doing) development. It reminded me of ...