Subscribe: General
http://ryanfarley.com/blog/category/7.aspx/rss
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
back  blog  browser  data  day  developer  file  google docs  google  home  new  person  site  things  time  work  xobni 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: General

General



General



Copyright: Ryan Farley
 



Using Google Docs as an Online Database

Fri, 24 Sep 2010 08:15:23 GMT

From time to time I throw a website together for some temporary purpose. The website collects some data from users and I need to make this data available for whoever I put the site together for. A perfect example of this is a website that I put together for my wife for some craft making event. She needed to allow friends to place orders for various craft activities so she knew what materials she needed to order. She needed to be able to see these orders as they were placed. For a website like this, my goal is to do it with as little effort and as quick as possible. It's for a temporary purpose anyway. A great way to do this is to use Google Docs as the back end for storing the data. Some of the immediate benefits of using Google Docs rather than a database are: No need to use a hosting account that supports some database or document storage No need to create any tables or schema of any kind as well as a data model I can still build my own nice looking form & webpage I don't need to build anything to view the collected data. This is the best part. In the scenario I mentioned about building a craft ordering website for my wife, I can create the spreadsheet right in her Google Docs (I could also create it in mine and share with her). I can use built in features in Google Docs such as having it e-mail me when changes are made to the file (or as a daily digest). I could notify my wife of orders without writing any code to do so. Now, with a spreadsheet on Google Docs, you do have the ability to make quicky forms, like you do in Access, but that is not what I am talking about here. In my scenario, I am using a Google Docs spreadsheet simply as a back end database for holding the collected data. I still want to make my own ASP.NET webpage & form, I just don't want to have to deal with the "data" itself. Writing the code using the GData API is not that hard. It's really pretty easy. However, I came across something for this sort of thing that does make it even easier. There is an open source project on github by Mauricio Scheffer called GDataDB. This is a library that makes inserting, updating, or retrieving data or any kind in a spreadsheet on Google Docs just as easy as using a database repository. Incredibly easy. Take a look at the GDataDB repository on github Here's how GDataDB works. You basically just create your own POCO objects to hold your data. Then GDataDB will handle the rest, including the creation of the spreadsheet if you want it to. Let's consider this "Person" POCO that will represent the data I am collecting: public class Person { public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } public string Phone { get; set; } public DateTime DateOfBirth { get; set; } public int NumberOfKids { get; set; } } Now, I can use this object to add the data like this: //using GDataDB; //... // create the DatabaseClient passing my Gmail or Google Apps credentials IDatabaseClient client = new DatabaseClient("user@gmail.com", "password"); // get or create the database. This is the spreadsheet file IDatabase db = client.GetDatabase(MyFileName) ?? client.CreateDatabase(MyFileName); // get or create the table. This is a worksheet in the file // note I am using my Person object so it knows what my schema needs to be // for my data. It will create a header row with the property names ITable table = db.GetTable(MySheetName) ?? db.CreateTable(MySheetName); // now I can fill a Person object and add it var person = new Person(); person.FirstName = "Ryan"; person.LastName = "Farley"; person.Email = "me@me.com"; //... table.Add(person); Pretty easy stuff. Locating a row for editing is just as easy. Lets say using the same Person object I want to locate an existing row based on the Email property and if it exists I want to update that row, otherwise add a new row. //using GDataDB; //... IDatabaseClient client = new DatabaseClient("user@gm[...]



Sign a .NET Assembly with a Strong Name Without Recompiling

Sat, 24 Apr 2010 06:46:27 GMT

Signing a .NET assembly with a strong name is easy in Visual Studio. However, what if this is a 3rd party assembly and you don't have the source?

For me, I have an application that has a requirement that all assemblies are signed with a strong name. One of the assemblies I am using is RestSharp. I like to contribute to RestSharp and I didn't want to modify the project file to sign the assembly as I didn't want that to go back to the repository when I had some changes to contribute.

Not a problem. What I have is a batch file that disassembles the DLL to IL and then reassembles the IL back into a DLL and includes my key file. This way I get to keep the original DLL for projects that I don't need the assembly to have a strong name and a separate one that is signed with the strong name for the projects where I need that.

Here's what I did:
  1. In the Release build folder I created the following:
    • The key file (create using sn.exe -k MyPublicPrivateKeyFile.snk)
    • A subfolder to contain the signed assembly, mine is named "Signed"
    • A batch file (see below)
  2. Create a batch file in the Release folder named "SignAssembly.bat" with the following contents:
