Sharing the Joy of Software/Delphi in the .NET world

Saturday, April 12, 2008

New Home and Podcast -- CloudSocket

Just a FYI to everyone that comes here... my new home is at CloudSocket and I have a podcast at CloudSocket Podcast. Hope you can come and enjoy the great information.

Monday, January 31, 2005

Goodbye and hello from WWW.TECHQUIK.COM

Please go to TechQuik and subscribe here to continue to get my blog. I am stopping this edition of my blog but will keep it up with no new entries. Thanks Blogger for getting me into blogging.

MSDN Enterprise Library Released

Microsoft has relased the new Enterprise Library. Here are the details: The patterns & practices Enterprise Library is a library of application blocks designed to assist developers with common enterprise development challenges. Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects. Enterprise Library features new and updated versions of application blocks that were previously available as stand-alone application blocks. All Enterprise Library application blocks have been updated with a particular focus on consistency, extensibility, ease of use, and integration.

The application blocks that comprise the Enterprise Library are the following:

  • Caching Application Block. This application block allows developers to incorporate a local cache in their applications.
  • Configuration Application Block. This application block allows applications to read and write configuration information.
  • Data Access Application Block. This application block allows developers to incorporate standard database functionality in their applications.
  • Cryptography Application Block. This application block allows developers to include encryption and hashing functionality in their applications.
  • Exception Handling Application Block. This application block allows developers and policy makers to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging and Instrumentation Application Block. This application block allows developers to incorporate standard logging and instrumentation functionality in their applications.
  • Security Application Block. This application block allows developers to incorporate security functionality in their applications. Applications can use the application block in a variety of situations, such as authenticating and authorizing users against a database, retrieving role and profile information, and caching user profile information.

Saturday, January 29, 2005

This blog is moving!! WWW.TECHQUIK.COM

I am moving my blog to a new domain. The new site is TechQuik. I am getting things setup and ready but wanted to let you all know that probably on Tuesday I will stop blogging on this blog and start the new blog. I will double blog until the final move. I have brought over all the entries to the new blog. I am using MoveableType for the blog engine.

Friday, January 28, 2005

USysWare DPack 2.0 Beta 3 released

This is a significant step forward for DPack 2.0, which features various new features and improvements. I cannot recommend this enough for developers of Visual Studio .NET 2003 and 2005 (especially Delphi developers moving to VS). The Bookmarks functionality Sergey has implemented should get you all to use it.

Thursday, January 27, 2005

Software Accountablity and Health

I am listening to Kent Beck's talk about Developer Testing. There are 2 good topics: Software Health
  • How does your software handle stress? How do you handle stress? When you are seated at your desk can someone determine how you handle stress? No since you are not under stress at that time. So how can a developer know how his software will handle stress without putting it under stress. That is one area of developer testing that most people miss.
  • How does your software handle change: change in the requirements, customer base, load and/or usage patterns? So do we as developers even think about these topics?
  • Is your relationships that are based on your software healthy? Do you have good relationships with your coworkers, management and/or your customers? That is very important.
Accountability Based on your health and your software health, are you accountable? Do you feel that you can be accountable? Are you confident that your software will not have a rash of bugs and errors? Should you not go to sleep each night knowing that your software meets your level, your group's and finally your organization's accountablity? In the end all this can be helped and improved by using Test-Driven Development. Kent brings up the excuse that some groups have testers and QA groups. But where is the cheapest place to fix the error? Right after the code is written or 6 months down the road after QA or a customer finds it and you as the developer do not remember the code that the error exists in? If you had some units tests that made you accountable and your software healthy you just improved your health because you do not have the stress and fear of unknown errors in your software.

Wednesday, January 26, 2005

One reason why I do not like to work for a masculine type organization

