New Year Resolutions… 2013 Goals

Written by rsolberg. Posted in Oped

New Years Resolutions. Normally I think these things are just a bit of a joke and lame excuse to do things. Like if you want to diet, diet. If you want to get fit, get fit. Obviously a new year makes folks think about new beginnings, but for me if its important enough to make a change I think today is a good day to start.

That being said, I think I want to set some goals to be reviewed at the end of the year. I’ll make these goals public for accountability.

I have a few ideas of goals from a “professional” standpoint mainly around my tech venture TechDoba, but would love some “personal” goals that you think I should target. So add a comment, let me know what you think I should work on next year starting now.

Q: What Is Your Voice? A: What Is Your Passion?

Written by rsolberg. Posted in All, Oped

At the time of writing this post, I’m 30 years old or 30 years young as some would say. Like many people, I’ve been trying to find my voice and identity in a world full of very smart and articulate people. It wasn’t until recently that I had a revelation about what that common trait was for many people whom seemingly have it all figured out. Passion.
pas·sion: A powerful emotion, such as love, joy, hatred, or anger. http://www.thefreedictionary.com/passion

Where is the professionalism Lenovo?

Written by rsolberg. Posted in All, Reviews, Technology

Late in the evening on Thursday June 21st I was browsing my Facebook “timeline” and came across an interesting post from a friend of mine. Essentially my friend was looking at the Outlet website for Lenovo and while using their compare laptops feature, he discovered a very friendly message from Lenovo. I didn’t believe him at all, I mean this is Lenovo we’re talking about…

How to select the first element of a dropdown using jQuery?

Written by rsolberg. Posted in All, Software Development

Let’s suppose that you are trying to identify what the first element or value us within a dropdown menu or specifically a select list. Suppose that your select list looks like this… If you wanted to figure out what the very first element of the drop down was, you could use this line of jQuery to get it. Suppose that you wanted to update all the selects or dropdown menus on your page to the first item in the list… You could do that by executing this line of jQuery.    

Data Localization With JavaScript

Written by rsolberg. Posted in Software Development, Technology

I worked on an ASP.NET app with localization and globalization. I was having some difficulty understanding how to get the Date() function in javascript to work properly given the user’s environment. My user base was split between Mexico (spanish) and the US (english). Since the Mexico date format is dd/mm/yyyy and the english format is mm/dd/yyyy, the standard Date(strDate) javascript constructor does not work for me. Then i found Datejs… What a savior! I started off by reading their blog post titled “Getting Started With Datejs“…. Hopefully you’ll find the tool as useful as I did.

Website Templates & Stock Photos

Written by rsolberg. Posted in Software Development, Technology

Over the years as a developer, you tend to create quite a collection of useful links… Below are some links that have proven very useful to me in the various projects I’ve worked on…

WordPress Templates

WooThemes ThemeFuse ThemeForest

Web Templates

FreeCSSTemplates OpenWebDesign OpenSourceWebDesign MVC Template Gallery StyleShout

Stock Photography

iStockPhoto stock.xchng CorbisImages 123RF ShutterStock

Convert ASP.NET Website to ASP.NET Web Application

Written by rsolberg. Posted in Software Development, Technology

