This is just a fun post, in thinking about technologies I like. Not comprehensive, just what I thought of at the time I was writing it.
I’m sure I could think of more, but those were the first to pop into my head. I’d recommend each of them.
blog comments powered by
Yes, I’m still not adding stuff to my list, but I am thinking about how I work. The nosql movement, for me, is about reducing resistance in building applications. Sometimes feels like we are trying to make .Net more like Ruby on Rails. Which makes me wonder if I should be just start using Rails more. I want to solve problems and build things, and not spend so much time fighting tools.
Read this about TekPub moving from ASP.Net to Ruby on Rails. Also read this post from Rob Conery about VIM being very productive.
Addendum: No, I'm not leaving .Net; just opening pondering what better ways there may be.
blog comments powered by
Prompted by this post by @shanselman..
Circa 2000 (aka Y2K): I was using classic ASP, VB6, COM, T-SQL, MSMQ. The apps I worked on that year touched on email marketing, and then electronic document filing. I was the alternate/backup DBA on the e-filing app. It was all waterfall, n-tier design, logical layers were also physical layers (UI, Biz/Data, and SQL were each on their own machines).
The year before (1999), I had been working on Retail Branch reporting for then Bank One. It was based on VB6, COM, Sybase, and generated Excel reports. It required some math skill to retro-fit the previous reports since the old business rules and algorithms were “lost”. The local office was on a vault property; and the Retail Management Dpt office was in downtown Dallas, which I got to visit. A lot.
blog comments powered by
I’ve been seeing a lot of complaints lately about discussion among Alt.netters getting mean or visceral. Maybe I’m just toning out the right things or am not privy to those discussions. I still see a lot of good, helpful people in the so-called alt.net community. Even at Microsoft; see the Gu shift post. From helping solve problems to really off topic help, there are just a lot of good devs out there.
We devs can easily get negative because of our predominant traits for analyzing and problem solving. It’s just not fun or appropriate after a certain point. I’d be less inclined to go to a meeting or conference where the majority of conversation is complaining or stupid opinion arguments. Fortunately, I just don’t see a lot of that. Finding a better way is my main objective in exploring ideas, and I think the same is for other alt.netters. If I’m naive about this, then fine because I have a positive view of many others out there on the intertubes.
As a warning, please remember this: nobody’s perfect, everybody has opinions, personal style should be respected, and getting the job done and getting along are very important. Thanks to all those who have taken the time to help or chat with me. I hope to be as helpful in return or to others.
Here’s a little cred to some of the many who deserve it:
There are more. I just wanted to make the point there are plenty of good devs out there.
blog comments powered by