del .\Signed\RestSharp.* /F
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ildasm.exe" .\RestSharp.dll /out:.\Signed\RestSharp.il
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe" .\Signed\RestSharp.il /dll /key=.\RestSharp.snk /output=.\Signed\RestSharp.dll

pause
The first line deletes any previously signed assembly. Second line uses ILDASM to disassemble the DLL to IL in the "Signed" folder as RestSharp.il. The third line reassembles the IL into an assembly using ILASM and tells it to use the IL file and the key file. That's it.

Now, whenever I do a new release build, I just run the batch file and I have a signed copy to use, and I did it without changing the project file to do it.(image)



A Developer's Look at Xobni

Fri, 24 Jul 2009 05:20:47 GMT

I've used Xobni off and on since it was first released and over the last few months it has stuck with me and I've become completely attached to it. With some of the initial releases it struggled with performance however, recent versions no longer have that problem. It performs well and doesn't seem to chew up resources. Best of all, it has become so smooth, so magical in what it does and how it does it, that as a developer, I have come to believe that the Xobni developers are true wizards, crafting their spells of awesomeness on their product. So, it is with the viewpoint of a developer that I review some things I really like about the current 1.8 version of Xobni. If you've not yet tried Xobni, take a look at it at Xobni.com As a developer, I have complete respect for good, well designed, and nicely written software. I love it when software does something that amazes me and I just have to know how it does it. There are many things about Xobni that are pure magic. First of all, it is such a great concept that is amazingly executed. Not only that, but I develop Outlook addins as well, so it is cool to see something done so nicely that I can really learn from. Here are a few things that I just love about Xobni. (click for larger view) 1) .NET Application This one doesn't "wow" me or anything, but there is something that I love about nicely done software using my technology. I am a .NET developer and I love .NET, so gotta give props to Xobni for it :-)  - now onto the more important stuff. 2) Lightning fast speed One thing nobody can disagree with. Xobni does what it does super fast. I have a lot of e-mail in Outlook, going back 10+ years (a lot of it archived). My PST is several gigs in size. So when I see Xobni instantly return my search to me, with the right results no less, it is a thing of magic. 3) Social networking wizardry that makes me envious In just about every app I do now days, I am always looking at building social media into it. I love the idea of merging a person's online profile/persona with the data you've collected about a person. What cooler way to get the complete picture of a person and know what is going on with them. Working in CRM (Customer Relationship Management) the social-CRM concept, in bringing a person's social data into CRM is something that everyone wants. However, it is not an easy job. If you have to ask a sales person to look for, collect, and enter someone's Facebook profile ID, Twitter account name, LinkedIn profile URL, etc, it will NEVER happen and your efforts to merge in that data will be wasted. That is what is so amazing about how Xobni integrates with social sites like Facebook & LinkedIn. Somehow, it just knows. I've never told Xobni any of those details, yet it always seems to get it right, displaying Facebook and LinkedIn details about people I receive e-mail from and they merge all this together. You might be seeing a picture of the person from Facebook and the company name and title from LinkedIn. I will tell you it is down right spooky. Do they have access to some super-secret API? Perhaps. But if they do that is a work of genius on its own. But if they don't, then the Xobni devs are true wizards and I am not worthy of their craft. They obviously have some secret sauce here - and I want it. I've spent countless hours trying to reverse-engineer and figure out or replicate how they do what they do unsuccessfully. I bow to their superior intellect. 4) Magical data mining across the internet I discovered something about Xobni. It appears to mine data from places you woudn't expect. One of my websites sends out e-mails from forum posts. I noticed that Xobni was displaying a phone number for that e-mail address and I knew right away that it wasn't a phone number, because I recognized it as a ticket or case number that was displayed on that website (but it does "look" like a phone number). The only way Xobni could have gotten that number is to perform a search for the e-mail address using Google/LiveBing/Whatev[...]



ClickOnce Application "This operation is only supported on Windows 2000 SP3 or later" Error

Wed, 29 Apr 2009 00:45:44 GMT

I have a ClickOnce app in production and a support case was opened where the ClickOnce installer was producing the following error:

"This operation is only supported on Windows 2000 SP3 or later operating systems."

The weird thing is that the computer this error was happening on was Windows XP Professional SP2. So what gives? After a lot of heartache and tears :-p the solution eventually presented itself. The app was attempting to run in compatibility mode. In the case of my ClickOnce application, I had a WinForms app that was a launcher. It would spawn an IE process and navigate to the ClickOnce install URL. On this particular machine this WinForms app was set to run in Windows 2000 compatibility mode so it was launching the IE process in the same compatibility mode.

