Wednesday, December 19, 2007

Twitter & Pidgin

What is Twitter?

Twitter is a tool designed to answer one question "What are you doing?" Some call it "micro blogging" or "blogging for the ADD," but I like to think of it as a global chat. It's a way for you to keep up with others, get to know people, and expand your network.

The concept is:

  • You sign up.
  • You follow people and read their "tweets" (a message on Twitter).
  • People follow you and read your tweets.

What is Pidgin?

Pidgin, formerly known as "Gaim", is a multi-protocol Instant Messaging client that allows you to use all of your IM accounts at once.

For example, if you have a GTalk account, you can use Pidgin as you IM client.

<Random side story>
For a long time I used Trillian and my multi-protocol IMer but certain features you have to pay for, like XMPP. At the same time I was looking for a portable IM'er (I'm a portable app
nut, but that's for another post). Then I came across Pidgin Portable and I was sold. (Later "Unofficial" versions can be located at Vane Parole)
</ Random side story>

Where the two shall meet!

In Twitter under "Settings > Phone & IM"

Twitter can send tweets to three IM account types that support XMPP (GTalk, LiveJournal, Jabber).

A couple of pitfalls.

Twitter only allows 140 characters on each tweet. Pidgin, out of the box, doesn't count characters. However, you can add the Character Counting plug-in.

If you have an away message up, and you get a tweet, Pidgin will auto tweet back with your away message.

Final Thoughts

I think the combination is quite nice. There are richer Twitter clients out there, but for what I need Pidgin serves me well.

Come children, follow me into a brave new world of communication, and addiction.

Thursday, November 29, 2007

Monday, October 22, 2007

Treat an Excel Workbook like a database with Visual Studio

I've been doing a lot of work with MS Excel 2003 lately. Specifically, I'm using it as a data source for an application. I recently learned Visual Studio 2005 can connect to an Excel workbook and treat it like a database. I thought I would share my findings. Here's how it's done:
  1. Open Visual Studio 2005, and bring up the "Server Explorer" (View > Server Explorer)
  2. Next, click the icon to "Connect to Database"
  3. Choose "Microsoft Access Database File" as your data source
    1. We choose this because we want the .NET OLE DB Data Provider
  4. Click "OK" to get to the "Add Connection" dialog
  5. Browse to your Excel file
    1. You'll need to change your "Files of type" from "*.mdb" to "*.*"
  6. Next click the "Advanced..." button in the "Add Connection" dialog
  7. Locate "Advanced > Extended Properties"
  8. Paste in "Excel 8.0;HDR=Yes;IMEX=1"

    According to www.ConnectionStrings.com:

    "HDR=Yes;" indicates that the first row contains column names, not data. "HDR=No;" indicates the opposite.

    "IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.

  9. Click "OK" for the "Advanced Properties" dialog
  10. Click “Test Connection” to verify if you have everything set up correctly.
  11. Click "OK" for the "Add Connection" dialog
  12. You're all set, your Excel file should now appear in your database list.
You can now run queries on your Workbook.

Monday, September 24, 2007

Friday, September 7, 2007

Links Added

News I've added new sections to my blog Blog Roll (Developers) Blog Roll (Resources) I hope they prove useful to some .NET developers out there. (I know they've helped me out.) Random Thoughts Cheers, Justin

Friday, August 3, 2007

My Second, "Getting the Most from Version Control" Presentation

Introduction This time I gave a presentation at The Dayton .Net Developers Group. For those that attended, my materials are now available for download. Compared to the first presentation, this one focused on Subversion less, and more on general practices. That was something I feel needed to be improved from the first meeting. For those that attended the first presentation you might want to look at my new materials, I completely overhauled my slide deck. My demos were much less this time, and my last one bombed. But I promised to list the corrected steps here, so stay tuned. What did I learn? A big difference between this demo and last is I didn't use svnserve. TortoiseSVN (TSVN) can use the "file:" protocol to connect to local or UNC repositories. (I found it in "4.1.3. Local Access to the Repository" of the TSVN documentation.) That's great news for those people out there what want to get started quickly, TSVN can do everything you need. There was a request for a demo that involved VS and .NET projects, which I'll be sure to add if I do the presentation again. Final Thought All in all, the feedback was very positive. Thanks to all of you for your kind words, and if you have any comments please list them here, or on the forum at the group's website.

Tuesday, July 10, 2007

"In Plain English"

I was surfing the other day, and came across these tutorials. So simple, even a caveman would understand. (My apologies to all cave dwelling people.) Social Networking in Plain English RSS in Plain English Wikis in Plain English

Thursday, July 5, 2007

What the web is becoming, and should be...

This video holds a special place in my heart. I <3 the Web!!!

Microsoft Certified Technical Specialist