This Fast Company column about "When the golden Rule Doesn't Work" is why I do not like to work for male dominated companies. I dislike going into a meeting where I know that people (more than likely the guys) are going to open both barrels just to make some noise and try to look good. The bosses do it so they look to still have the power and the young guys do it to try to get attention. The main point of most meetings is to come together and get to a solution quickly and effectively. Some people use meetings to show how much they know and just be devil's advocate. Now that is fine sometimes when you have a brainstorming meeting but for the most part (in my career), meetings are where the people who have been doing the work, thinking and being creative bring the results to the masses. So how can a person who has seen the solution for 5 minutes thinks that he knows the better path? If I am running a meeting and it is turning into a bodybuilding contest I will try to end it quickly and let the people that are valuable get back to bring value to the organization.

Practice: Incremental Design

I found this blog entry on ISerializable. It is a quote from Kent Beck from the xpbookdiscussiongroup Yahoo Group about software design. Really is a great read and proves more that Kent knows what he is talking about. Practice: Incremental Design
Strive to make the design of the system an excellent fit for the needs of the system that day. When yourunderstanding of the best possible design leaps forward, work gradually but persistently to bring the design back into alignment with your understanding. I was taught exactly the opposite of this strategy in school: Put in all the design you can before you begin implementation because youll never get another chance. The intellectual justification for this strategy came from a Barry Boehm study of 1960s defense contracts showing that the cost of fixing defects rose exponentially over time. If the same data also hold for adding features to todays software, then the cost of large-scale design changes should rise dramatically over time. In that case, the most economical design strategy is to make big design decisions early and defer all small-scale decisions until later. For an assumption that shaped software development orthodoxy for decades, the increasing cost of change over time received little scrutiny. This assumption may no longer be valid. Do changes also increase in cost, the same way defects do? Even assuming changes do increase in cost sometimes, are there conditions under which the cost of changes does not increase? If changes do not grow increasingly expensive, what does that imply about the best way to develop software? XP teams work hard to create conditions under which the cost of changing the software doesnt rise catastrophically. The automated tests, the continual practice of improving the design, and the explicit social process all contribute to keep the cost of changes low. XP teams are confident in their ability to adapt the design to future requirements. Because of this, XP teams can meet their human need for immediate and frequent success as well as their economic need to defer investment to the last responsible moment. Some of the teams who read and applied the first edition of this book didnt get the part of the message about the last responsible moment. They piled story on story as quickly as possible with the least possible investment in design. Without daily attention to design, the cost of changes does skyrocket. The dire predictions of the critics comes true: poorly designed, brittle, hard-to-change systems. The advice to XP teams is not to minimize design investment over the short run, but to keep the design investment in proportion to the needs of the system so far. The question is not whether or not to design, the question is when to design. Incremental design suggests that the most effective time to design is in the light of experience. If small, safe steps is how to design, the next question is where to design. The simple heuristic I have found helpful is to eliminate duplication. If I have the same logic in two places, I work with the design to understand how I can have only one copy. Designs without duplication tend to be easy to change. You dont find yourself in the situation where you have to change the code in several places to add one feature. As a direction for improvement, incremental design doesnt say that designing in advance of experience is horrible. It says that design done close to when it is used is more efficient. As your expertise grows in making changes to a running system in small, safe steps, you can afford to defer more and more of the design investment. As you do so, the system will get simpler, progress will start sooner, tests will be easier to write, and because the system is smaller there will be less to communicate with the team. As more teams invest in daily design, they notice that the changes they are making are similar regardless of the purpose of the system. Refactoring is a discipline of design that codifies these recurring patterns of changes. These refactorings can occur at any level of scale. Few design decisions are difficult to change once made. The result is systems that can start small and grow as needed without exorbitant cost.

The Apprentice Fantasy Game

Yahoo has a fantasy game for The Apprentice. You get points each episode for answering correctly a number of questions. If you are a fan of the show and would like to join the group here is the info: Your Group ID#: 16934 Your Group Name: Heather's Group Your Group Password: coolmarketing I started the group after reading all the blog writings of Heather about the show hence the name of the group. Come join us and play along. There will also be a trophy for the winner!