Disclaimer
I have some personal admiration for the dedication and aesthetics of ninjas and samurai. I just find the pirate embodies more of the values I embrace. That’s not to say their history and brutal practices, but rather the liberty, individuality, and creativity are things to admire and even strive to. In the real world, this also means adhering to common sense and morality. Actual real pirates are generally horrible people lacking a moral compass. From here on out, I mean the idealism embodied by a pirate and not the scoundrel.
Liberty
A pirate is a free individual; unbridled by any man or government. Ninja’s are servants who exist to obey their master. Liberty is the first and most important value of a pirate.
Creativity
A pirate is resourceful and creative in solving problems. Always looks for new and better ways to attack a problem. A ninja is dependent on practice and aesthetics; his approach to any problem always comes from tradition.
Responsibility
All pirates take and are held responsible for their actions. If not on their own then by their crewmates; or possibly by their captures. Responsibility can be painful, but leads to greater success. A ninja is traditionally bound to hold themselves responsible or be shamed. The modern, westernized ninja does not adhere to this. Instead he shuns responsibility and simply moves on.
Decisive
A pirate makes decisions and takes actions. Even serving on a ship under a captain is the explicit choice of the pirate. No pirate would ever willingly live in compulsory servitude, and would fervently rebel against any loss of liberty by compulsion. The ninja lives to obey and lacks or has limited free will of his own. A ninja without orders has no direction. A pirate would take the lead if no one else does, or he is no longer satisfied with the current leadership.
Conclusion
Life, Liberty, and the pursuit of happiness are the way of the pirate; to which I add a moral & ethical compass. These are the American ideals, and the values I embrace. These ideals lead to personal and professional success, and is beneficial for both the individual and the community. It would greatly benefit many people and humanity as a whole if more people embraced the pirate way. The ninja way is content with dictators, fascists, and socialism; things that oppress people and limit both freedom and happiness. Therefore, pirates > ninjas!
blog comments powered by
I started thinking, again, about writing my own blog engine ever since Rob Conery threw out the challenge. He’s followed through on that himself too. My excuses are pretty simple and real: Don’t have the time and have too much other non-paid work already. Still, I keep thinking about it because I’m not completely satisfied with blogengine.net. It’s a fine blog engine, but it’s doesn’t integrate well with the rest of this site. Also, I’d like to see something handled differently; more that I could do by contributing to the project.
The thing is, it’s not really that hard to build a simple blog engine. As with anything, I’m sure it takes a little more to make it really good, but it’s just not that hard.
Think about it.. what entities do you need assuming this is database driven? Users, Posts, Comments, Categories, and some settings. You’d probably want a built in post editor; there’s also the fairly simple Metaweblog api which would let you support Windows Live Writer. I’d suggest supporting future posts; that’s just checking the publish date before showing a post. Support saving a post as a draft is simple too. It only gets more complicated with extra features like full-text searching, or roles for multiple authors.
So if someone just started a project, used FluentMigrator to manage the schema, and Fluent-NHibernate to wire up the models.. well.. you’re a fair ways to creating your own blog engine. Oh, and use Free Text Box for the built-in html editor to make it easy. I’m not necessarily going to do this; just thinking out loud.
blog comments powered by
I’ve thought Rob (twitter) does an excellent job with screencasts, and apparently I’m not alone. In fact, Rob has started with James Avery (twitter) a demo/training/video site called TekPub.com. Check it out. It’s built with Silverlight and ASP.Net MVC. No surprise there.. Rob recently co-authored an MVC book. Good luck to them both.
Oh yeah.. here’s a preview with a screencast on Git. Definitely check that out!
blog comments powered by
Just a quick announcement.. Desert Code Camp is on November 7th, which is really soon. Go check out the sessions to see if you want to attend or teach any. It’s reportedly a great event, especially for those local to PHX.
blog comments powered by
I’m in the crunch zone for a project so posting has been infrequent. In lieu, please read up on SubSonic 3, which was just released. I have plans to use it in something I’ve had cooking for a while now, and is going to get re-made.
Also, Nate Kohari is officially awesome. Congrats.
-j
blog comments powered by
Domain expertise has a great value especially in development. In fact, it can be crucial for success. It also has a downside. When development becomes so engrained in the prevailing culture, it becomes easy to continue and even encourage bad habits.
Inevitably, a certain way of doing things will evolve during a product’s lifecycle. It becomes are part of the culture, and is learned and repeated by new developers on the project. In knowing a codebase, it is far too easy to think in the same manner. The path of least resistance is sometimes the only one you see, and even when it’s not you may not feel you have the time to change. The way its been done already is too deep to change in time for your next release.
Been there. Done that. Many times.
I advocate TDD for many reasons. Clarity, maintainability, and adaptability being among those. Sometimes I see code and have to wonder what in the world was the author thinking. Not just because of style or buggy-ness, but code that literally looked like it shouldn’t work. Plenty of times, seen uncommented code which was as clear as mud.
Avoiding the rut while becoming a master of the domain isn’t easy. Unit Testing is a good way to do it. You’ll learn while coding and develop clarity in the codebase. Additionally, you will be setting the stage for better habits and maintainability in the future.
Roy Osherove has a .Net Unit Testing book, which was just published. It would be a good way to learn more about Unit Testing. It’s on my reading list.
blog comments powered by