Monday, November 1, 2010

Voting Democrat Locally and Republican at the State Level

For reasons which are odd -- I won't go into them today -- I am a registered Republican.  I will tend towards Republican candidates when I vote at the State level tomorrow.

However, local Bound Brook politics is a completely different story.  I'm voting Democrat: Pranzatelli and Carroll. The main reason is the pathetic flyer I got from the Republicans today.  DO THEY REALLY THINK I AM THAT STUPID???  When one party accuses the other party of "voting for $30,000 pay raises," I raise my eye browse and my bull-feces radar rings loud.  There is almost always a good reason behind such statistics.  Usually, both parties will fire half-truth barbs at each other.  This year, however, I received a thoughful written explanation from the Demcrats containing an open letter from  John Buckley in my mail about that accusation, which -- by the way -- did not make me feel stupid with one liner zingers. Thank You John.  You were always a great neighbor on West Main Street when I lived next to you and I am so joyful for your efforts to bring sanity to the polticial process in Bound Brook.

Long live the Bound Brook Democrats!  (At least for this year :-))

Friday, October 1, 2010

jQuery Templates Announcement Due Out Shortly

It will be announced immanently that Microsoft's jQuery Templates has the status of an official jQuery plugin.  This a great news which I have been looking forward to!  Keep an eye on Boris Moore's new blog, Scott Guthrie's Blog, and the jQuery blog.

Wednesday, September 15, 2010

September 2010 Update

Life has changes...