Tuesday, January 25, 2005

Great Article about .NET CF Development from The Moth

With the Compact Framework making programming for devices so easy, there is an increasing number of desktop developers making the move to CF development (or at least getting their feet wet). They face the challenges of a .NET Framework that is missing whole areas (e.g. Remoting, COM Interop, ASP.NET) and has every interface trimmed down (e.g. the Thread has only 2 public instance members) - it is not called the *Compact* Framework for nothing. Many of my blog entries focus on exactly that: the differences between the full and compact frameworks and sometimes how to bridge the gap.

However, another difference is the actual operating system or platform. This bites the developer even more if they are not daily users of a Pocket PC (which is the target of 95% of the NETCF developers). The situation described has as a consequence a lot of questions in the CF newsgroup, so I will try to address some of these in this entry and point to it in the future (as an FAQ).

1. Input methods
PPCs do not have a mouse or a keyboard (for the few devices that have, keyboard events are supported by some NETCF controls since Service Pack 2). The lack of a mouse is catered by a touch screen and the use of a stylus (mouse events are not supported in most controls and you may need to create your own control; help for custom controls is here and here). Right-click context menus are simulated by tap-and-hold (made possible by the aygshell.dll that is part of the PPC platform). There is a Soft Input Panel (SIP), which is a software keyboard that can pop up on the screen. To interact with it, you must reference Microsoft.WindowsCE.Forms.dll and drag the InputPanel control onto your form. To show it, you call InputPanel1.Enabled = true, typically in the GotFocus event of a TextBox (and set it to false in the LostFocus). To detect when it is up or down, you can track the InputPanel.EnabledChanged event. Note that hand-in-hand with the InputPanel is the MainMenu control that your form must have - even if it doesn't use it (!)

2. Form/Dialog size
Forms and dialogs on the PPC are always full screen (the only exception to that rule is the built-in MessageBox). There are known workarounds, but it seems that they hurt more than they help, so my advice is to stick with full screen dialogs and design for that approach from day 1. Try to design the UI so the user never gets the impression they are interacting with more than one screen; use multiple hidden panels on one form and swap them in/out as appropriate.

3. App/Form closing
The design guidelines for the PPC are clear: Applications do not exit/close, instead they minimise. This aids in the concept of a device that is always on (and the apps are always available, without waiting for them to load each time). For NETCF apps, setting the Form1.MinimizeBox to true will display the X button in the top right, whereas MinimizeBox=false will instead show a little OK button in the top right. Clicking an X minimizes the form, whereas clicking an OK closes the form and by extension the application if the form is the application's main form. Note that minimising is not identical to the desktop, i.e. all that happens to the window is that it is pushed to the back of the stack of open windows on the PPC. To programmatically know when a smart minimize occurs, you should hook into the Form1.Deactivate event (which is supported even though designer support is missing).

4. Moving between applications
Following from points 2 & 3 above, you might wonder how you switch between applications. There are various ways: By closing (minimising really) windows, you can reach the desired one OR you can use the top-right Start menu (Windows icon) OR open the Start->Settings->System->Memory->Running Programs screen. The "Running Programs List" displays all the open windows (minimised or not) and allows you to switch between them. This presents a problem in a scenario where your app has Form_A opening Form_B and you only expect the user to get back to Form_A after closing Form_B; they can also go to Form_A by using the "Running Programs List"! The workaround is to only show in the list the active form and to do that you must set the caption (Form1.Text) of other forms to String.Empty (""). By the way, if you are having trouble bringing your application to the front programmatically, read that.

In my opinion, these are the top 4 gotchas for desktop devs moving to the PPC platform. Look forward to the next 4 or 5 in part B. [The Moth]

A Blog from the Patterns and Pratices PM at Microsoft

Tom Hollander from Microsoft has started a blog for giving details on the Patterns and Practices group inside MS. here is the link to his blog.