HatM /Free Photos
It wasn’t that many years ago that it seemed like I’d create a new ASP.NET website a few times a week.  Some for rapid prototyping and others for release.  At the time, the applications felt really easy to manage.  That is until they grew and became a beast with all kinds of integration needs. As soon as you start needing to integrate with other systems, databases, applications, etc. the ability to use namespaces and existing components becomes a requirement.  Without it, your code would become completley unmanageable with a complete lack of reuse of components and functions.  I’m not saying that you can’t maintain some good coding practices within an ASP.NET website, but when the app grows and its being integrated with, I absolutely hate code sprawl.   My philosphy on coding is rather simple:  Code it once so that you can reuse it at least twice. Obviously not every code block you write will be reused, but say you have a function to get a contact’s name from your CRM system…  It would seem like this is something you’ll do over and over and over again, so code it once, use it at least twice… With all that said, the need arose to be able to convert these growing ASP.NET websites into ASP.NET Web Applications.  When I got to that point, I was able to find a great resource by Mohamed Meligy on this very topic. Essentially it comes down to a few steps…
  1. Create a new blank solution within Visual Studio
  2. Add a new Web Application Project to the newly created solution
  3. Import existing website files into newly created Web Application project (overwrite files as needed)
  4. Manually add references into the new project that you had in your old website
  5. Once all refernces are added, you likely have many namespace errors.  Create the new namespaces as required.
  6. Now we need to perform a conversion process on the web application project, right click on the new Web Application Project and select “Convert To Web Application”.  This should fix missinging designer.cs or designer.vb.
The above steps will still keep all of your code within a single project in Visual Studio.  Depending on what the application is, does, etc. you may be better off adding a few different projects to seperate database connectivity, data models, and classes that interact with the DB.

SQL Azure & Updated Pricing

Written by rsolberg. Posted in All, Reviews, Technology

One of the biggest challenges I face daily is how to build and architect cost effective technical solutions to improve our business processes. While we have no shortage of ideas for processes we can enhance, we are very constrained on capital to invest. With all that said, we still have to operate and improve our processes. Our goal as a business is to be the best at what we do which means we also need to make sure we have appropriate scalable technical solutions in please to meet the demands of our users. Over the past few years our Customer Relationship Management (CRM) database has become our Enterprise Resource Planning (ERP) system. This system tells our staff everything they need to know about our customers, potential customers, and what activities need to be completed and when. This system is an ASP.NET web application with a SQL database on the back end. In the days leading up to our busy season, we had an Internet outage (thanks to some meth tweakers for digging up some copper!) and only one of our offices had access to our system. At this time, I knew that our business required us to rethink the hosting of our server and services. After working with various technical partners, we determined we could collocate our existing server in a data center for a mere $400 per month. While this was a workable solution, the only perk this would really provide us was redundant power and internet access which we didn’t have in our primary location. We still had huge redundancy issues with our server in general, and by huge I mean non-existent. In other words, if a hard disk failed, we were SOL until Dell was able to get us a replacement. Since our busy season of work had just begun, I decided that we’d roll the dice and address the concerns in the 1Q of 2012.

Enter Azure

When Azure was announced from Microsoft, I initially brushed off the platform. I found the Azure pricing model way too difficult to comprehend and I really wasn’t willing to spend the hours, weeks, or months trying to put it all together. Things have changed though! On February 14th, 2012 Microsoft announced that it was reducing the pricing of SQL Azure and I decided to see if I could figure out what that meant. While digging into this, I came across a nice article written by Steven Martin that did a good job explaining the costs.  After reading the article, I decided to evaluate the pricing calculator again.  Winner Winner Chicken Dinner! I could move our entire database to the SQL Azure platform for $9.99 per month!  This would at least handle some of the disaster recovery and scalability concerns.  The only other piece to the puzzle would be our ASP.NET web application.  While I have scalability concerns with that, disaster recovery isn’t really a concern because the data drives the app.  In other words, a Windows PC can running IIS would work until the server is fixed.  But what if the cost wasn’t an issue on the Azure platform?  Would it be worth it?  Five months ago, I couldn’t have told you the cost.  With the updated pricing calculator, I can see that running 2 extra-small instances of our ASP.NET web app will cost $60.00 per month.  VERY AFFORDABLE! While I’ve not deployed our solutions to Azure yet, it is something that I’ve got on the list to complete within the next 60 days.  Hosting our entire application for less than $70 per month (ok, a penny less… but still!) is amazing!  I’ll write another blog entry once we’ve tested the Azure system out, but very promising!!!!!

What if your database was 30GB?

HP TouchPad from OnSale

Written by rsolberg. Posted in All, Reviews, Technology