First, I have left Electric Vine and moved on to consulting for Worlco Computer Resources.  Through Worlco, I have been placed at Applied Dynamic Solutions ( using my ASP.NET / C# / SQL / jQuery / Javascript skillsets.  Also getting some new experience in the world of WCF, multi-threading, and WinForms programming.  Beyond that, the details are confidential.

Second, The project I've been working on over the past 5 months at Electric Vine has just gone live!  Congrats to Electric Vine for a fine roll out. It is a redesign of  In particular, I put most of my time into the Products and Merchandise tabs up through the View Cart page where you have to click on "Checkout." There's some cool AJAX and modal popups in there. It's driven by the Ignify e-commerce solution (, which integrates with Microsoft Dynamics GP. So, all those products (and underlying SKUs) all map to a web-driven Ignify manager panel. All those flavors and sizes are mapped to individual SKUs where they track inventory real-time and integrate with a real-time orders service desk.

I also hooked up the forums from into the forum part of the Speak Up tab.

Tuesday, August 17, 2010

Seeking Bound Brook, NJ, related Blogs!

Do you have connection to Bound Brook, NJ and a blog?  I'd like to know about you blog, becuase I want to consider including it on my blog roll at  Reach me here and tell me about your blog and why people in Bound Brook, NJ might want to read it.  Maybe you are a resident?  A property owner?  A business owner?  Maybe you work in Bound Brook?  Maybe you like our pool, or maybe you write reviews about our wonderful restaurants?  Reach me here.

Thursday, August 5, 2010

Re-purposing www.BoundBrook.Com

Today, I have re-activated  A little background might help.  I bought the domain name for about $700 a number of years back.  Originally, my plan was to use it to market my IT business.  Well, the IT business turned into a web development business and I slowly discovered that there is not market in Bound Brook for my emerging skillset (ASP.NET / C# / SQL Server).  So, I basically shut the website down.

The next idea was to donate it to the catholic church in town.  I made an offer to donate, but the pastor never followed through on my offer.  So, the domain name sat... and sat.  That offer is no longer on the table.  So, next,  I thought to myself, "this might be an opportunity to try the new Google domain parking service."  So, I set it up.  Well, that has added about $23.76 to my Google adwords account from October 20, 2009 until yesterday, a little more than $2 a month.  At my hayday on the old BoundBrook.Com, I had been making a whopping $10 a month.

Every once in a while, I get an e-mail with interest to buy the domain name.  Usually, I reply asking them what they plan to do with it, because, frankly, I live in this town and I'm open to good ideas.  No one ever gets back to me with  a reply when I do that.  I've never really wanted the municipality to own it, because, well, frankly, they should be using  I still can't figure out why they are using  Maybe they just don't want to pay the $125 per year ( for the dot gov name.  Just seems like common sense to me that a citizen or a commercial entity should own that domain name.  If you ask me today, I don't think I want to sell it.

So, there have been a lot of changes on the web and I thought I would try playing with some of the latest cloud stuff.  So, I'm starting by putting up a map of real estate in Bound Brook (thank you Google!).  And, I'm working on building out an aggregate of local Bound Brook blogs, starting with mine.

Thursday, July 8, 2010

Tonight, I Attended the NJ Dot Net User Group Meeting

Tonight, I attended the NJ Dot Net User Group meeting (  JP Toto  presentated on Git and GitHub.  Here is what I learned from JP.

Basically, this is the book to read (for free online, or buy it at Amazon).

There is this code called msysgit on Once it downloaded and installed, you have Git. Git is a "distributed source control" solution and allows you to create repositories of your data on your local machine.  You can branch and merge your repository locally on your machine -- lightning fast speed.  Then, you can "push" your repository to GitHub.

GitHub is free for open source projects (they call them "public repositories").  It costs money for a "private repository."  There is also a solution for organizations giving for granular control of access privileges.  Once a repository has been uploaded to GitHub, it is possible to do collaboration in a team environment.  There is some really wild collaboration functionality built into GitHub.

So, another developer basically "pulls" the repository from GitHub to their local machine.  There is no branching or merging on GitHub.  That stuff happens locally, hence the idea of "distributed source control."  Git utilizes "optimistic locking" in contrast to VSS's "pessimistic locking."  That means anyone can work on a any file, but the only way yo can check it in is if you have the latest copy of that file from GitHub.  If you don't have the latest copy (if someone else checked in the file before you did), then you have to "pull" that file and do a merge into your local repository.  Then, you will have the latest copy and you can push up your changes.  That is how "optimistic locking" works.

Oh, there is a GIU for Git, called  tortoisegit.  And, there is a tool for integration with VS called gitextensions.

Friday, June 4, 2010

What's the difference between Convert.ToInt32(string) and Int32.Parse(string)?

The two give identical results, except where the string is null. Convert.ToInt32(null) returns zero, whereas Int32.Parse(null) throws anArgumentNullException.

hat tip:

Thursday, June 3, 2010

Fawn in the Raspberry Bush

The whole family was in the Catskills when a deer ran past the house. Shortly after, a beautiful fawn passed by also and hid in a raspberry patch. I took this picture. The fawn stayed there for hours until dusk, when he/she (?) walked slowly and uncertainly up the hill a little calling for her mother, sounded halfway between a bird and a human. She stopped and stayed near the knoll of the hill for another couple of hours, calling out for her mother. She was gone the next day, but someone else said they saw a mother deer with her fawn together, so we are hopeful they were reunited.
Posted by Picasa

Tuesday, May 25, 2010

To fix ProfileCommon in Web Applicaiton Project, put Global.asax.cs codebehind into Global.asax script tags.

This is interesting (at least, if you are website developer). In .NET 3.5, if you take the Global.asax.cs codebehind and put it into the Global.asax inside of <script runat="Server"> tags, and then, if you change all the "usings" from the Global.asax.cs into "<%@Import" tags in the Global.asax, and then if you fix a few access issues (removing "protected" from Application_Start, Application_Error and the like), low and behind, the ProfileCommon will autogenerate even in a web application project (perhaps not the whole WAP, but at least it shows up in Profile_OnMigrateAnonymous).

Tuesday, May 11, 2010

First Month At Electric Vine

For the past month, I have been working at Electric Vine -- which does all things Web Design NJ.  I've been diving into the source code of the Ignify E-Commerce product which we will be integrating into a customer solution.  Also, I have prototyped the integration of picassa web into websites.

A week ago, we all experienced the excitement of an office move to the next building over, about 1/2 the space of the old location.

Monday, March 15, 2010

Running .NET 4.0 in IIS 7.5 for the First Time

Today, I tried my hand at running an 4.0 (release candidate) web app for the first time in IIS 7.5.  I was getting all kinds of errors, the latest one being
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list
Anyhow, I thought I’d mention on this blog how I got it working.   Turned out .Net Framework 4.0 was not registered properly.  After I did run %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe –i, everything is working fine.

Saturday, March 13, 2010

Turning a DateTime into a Friendly String

Over at, the date column shows a friendly string version of when each post was last updated.  I used the following extension method…

        public static string ToFriendlyString(this DateTime date)
if (date.DayOfYear < DateTime.Now.DayOfYear)
return date.ToString();
TimeSpan span = DateTime.Now.Subtract(date);
if (span.Hours >= 1)
return span.Hours + " Hours Ago";
else if (span.Minutes >= 1)
return span.Minutes + " Minutes Ago";
else return span.Seconds + " Seconds Ago";

Thursday, March 11, 2010

AddWeekDays Extension Method

Ever need to add week days to a date?  Use this extension method…

 public static DateTime AddWeekDays(this DateTime startDate, int days)
DateTime d = startDate;
int i = 1;
while (days >= i)
d = d.AddDays(1);
if (d.DayOfWeek != DayOfWeek.Saturday & d.DayOfWeek != DayOfWeek.Sunday)
return d;
} Gets A Facelift!

Checkout the new Mild.Net homepage, especially the logo (design by Mona Hennes)!

Tuesday, March 9, 2010

Primershee Free For Now!

I would like to announce that Primershee, my professional project management solution for the self-employed, independent contractors and other solo professionals, is going to be free for now – that is, until we decide it is not going to be free anymore.
So, go ahead and signup and take advantage of this offer.  Primershee is great for estimating and tracking time against your estimates.  It’s also great for keeping track of what your customers owe you.

Tuesday, February 16, 2010


So, I'm stepping through Microsoft's code using Reflector, trying to debug an "Object reference not set to an instance of an object" error and I come across this line of code...

      query = Funcletizer.Funcletize(query);

Cracked me up.

Thursday, January 21, 2010

Integration of My Blog with

Welcome visitors to my blog!  I am copying over a bunch of posts from the old blog which ran on Graffiti-CMS.  I ended up not using Graffiti-CMS.  I didn't like not having access to the source code.  And I didn't really like having to wrap my head around yet another template engine (NVelocity).   Incidentally, Telligent recently donated the source code to the open source community)

The Chamber of Commerce Business Listing product never got off the back burner.  I had another idea which I thought could be more profitable and I placed all my energy into what is now called Primershee (you can read about that in a previous post).

Wednesday, January 20, 2010

Why Primershee?

I have had this dream of building something, anything really, as a service where I can charge something, like maybe $10 a month, and see if I can grow it. I had a bunch of ideas and I prayed about all of them. I've always been frustrated with Intuit Quickbooks and Microsoft Money. I enjoyed Fogbugz in a company setting, but it is obviously focused on small companies of 20 to100 employees. There's nothing out there for the small fish, like me, which addresses my needs -- end to end. Starting with prospecting, then estimating projects, then maintaining documents in the same app, tracking time against the estimate, and finally gaining intelligence from the data for to improve future estimates. So, Primershee is about addressing that nitch.

About a month ago, I released a beta. I've been fixing lots of bugs and also filling in some obvious gaps in functionality. It doesn't help with prospecting yet and the analytics are still weak, but it does the core thing - estimating, timekeeping, and invoicing. It also tracks basic accounts receivable, what a client owes me and when they make a payment.

Yes, but why Primershee? Our son Joseph has an imaginary friend, Primershee. He's very tactile and his friends are all hand signs. So, Primershee is a girl and she wears a dress. I asked Joseph if we could use his friend Primershee as our logo. He said okay and the domain name was available. So, it's called Primershee.