Thursday, January 20, 2005

Free Society by Lawrence Lessig

I am asking everyone who sees this blog entry to listen and watch this online presentation by Lawrence Lessig. Mr. Lessig does not make a conservative or liberal appeal but a logical appeal to make a free society. We are doomed if we cannot make a difference in the present to allow the past to be built upon for the future.

The Top Six Ways to Stay Motivated

Saw this link from The Occupational Adventure blog. Most of the 6 ways are common sense but sometimes we all lose common sense and forget the small things that help.

Wednesday, January 19, 2005

Kentucky is getting some Code Camps

So last night Tim Landgrave announced that there will be 4 Code Camps in February in Louisville and Lexington. Here are some details: Louisville -- February 18 and 19 (Friday and Saturday) Location: Sullivan University, Louisville Lexington -- February 25 and 26 (Friday and Saturday) Location: Sullivan University, Lexington More details to come including a link to register. Each day will have a limit of 100 registered attendees. There will be many speakers each day. They are also free and there will be lunch and giveaways. If you want to speak please email me and I will get in touch with Tim. My email is cwoodruff[at]terralant.com

Enterprise Library will be released on January 28

Scott Densmore has announced that the Enterprise Library will be released on January 28, 2005. That is if nothing major happens between now and then. I have been excited for quite a while to see the new versions of all the Application Blocks. Go to the GotDotNET workspace to find out more. The Enterprise Library will be released on MSDN. I will be using the new Enterprise Library as my basis for developing examples on how to use Application Blocks with Delphi 2005.

Personal Reflections

The last 3 weeks have been interesting around here. We let go the other person on the project and hired a new great developer who starts at the end of the month. Being in Lexington, KY I thought we might have a hard time locating and recruiting a quality developer for the project. We not only found the perfect fit within a week but he was here in town. That was very lucky. The only downside has been that I have been working on reviewing and fixing all the crap that the old developer (and I use that term loosely for him) left behind. All the Visio database schemas he did had to be redone and checked. Also the master schema to generate the new database had to be started from scratch since the bozo did not use the correct relationship shape in Visio to build the foreignkey relationships. That cost me over a week to go through and rebuild the entire schema. But better now than later. I am also writing the project design document by myself and trying to keep on schedule. Ideally the document should be collaboration but we have to make do. Just taking a lot longer to write and get all the supporting materials like UML models and database schema snapshots. I am also in the middle of jury duty so I do not know day to day if I will be in the office. I almost was picked for an 8 day civil medical malpractice trial. Interesting but my client would have freaked! So all this brings up interesting ideas and realities. I have been a person who would push and work extra hours to get things done as close to on-time as possible. But thesedays I have discovered that there needs to be a balance. Also now with kids I am finding that I don't want to do much besides sharing some time with them until they go to bed.Then when I get a chance to sit down and work I am usually tired from the day so I read and go to bed. One way to keep going is to start exercising 3-4 times a week. Need to get that oxygen to the brain. I am writing this on a short break just to let you all know what is going on with me. I know I am slacking on the blog. I have a lot ofstuff to write about but until things settle down and I get this design document handed off I will be holding off on the big blog stuff. I will still pass along cool stuff and links. So be good and if you cannot be good be careful!

Monday, January 17, 2005

Codus is Free

One of my new apps I have been keeping an eye on lately is Codus. It falls under a .NET code generation category but is very cool. It will interrogatea SQL Server or Access database (other soon) and generate all the code including NUnit tests for CRUD functionality. The cool thing is that the templates used in Codus are NVelocity based. Another feature coming soon will be generation of stored procedures for all data access. That will hook me into this tool 100%. I am a big follower of the rule to use stored procedures for all data access. Thanks Sean for making a great tool.

Wednesday, January 12, 2005

More on Delphi 2005 .NET Remoting using DataSync and DataHub