(image)

I have no idea how the compatibility mode was set on the WinForms app. The user of this computer does not seem capable of knowing how to set this. However, once unchecking the compatibility mode all was well again. This would likely effect any .NET application, not just a ClickOnce application. But it caused me enough grief that I had to post the solution.(image)



Browser Performance - What's Changed with Chrome in the Mix?

Wed, 03 Sep 2008 18:11:08 GMT

This week Google released their new browser, Chrome. There has been so much buzz about it that it's been deafening. It is seriously amazing how passionate people get about a browser. But let's face it, a browser is likely what most people use more than any other software on their computer now days. I spend so much of my time online. Performance is important to me, just like anyone else. Since Chrome's release, I've spent some time reading performance metrics in an attempt to see past the marketing hype, and I've been pleased with what I've found. Not specifically with Chrome, but with the improvements across the board with many, but certainly not all, browsers. First off, let me get this out of the way. I've used Chrome, but I am not sold on it at all. It lacks many features I find critical, or at least useful, in a browser. I am not a GOOG-fanboy and I typically don't care for many things that Google puts out, aside from search. I'm not on that "anything that Google does is gold" bus. I do, however, love Firefox. It is my browser of choice for many reasons, but mainly because it performs well and I love the extensibility of it with addons (not to mention the huge community around addons out there, you can find about anything to make the browser work the way you want it to) This all started when a consultant I work with sent me an e-mail discussing how a particular web-based CRM application that I work with performs so much faster using Safari. This consultant would demo this software to clients using Internet Explorer and the demos would never go too well. Everything would appear a bit slow and sluggish. This particular web-based CRM application is a bit heavy on the client, using Ajax for about anything that happens in the browser. One day he decided to test out some other browsers and was amazed at how much faster this application performed using Safari. When he let me know his findings I ran some tests between various browsers with this CRM application and was astounded by the results. The performance of the application with Safari was a clear and noticeable improvement over other browsers I tested with. I was amazed at how drastic the performance improvement was. It was an obvious improvement, even without sophisticated tests, as an end user you could easily see the difference. This eventually led me to a new post today by jQuery rock-star John Resig. This is an extremely insightful post, and like anything from John is very factual and presents the information in a very non-biased manner. John performs tests on the Javascript processing engines in the mainstream browsers (IE 7 & 8b2, Firefox 3.01 & 3.1, Chrome, Safari, Opera, etc). The article is well worth the read, especially for any users still using IE. I've never been an "IE basher" in any way at all, but these facts do speak volumes on the lower quality experience you might be seeing on the web if you're an IE user. Chart from John's rundown - I'd highly recommend reading John's post (link below). John Resig's JavaScript Performance Rundown While Chrome is based on WebKit (the same open source browser engine that behind Safari), it uses Google's own Javascript engine V8, which is also open-source. John's test show some big performance "oohs" and "aahs" for Chrome, which is very nice. However, and this is my Firefox bias showing, that V8 will only lead the game until Firefox 3.1's TraceMonkey hits the streets. Another set of tests from Lifehacker show that Chrome wins (when compared to IE8 and Firefox3.1 betas) in browser startup time only (which I don't care so much about since I don't often close my browser), while Firefox performing better or at least the same in other tests for memory usage and Javascript & CSS processing. It's also worth noting that IE8 is still performing behind the two on all tests. Overall, I think it is overwhelmingly great that performance, for my most utilized application, has become such a important metr[...]



Why I Am No Longer Supporting IE6

Tue, 19 Aug 2008 01:17:09 GMT