Since June 08 2007, I'm a : Microsoft Certified Technical Specialist: .NET Framework 2.0, Web Applications I'm one step closer to becoming a MCPD: Web Developer Now, the next trick is figuring out how to fit my new title on a business card.

Thursday, May 31, 2007

My first, "Getting the Most from Version Control" Presentation

Introduction For those of you who aren’t aware I gave a presentation at the Day of .NET in Ann Arbor MI. My Presentation was titled “Getting the most from Version Control.” I think it went pretty well. There was a wonderful turn out, and a lot of great questions and feedback. I want to thank all of you who attended. I hope you enjoyed my talk and you got something out of it. Please attach your comments about my presentation to this post. I would love to hear from you. Let me know what you thought, and how I could make the presentation better. My presentation materials as available on the Day of .NET website. If you want to try to demo’s out for yourself place start with “Demo\Script.doc” What did I learn from this experience? Confusing sections of my Presentation that I should make clearer.
  • Add coder’s (Mike, and Sally) involvement to the “Brief history of time” slide
  • Update the abstract to mention a focus on subversion
Ideas for content to be included in the presentation.
  • Why programmers should group their changes into small logical changesets.
  • How a good version control system can change coding style and make code less bloated.
  • Stress the value of commenting commits
During my presentation, I answered a few questions. What is the name of the tools you used in your demo? Subversion (SVN) is the version control system I used to create and host the repository. AnkhSVN is the name of the Visual Studio Add-on. This little open source tool has come a long way, it still has a couple bugs here and there but I’m finding it to be more and more reliable. However I like to keep TortoiseSVN installed as a backup. TortoiseSVN (TSVN) was the windows explorer plug-in is used to perform Adam’s administrative tasks. TortoiseSVN is open source, and has helped me fix any I’ve had with my working copies. AltDesk is the multiple desktop software I used to switch between the screens of Mike, Sally, and Adam. I use AltDesk on a daily basis and would recommend it to anyone interested in multiple desktop software. It’s light weight fast, and flexible. Can Subversion be hosted over a network? Yes, if you want to host SVN over a LAN the easiest way is to use svnserve.exe like I did for my presentation. You can see how this was done in “Demo\Resources\1 Serve Repo.bat”. One nifty trick you can do is set up a “Scheduled Task” to launch svnserve.exe whenever the computer starts, this way someone doesn’t have to be logged in to the server to run svnserve.exe. Another option is to host SVN internet. Apache has great support for this , but my experience in this setup is limited. I work in a team of 5 would you recommend subversion? Yes. In fact, I would recommend subversion even for a team of one. What do I need to setup subversion for myself? At the bare minimum, you will need the Subversion binaries. I have an example of these in demo. Aside from that you can use the more advanced tools listed above.

Monday, April 23, 2007

Using Firefox for ASP.NET Development

Introduction Aside from Visual Studio, FireFox is my most valuable tool when it comes to web development. Over the past couple of years I've come across a few extensions that I find very useful. So with this post, I wanted to take a moment and share with you the FireFox add-ons every .NET developer needs. The .NET Essentials FFClickOnce If you ever plan on programming smart client applications which use ClickOnce deployment, this is a needed add-on. Without it ClickOnce installation through Firefox is nearly impossible. IdentitySelector For those looking to implement CardSpace into their website this is an nice add-on to have. It allows Firefox to load the CardSpace Manager for websites requesting CardSpace identification. Web Developer Essentials Web Developer Tool Bar A fantastic tool for manipulating browser features to test or debug web pages. Want to change a cookie? Sure! Disable Javascript? No problem! Resize the browser window to be 800 x 600? You got it! I'm just scratching the surface, with the WebDev Tool Bar you can force your browser to behave almost anyway you want it to. Selenium IDE A great tool for creating automated scripts to test your web interface. The concept is very similar to Watir. However, I prefer selenium because the test files can be used to test "most browsers".
  • Windows:
    • Internet Explorer 6.0
    • FireFox 0.8 to 1.5
    • Mozilla Suite 1.6+, 1.7+
    • Seamonkey 1.0
    • Opera 8
  • Mac OS X:
    • Safari 1.3+
    • FireFox 0.8 to 1.5
    • Camino 1.0a1
    • Mozilla Suite 1.6+, 1.7+
    • Seamonkey 1.0
  • Linux:
    • FireFox 0.8 to 1.5
    • Mozilla Suite 1.6+, 1.7+
    • Konqueror