Dr. Bob has a full article on explaining how one way of performing Remoting in your Delphi 2005 applications using DataSync and DataHub. Dr. Bob needs a RSS feed for each of his categories on his site. FYI -- I got this from Nick's blog.

Tuesday, January 11, 2005

Apple iProduct

Funny... enough said.

Brain Dump

I have been so busy with work, jury duty and home that I wanted to do a brain dump of things that have been collecting: Free .NET Sample Book -- presents many technologies on .NET platform like security, cryptography, WMI, networking, IO and others. This is still in draft version and final one will be release on the end of 2004 focusing on Whidbey features. Here are the pdf and doc links for the book. The Lexington .NET Developer Group (LexDotNET) will be having 2 INETA sponsored speakers for our February 8 and April 12 meetings. Here are the details: February 8, 2005 -- Craig Utley will present "Design Patterns and .NET" Craig Utley is the President of CIOBriefings LLC, a consulting company focused on enterprise architecture, development team building and productivity, and business intelligence. Craig has been developing with Microsoft tools since the Visual Basic 1.0 days and has worked with companies of all sizes, helping them architect, design, and implement enterprise-wide applications on Microsoft technologies. His interest in developer productivity has led him into the world of design patterns, test-driven development (TDD), and agile/extreme methodologies. He is a published author of articles, courseware, and books, including the first book on VB .NET beta 2 that Microsoft authorized for release. He has been a frequent conference speaker at such conferences as ASP.NET Connections, SQL Server Magazine Connections, Microsoft's Developer Days, and more. He holds an MCSD and is a Microsoft MVP. April 12, 2005 -- Stephen Walther will present on ASP.NET (details coming soon) Stephen Walther is the author of the best-selling book on ASP.NET, ASP.NET Unleashed . He also wrote ASP.NET Kick Start , and contributed the database chapters to ASP.NET Tips, Tutorials, and Code. He created several ASP.NET best-practice applications for Microsoft. He was the lead developer of the ASP.NET Community Starter Kit and the the Issue Tracker Starter Kit. These applications can be downloaded from the official Microsoft site at www.ASP.net. He is a Microsoft Software Legend and Microsoft ASP.NET MVP. He has spoken at a number of major conferences including Microsoft TechEd, Microsoft DevDays, and ASP.NET Connections. Remoting example in Delphi 2005. Here is a simple demo showing how to remote data in Delphi 2005 using .Net Remoting. There is actually no additional code in the example since the app uses the new components RemoteServer/RemoteConnection and DataHub/DataSync to remote data over HTTP. That is one of the cool things with Delphi 2005... VS.NET 2003 does not allow you to do this as simple. Please note the following: 1. You have to manually fire up the server. This isn't like DataSnap where DCOM/COM will fire up the server for you. 2. The trickiest parts are the fact that you need to have (on the client) a Dataset component (or you could do it in code) to be filled by the DataHub, and that (on the server) you need to hook up the table to the DataSync's Provider. Note that the BDPAdapter's LiveData property has been set to true which creates the table.

Thursday, January 06, 2005

Updated -- Another Side of Software Development