In the recent relaunch of this site, I created a new custom skin for Subtext. Since this is just a personal site, I threw things together fairly quickly, testing along the way with Firefox3 and IE7. Once I was getting closer to complete, I took a look at my new site in all the usual browsers, including IE6. Ugh, it looked terrible. I gave it some thought and made some decisions about supporting IE6. I'm not going to support it. Not on this site and not on others that I have a say in. I'm not talking about leaving my site unusable for IE6 users - they just won't get as good of an experience. I'm not alone with this decision. Read on to see why I am no longer supporting IE6. As I mentioned above, I'm not talking about leaving the site inaccessible or unusable for IE6 users. I completely understand that there are many corporate machines that are held back by IT restrictions & policies where IE6 is the only choice. I'm not talking about making my sites inaccessible to these users, or even those who just don't upgrade due to their own ignorance. However, I'm just going to choose to no longer dumb-down my sites to support them. They'll be able to access my sites. They just won't have as good of an experience. I know that this sort of decision cannot be made about all sites. It's a smart idea for major public sites to be able to fall back to IE6 support if needed. Most of my sites are focused on the developer, either in the form of a blog or a community site. Knowing that this is my audience I feel completely justified in not supporting IE6 and focusing only on more current browsers. When redesigning my new site, I intentionally used PNG images with transparencies among other things that I knew wouldn't look cool for IE6 users. I'm OK with that. I don't think that is me being "elitist" or anything, again the audience for this site is developers - although there is still a disturbing percentage of the traffic that is using IE6. Letting IE6 Users Know What They Are Missing OK. As I mentioned, IE6 users can still read everything on this site. Things are way too spaced apart and many dividers are not where they are supposed to be, but things are still quite readable. I don't want these users thinking that this is how my site is supposed to look. Come on, that would be embarrassing. Instead of fixing it however, I've decided to add a little item to the header area of the page to let them know that "I know the site looks like crap, it's because of your browser". Users who come to this site using IE6 will see the above and can come read more on this post. I'm completely on-board with Mad Kristensen's post creating better experiences for your visitors, I'll just be focusing on creating a better experience for the users with more modern browsers. What's Wrong With IE6? This is a development blog, so I shouldn't have to explain this to anyone here, but off top of my head (this is a small part of a very large list): Lack of support for current standards for HTML markup, CSS, etc Support for non-standard features not compatible with other browsers No PNG transparency support Released in 2001, we've completely moved beyond everything about IE6. This is a browser that PC World rated one of the worst tech products of all time. How Long Will Developers Have to Continue Supporting IE6? At some point, we'll all have to be OK with putting and end to adding support for IE6 in our sites. 37Signals dropped support for IE6 in their products last Friday, Aug 15th. I've decided that for my sites, the time is now as well. If you'd like to end supporting IE6 in your sites as well, all you have to do is focus on developing for newer browsers. Let the site suck for IE6 users IMO. To let them know that "you know it sucks and they should upgrade", SaveTheDevelopers.org has a nice little Javascript you can add to your site to drop down a little message on the top of your pages that encourages [...]



The Work-at-Home Developer’s Guide to Happiness

Sun, 03 Aug 2008 07:30:32 GMT

As a long time work-at-home developer, I’ve come to realize over the years how important it is to have the right work routine and balance to remain happy in both your professional and personal life. I’ve worked from my home 100% of the time for the last 6-7 years and had often worked from my home in spurts before that. Without question, it requires the right mindset and dedication. There’s an upside as well as a downside to working from home, but with the right routine you can be successful at it. There are a lot of people who telecommute. In my case, I don’t even live in the same state that my company is in. My company is a Minnesota-based consulting company, but I live in Arizona. I work with my development team remotely. We’ve gotten really good at working online together via conferencing and sharing in-between our in-person visits. I completely love working from home. I feel it gives me the opportunity to be more involved in the lives of my kids, not to mention how great it is to have lunch with my wife every day. No commute, gotta love that. It provides me with opportunities in my personal life that I wouldn’t get otherwise. The downside? It’s a big one. The lack of face-time and interaction with other developers can be extremely difficult. If you’re not careful, your work life can bleed over into your personal life to the point where it feels like you’re working all the time. No matter how much you like your work (and I love mine), that can get to anyone. The following things work for me. They might not work for everyone, but regardless, find something to give you the right balance in your life so you can maintain a productive and meaningful work life and a happy home life. 1. Establish Your Work Mode Get up and get ready for work. When you know you’re not going to be seen by others it’s easy to just roll out of bed and wander into your office. For me, it helps me to get into "work mode" if I make it something I actually take the time to get ready for. Take a shower and get dressed for the day. Sort of like a ritual that puts your mindset in-line with what you’ll be doing. I try to start my work day at the same time. Make it an official time to get focused. Notice I refer to this as "work mode", not "work time". As a developer, I think it is OK to be obsessed about what you do. I mentioned before that a good developer is one that has passion for the craft. That’s OK. It’s OK that we spend more than our 8 hours a day focused on writing code. It’s who we are. However, you still need that formal time to get your head in the game and be productive for the code you get paid to write, just as if you were heading to an office. I like to also have an official end time, although this is my official end time for work mode. It’s my end of work day. I leave my office and get my family time. Help the kids with homework and spend time with the family. Later, I’ll return to my office to write more code and geek out some more, but this is just play mode. I’ll allow myself to get distracted and do something I wouldn’t normally have the time to do like learning some new thing just for the fun of it. 2. Make Time to Get Out Of the Office/Home You no longer have a commute. You no longer get that time to drive home and let your mind unwind after work.  You don’t get to go out into the big room (I think they call it "outside") and see the sun. Make a point to get out of the office on occasion during the day. I like to take my 2 year old son during the day and walk to the mailboxes and get the mail. I try not to keep some things like soda at the house so if I feel like one I run to the convenience store. Taking breaks is a good thing. I can’t tell you how many times I’ve been stuck on a problem, so I get out of my office, go stretch outside and come back. My mind reboots and I am thinking clear again. I feel refreshed. Don’[...]