You can also convert them to C# and run them as unit tests with NUnit. FireFTP When it comes to publishing files, FTP is our tool. FireFTP is a FTP client which lives in the FireFox browser. Easy to install, update, and remove. Which is more then I can say for some FTP clients I've used in the past. Web Designer Essentials FireBug With FireBug I don't know where to start. There is just so much involved, Firebug deserves it's own post. Right now, the best I can do is list some of the features I find most valuable
  • JavaScript debugging and profiling
  • Real time HTML and inspecting and editing
  • CSS manipulation and measuring
  • DOM inspection
  • Network Activity Monitoring (Not to the power of Fiddler, but acceptable)
I praise the features of Firebug daily. Firebug and the the Web Developer Tool Bar have some similar functions, but the two compliment each other very nicely. ColorZilla Is a great little tool to grab both RGB and HEX colors from any web page to you clipboard in a few mouse clicks. It also has page zoom capabilities and a handy color picker too.
MearsureIt A tool to quickly measure pixels on a web page. I use this tool when I'm making images to fit perfectly within containers (div's) on my websites. IE Tab With this add-on I almost never fire up IExplore.exe. You really don't have a need when you can load the IE engine right in a FireFox tab. Let's face it, some Javascript, and CSS behave differently in IE . We as web developers, at a minimum, should test on both platforms. You can also customize it to always open certain pages in the IE engine. I like to use it to force office files to load as embedded files in separate tabs. You just add rules like *.doc and no more "What would you like to open this file with?" dialogs. Summary I urge everyone to try one or two of my suggestions. I didn't give them much justice with you compare it to the power you get. Please feel free to comment or list other tool you find to be helpful. I learned about all the above from other people's comments, what more can I learn from you? Can we all learn from each other?

Monday, April 16, 2007

2007 Dayton Cincinnati Code Camp

So I’m finally getting around to writing about the 2007 Dayton Cincinnati Code Camp. I must say, this is the second time I’ve gone, and I was not disappointed. All in all I give the camp high marks. Getting together to share knowledge is something that I fully support. I encourage all developers to attend as many of these events as they can. My thanks go out to Mike Wood and all other contributors to the camp (sponsors, speakers, staff) for making it what it was. Here are the sessions that I attended, and my remarks on each: Building a Data Access, Logging, and Exception Handling Framework with the Microsoft Enterprise Library 2.0 (Philip Japikse) It brought to light features for EntLib 2.0 that I was not aware of. It truly looks like a toolkit for enterprise level applications. However, it doesn’t fit nicely with the tools VS 2k5 give you. Maybe in time, the EntLib toolkit will be updated with code generation for table/data adapters, and the like. But then again, there is always code smith. Avoiding Database Entropy (Brian Sherwin) This talk I loved. You see, my database skillz are somewhat lacking. What Brian said really hit home. Every system I’ve ever worked on, needed a “Database Refactor,” and “Database Version Control.” The rules Brian set down really seemed to make sense. I liked the talk so much that I asked if he would be interested in presenting at the Dayton .NET group. I’ve passed the interest on to Jim Holmes. I really hope Brian can make it. Delegates and Events - the Inside Story (Dustin Campbell) I enjoy Dustin’s talks. He is so sharp and so passionate about his profession. Delegates and events are something I’ve always had trouble with. It was nice to see that .NET 2.0 made it all a lot easier with generics. However, Dustin did point out the problem with memory leaks when assigning delegates to events. This is especially a problem when you subscribe to events in Windows Forms, but Web Forms are destroyed after each request so I believe the memory leak is not as much a problem in ASP.NET. For one solution to the memory problem, see Dustin’s code or check his Blog. Real World Agile (James Avery) This was an interesting presentation. It was more of a discussion then a presentation. The thing about Agile is there are so many versions. It was nice to sit there and hear other peoples’ implementations of the Agile practices. I really like the talks when communities get involved. Getting to Know Generics (Dustin Campbell) Generics still baffle me. I know about the standard generic collection classes, but what I didn’t know was using generics for objects other then classes, like Methods! Dustin did a fantastic job of showing the usefulness of generic methods. Now I only hope that I can grasp the concept and use it more in my development. SQL Server 2005: New Tricks for Old Database Developers (Jason Follas) Once again my skillz in DB aren’t all that great. But sitting in on Jason’s presentation was pretty neat. Seeing the new features of MS SQL 2k5 was very beneficial Pivot Tables, .NET Assemblies as Store Procedures, CTE’s, etc. Definitely things I’m going look into more.

Tuesday, March 27, 2007

Jumped on the Band Wagon.

I finally decided to start blogging. All of my developer friends have a technical blog, so should I. I've been debating for a while about which technology to use. WordPress, SharePoint, or Roll My Own. Finally, I just made a decision. Since I'm such a Google fan, Blogger was my final choice. I don't know how much I'll have to contribute to the technical world, but check in from time to time. Also, check out my "Google Reader Shares" feed, I'll share out gems that I find while browsing. I hope some of you find interest in them as well.