Back in November I wrote about how the other developer on my project and I were not really meshing and working well together. I will not go into details since you can read that for yourself and get up to speed. Well the story is about to come to an end. Tomorrow Bill will be terminated from the consulting company I and Bill work. The last 2 months have been interesting and very educating. The bottom line is that Bill oversold himself and had a very bad attitude towards most things including any technology he had to deal with. He showed most people around him just what an unstable person can be like and affect by his actions. Now Bill did the work he had experience with fine. He was in charge of the physical and logical data models for the system we are building. We have been in design mode for almost 2 months and he did a decent job on the data models. So here is a list of things that I hope people will learn from and always keep in mind when dealing with customers and clients: 1. Make a point of really listening to people around you and especially the people that you are trying to help in some way. This means the people you are selling to or performing a service for. When you are in a meeting please listen and take notes. This gives the impression that you are valuing the conversations you are involved with and making sure that you are "listening well". Listening means also keeping track of all the information you have. I write down as much as possible when I am listening to a client since I know I would forget a lot. Most people do. Bill never took notes or listened well. That was because he was too busy talking and trying to either impress people or make himself look good. 2. Do not bite the hand that feeds you. What I mean is do not undermine your employer in front of the customer or client. Very bad for business and personal career paths. By bad mouthing your boss or the company you work for in front of the people you are serving does no good. When someone is paying you to do a job just do the job and make sure that you give a good impression of them. Even if you do not like where and who you work for, always give a great impression to the customers and clients. That is a sure fire way to burn bridges. I write this because Bill never hesitated in telling the client every little thing that our company annoyed him about or caused him so called grief (usually it was his impatience or ignorance). 3. Deal with issues in a manner where they are challenges and look at them as learning experiences. Too many people see a problem and give a sigh and start complaining. I have never seen where complaining about something fixed it. I have found that if I have something that needs to get done I break it down into smaller issues and fix them each. Having a good view and taking some time to evaluate the situation gives you so much help. With Bill every time he came to a problem or issue I would hear a sigh or a swear coming from his office. I would also hear over and over how something was not working right or something was not correct to him. 4. If you are working in a team be a team player. Do not say that something is not your job or responsibility and walk away. Even if you do not have experience with something the team is doing, you might have some good insight or can learn something. Also make a point of at least attempting to help with the aspects of the teamwork that is not fun or glamorous like for example all the documentation that need to be done for clients. Could help later in your career. I was recently promoted to Team Lead of the project so that gave Bill the excuse not to have to do any documentation. He also would not offer help when little things came up but told that he was the database person and that was all he was responsible for. So be a team player. 5. Just be a good caring person who people enjoy being around. Do not be the person that people walk away from when you go down a hall or go into a break room. Being friendly and respectful goes a long way in life not just at work. 6. Do more than what is expected of you. I live by this rule everyday even of my wife does not think I do. :) Do more than what the customer or client expects will give you and also your employer a better reputation. In any business, we live by our reputations. Also by giving more you will be rewarding with more -- more praise, more responsibilities and hopefully more money. So am I happy that Bill is leaving? Yes but I am also disappointed since he does have a family. He would have been terminated sooner if not for the Holiday Season. Our boss did not want to ruin his kids Christmas so she gave him a few weeks. Bill was not entirely a smuck. He had a few good moments. I just do not understand how people can go through life with such a warped view of things and believe they are going to succeed. Being an asshole will only take you so far. Some people do go far being rude and disrespectful but they always seem to end up not achieving as much as they could have. Now I am not saying I do not have faults. I do. But what I try to do is minimize my faults by learning from others, from my past mistakes and using my strengths in the best ways. In the end all will work out. I think Bill will find another position that fits him well and where he can do a good job. My opinion was that he was not a good fit in a small team. Bill I feel works well when he is part of a large team and given tasks to perform.

Wednesday, January 05, 2005

.NET Compact Framework 1.0 SP3 Available

Microsoft just published Service Pack 3 for the .NET Compact Framework 1.0. Here's the link to the download page Fixed Issues: - Transitions between managed and native code can cause memory leaks on ARM platforms. - A NullReferenceException is thrown when a Web Method returns an empty array using the xsi:Nil attribute. - Modifying the SoapClientMessage.ContentType property does not modify the Http requests ContentType header. - Stack corruption can occur on SH, MIPS and x86 platforms when local variables are created but never used. - Invoking a multicase delegate from a catch handler throws a MissingMethodException on SH, MIPS and x86 platforms. - Command line arguments containing double byte characters are truncated to a single byte. - An ObjectDisposedException is thrown when a asynchronous web request is aborted before the response is received. - Invoke on a disposed control hangs the application. - Any array containing one or more elements is not sent to the Web Service correctly. - An application may hang when invoking a Web Method that uses multiple XmlElementAttributes on a single argument, member or property. - Memory corruption can occur on devices that have the native security model enabled and both .NET CF V1 SP3 and a pre-release version of .NET CF V2 installed. - Deadlocks can occur when running under severe resource constraints. - Tool Bar's on Windows Mobile 2003 SE no longer lose their images when removed from the form. - An uncatchable ObjectDisposedException is thrown when the server closes the socket connection. - Setting the Minimum and Maximum properties of a progressbar no longer crashes the application. - Unexpected exception while adding an image to an imagelist on an Hx4700 and hx4705. - Data Misalignment occurs on Decimal fields in MIPSIV devices.