Becoming a Better Developer

Wed, 30 Jul 2008 07:52:03 GMT

I mentioned before about my return to blogging on ryanfarley.com and my renewed passion for programming. I've found myself moving from blog to blog reading things that continue to inspire me. I read a post from Justice Gray, titled "How I am becoming a better developer, part 1 of infinity", that was mentioned on an episode of Hanselminutes. This was a great meme, and although I'm late getting to the table, I wanted to post some thoughts I have on becoming a better developer as well as some goals that I've made for myself. The following list are some things I am doing to become a better developer: 1. Find/Rediscover Your Passion I've always believed that to be a great developer you have to have the passion. What is passion? You know, it's that itch you get as you sit on the couch with your wife (or your husband) watching crappy reality TV and you can't break your thoughts away from sneaking off to write some code. It's that desire you feel to know all there is to know about your language, the framework, emerging new technologies, etc - just because it is fun to know it. It's that code that is always in your head, just dying to get out. You're not content with put in 8 hours a day writing code, you just have to find that extra time to do it just because you enjoy it. So, how do you rediscover that (or find it if you've never had it?). I think the rest of this list will help with that. I'd recommend starting with Hanselminutes show #72, Be a Better Developer in 6 Months. Then, make some goals for yourself. My goal: Keep doing the rest of this list to keep the passion. At the end of the year, add new goals.   2. Remove Distractions There's always things to get in your way of improving yourself and staying focused on your goals. If you work at your home, like me, turn off the TV, shut the office door, establish a "work mode" that separates itself from "home mode". I find it helps to turn off notification sound from Twhirl (or whatever Twitter client you use) as well as other distracting notifications. I found that my eyes would automatically shift to the bottom right corner of my monitor every time that "ping" sound would occur. I think part of "removing distractions" involved establishing routine to some degree. Instead of doing things like going through subscribed RSS feeds periodically throughout the day, disrupting your focus on real work, have a set time at the beginning of each day to catch up on that reading. Then you can stay better focused the rest of the day.  My goal: Keep the TV off. Make work time a little more "formal" to stay focused. Establish a work mode routine and stick to it. 3. Listen to Podcasts & Read Blogs A long while back, I would listen to DotNetRocks, but I stopped and that time got replaced with other things. After hearing about the start of the HerdingCode podcast on Twitter, I ended up giving it a try and loved it. I was feeling interested in the topics they were talking about and found myself wanting to dig into the topics discussed after the show. It was great. I've known of Hanselminutes for quite some time from Scott's blog, but never really gave it a try. So, I threw a bunch of episodes of that and DotNetRocks on my Zune, as well as the Deep Fried Bytes podcast that was starting up around that same time. The result was not exactly what I expected. I was expecting to enjoy listening to these, but it ended up in more than just that. I was feeling inspired. I was feeling excited and couldn't wait to jump into whatever the topic was for the show. Maybe the reason why I thought it was so great is because I do work out of my house. The rest of my development team lives in another state. Being able to hear development related discussions like these is just not the sort of thing I hear around my house (but we're working on that, hehe). The same can be said for reading blogs. There is always j[...]



How I Got Started in Software Development

Tue, 29 Jul 2008 09:02:08 GMT