Well if you’re reading this, my guess is that you were potentially impacted by the fire sale of the HP TouchPads after the insane new price of $99 for the 16GB version was established. While most “Geeks” out there probably already had their tablet of choice in hand already or their eyes on one, the $99 price point made the device very sexy. Simply putting it on your desk as a digital picture frame, or calendar display, or eBook reader at this price would simply be amazing. Below I will recap my overall experience trying to grab one of these hot buys. If you’re looking for one, sorry I’m in the same boat as you!
Obviously something that has so much to give at $99 would be in hot demand. HP sold through their inventory very quickly. Most national and global retailers removed their stock to send back to HP. This left just a few folks whom were selling them through other channels like the re-seller platform through Amazon. On Sunday I came across a tweet alerting folks that the $99 HP TouchPad was available on Amazon. I logged onto Amazon as quickly as I could and ordered 3 of them. Again at the $99 price point, these would offer incredible value and make fantastic gifts. I then decided to pony up the extra coin to have the shipment expedited. After receiving the confirmation emails, etc. from OnSale, the re-seller, I got pretty darn excited. Normally ordering something on Amazon and selecting next day delivery goes off without a hitch. On Monday, I full expected to see a shipment notification from OnSale. Monday came and went and so did Tuesday and still not shipment notification. On Wednesday morning I checked my order status and saw “Shipping Soon.” I figured, this must be good news… I then saw some tweets from people suggesting their order had been cancelled from OnSale since the item was on back order. From the way folks were describing the situation, OnSale apparently oversold their inventory by the thousands. I decided to call Amazon just to make sure everything with my order was OK and they said, “YES” and to call OnSale with questions. I tried, dozens of times throughout the day. I’m guessing thousands of others were as well since all I got was “All circuits are busy, please try your call again later”… Clearly there was a big mess going on. Finally near 5PM I was able to get through to OnSale and they told me that they had no record of my order and that Amazon failed to send it to them. After publicly defending them and Amazon for the mess, I decided I was mad. I called Amazon and they again said, “everything looked fine” and that OnSale probably needed more time to catch up. About fifteen minutes later, I received my cancellation notice.
Clearly there was an inventory management issue somewhere in the supply chain for Amazon.com. While I know Amazon.com is not fully responsible for the re-seller channel, especially in terms of inventory, there wasn’t nearly enough communication. People were checking their front door days after ordering only to find cancellation emails. The communication on this was atrocious. If I were running the show at Amazon.com, I’d send out an email to all those customers whom tried to purchase the device with a recap of what happened, why, and what Amazon.com is doing to make sure it doesn’t happen again. While this fiasco won’t change my shopping habits, sometimes accountability will go a very long ways. If I were running the show, I’d also try to get in touch with HP and work something out. Supposedly HP may have some more inventory available within the week and a large retailer like Amazon may have enough clout to cut a deal on getting devices out to those whom ordered.

MacWorld iPhone4 Photo Contest

Written by rsolberg. Posted in All, Photography

It was a random morning while I was using Google Reader to review some of the RSS feeds that I follow when I saw a plug for an iPhone 4 photo contest sponsored by MacWorld. Normally I would have skipped right over it, but I had just happened to take a photo that I thought turned out pretty cool and decided it was worth a shot… Well this past week I received an email from an editor at MacWorld and my photo took 2nd place! They had received over 600 pictures, and mine was chosen. Pretty cool stuff. With the 2nd place finish came some pretty sweet gear from iLuv. The top item in my loot was the iLuv iMM190.  After downloading the app from the app store, the item is really a great addition for a bedroom, garage, or kitchen.  The sound is good too for its size. I wanted to quickly thank the folks over at MacWorld and iLuv for making the contest happen.  It was fun and interesting to see what others have used their iPhone 4 cameras for.  Some great shots! I added a new “Photography” category here to my blog to catch some of these types of items.  If I’ve won a prize once, maybe I can do it twice!
© Copyright RSolberg, 2003 - 2014. All Rights Reserved