Scott Hanselman's Ultimate Developer and Power Users Tools List

Read it!! There are a lot of good stuff in there.

Tuesday, January 04, 2005

Best of Articles :: Microsoft Smartphone Programming

I found this list of great smartphone development articles. I have not had a chance to do any smartphone development yet but I do want to see if there is a market for developing a version of the blog writing tool for the smartphone.

Jury Duty

So I was selected to fulfill a duty as an American called Jury Duty. For all the non-Americans reading this blog, jury duty is a process set up by the Bill of Rights Amendment VI where all citizens accused of a crime are afforded to a trial with a jury of their peers. So the end result is that I will be in the jury pool until January 28. Today I had my first day of sitting in the court room. All the selected jurors waited until 10:30AM and we were excused due to the litigators not be able to agree on some items unknown to us. So I will be back in the same court room on Thursday. I am looking forward to seeing the trial system process at work but it does affect the project I am leading. I guess we all have to make sacrifices for the freedom we have. I can give around 5 days this month. There are a lot of others that are giving their lives.

Monday, January 03, 2005

Looking for a MAC guru to help with Tsunami Disaster Relief

If you know of a MAC guru that can help Julia with some volunteer help please contact her on her blog. She and IDEP Foundation need technical help immediately.

New role for me -- Recruiter (also a job opp)

Since I am the manager for the project I started back in October and we are letting the other developer on the project go this week (that will be a new topic later today), I have now added a new role to my job as recruiter. We are looking for a Database/Web Developer that is located within driving of Lexington, KY. what I am really looking for is a person that is very knowledgeable in MSSQL 2000 and that has some experience with C# and .NET but wants to get more. Actually this job has some good perks. If you know someone around this region that needs a new gig for the next 9-14 months let me know. I am excited about doing some recruiting responsibilities. I like talking to people and discovering what makes them tick. So in this month of "Be Nice to a Recruiter", please be nice to me.

Friday, December 31, 2004

On your mark... get set... be nice to a recruiter month

The ladies over at JobsBlob would like to remind you that January 2005 will be "Be Nice to a Recruiter Month". I have already written about it but wanted all to remember it. Lets make our network and relationship stronger by helping the good recruiters of the world find good candidates for the opportunities they are filling. We all are sales people... some sell jobs and some sell themselves. Be the best salesperson you can be this month and all of 2005. Thanks "Moon Gals"!!

Wednesday, December 29, 2004

Give to Tsunamis Relief Funds

There are many organizations that are in need of funding during this time to help and assist the disaster victims. If you can help here is the CNN web page that lists a number of organizations that are accepting money to go directly to the Tsunamis relief funds.

Tuesday, December 28, 2004

Preparing for the next Economic Upbeat

Heather had a good discussion on how to prepare for the next upswing for the economy. I just found it again today. I forgot that I had commented about it on her site. The points that she makes are even more valuable today then June 14 when she wrote it. You should spend some time during the next week preparing for how to build your network and how you can spark conversations within your network that will enlighten, enhance and uplift it. You should also do her first point and get your resume up to date. You never know when you might need it. We all spend time and energy on exercising, our family life and our fun time, but how much time do we spend on really preaparing ourselves for our career paths? Most of us let others control the path.