A meme that has been circulating lately online with .NET developers that I've enjoyed reading asks how you got started in software development (started by Michael Eaton). I just got through reading posts on this meme from Phil Haack and Joel Ross, so I decided to post my own story. How Old Were You When You Started Programming? Let's see, I was probably 10 or so when I first got turned on to the whole idea of "code" that made things work on a computer. My dad brought home an Atari 800. This was a different machine than the typical Atari console. This was one with a keyboard of all things. It didn't even come with a joystick. It had a whopping 1.79 MHz Rockwell processor with 48K RAM. Really, who could handle such power? It had a 5.25 floppy drive, which I never used as much because it was too limited in size. Instead, it also had a cassette deck that I would use to load up cassette tapes with games written in BASIC that I would exchange with some friends of mine who also had Atari 800 computers. The thing about the 800 is that it didn't necessarily have a Microsoft flavor of BASIC and instead had an Atari home-grown version of BASIC. Anyway, I had to learn how to run these games that I had on my cassettes that were basically all Atari BASIC source code. I ended up figuring out I could open those files and spent many afternoons reading through them and making tweaks to make the games more interesting. I'd then load it up on a cassette and deliver the modified games to my friends. What fun. How Did You Get Started In Programming? Well, I was always fascinated with computers and loved the days of tweaking Atari BASIC games, but the need to attract the opposite sex took over and I picked up the guitar. Let's face it, Nerds back in those days were....just Nerds. Not like the way things are today. The fact that I could read BASIC code did nothing to impress girls. Playing the guitar on the other hand, that was the ticket. So, I focused on my artistic side and grew out my hair. I didn't do too much on computers until I was a Sophomore in High School and took a introduction to programming class. It was really supposed to be a basic "computers" class, but the teacher was a real nerd and turned it into something that would allow those who wanted to geek out to focus on programming. Keep in mind, this was only about 1984, so programming classes were not that common. I hadn't really done anything like that since my days on the Atari 800, and I remembered how much I loved it. I spent a lot of time with that teacher and learned a lot of how to write basic constucts, all still in variations of BASIC. Still, my artistic side was more interesting to the girls, so I kept that as my focus. I started college as a Graphics/Art major. Eventually, that changed to Computer Science and I've never been happier (by this time, computer geeks were no longer the dorks with tape on their glasses). While in college I got a job with CellularOne. It wasn't a "real programming" job, but the company didn't really have anyone in IT who knew how to program. Most of my department's processes we're crazy long and redundant. I ended up spending most of my time on that job writing scripts that ran through AIX sessions to improve the business process and automate tasks. That started to consume too much of my time as other departments would start asking me to write scripts for them as well. In the end, I got fired for it. Instead of doing what I was hired to do I was spending all my time on the job writing scripts for many departments in the company, even for IT. Needless to say, getting fired for that was just the confidence boost I needed to go find a job where writing code was my job function. These answers are getting long, I might never finish this. I better pick up the pace. What Was Your First Language? Atari BASIC, if you can count that. [...]



The Relaunch of RyanFarley.com and How Twitter Helped my Career

Sat, 26 Jul 2008 00:29:28 GMT

I've neglected this blog for quite some time now. Wow, it's been a while. I decided it was time for a relaunch. So, I've migrated the blog to Subtext (I stayed on .Text long after the project was dead) and have a shiny new look and feel. I figured if I put some time into the blog skin then I'd be more likely to keep posting.

For a while now, I've kept up my CRM related blog (See crmdeveloper.com), but I keep that blog focused on CRM related topics. This blog will continue to be on .NET development and software topics as it was before. I'm pretty pleased with my new blog skin. I tried to stay away from the shades of slate blue and gray that I usually fall back on, although I guess I just couldn't shake the gray :-)

Here's a comparison of the look of my old and new blog:

(image)      (image)

I thought the old look was getting a bit stale, very XP hehe. Any feedback on the new look?

So why the change and the renewed desire to blog? Honestly, I attribute it to Twitter and some great podcasts. A while back I decided to give Twitter a try (see twitter.com/ryanfarley). At first, I completely didn't get it. Once I got subscribed to some people to follow that interest me, that all changed. I felt like I was listening in on conversations between people I consider great in the industry. People like Jon Gallaway, Phil Haack, Scott Hanselman, etc (to name only a small few). I actually started to feel inspired by these short <140 character tweets. Then I started listening to podcasts (again, inspired by the activity on twitter) such as HerdingCode, Hanselminutes, Deep Fried Bytes, and started listening to Carl Franklins DotNetRocks again (I used to listen but stopped as some of Carl's co-hosts changed). The result? I felt completely inspired and excited to be a programmer. It was just awesome. Not that I've not liked being a programmer. It's what I am and I love it. But sometimes you fall into work routine and you loose a bit of the passion. I feel completely pumped up again, and I basically owe it all to Twitter. Yes, a bit strange.

More to come...(image)