My Company

Who am I?

 My name is Yoel Sommer. I own a small software company in Chicago, IL. I write about small business challenges, technology and life in general.

Friend Me



Top
Thursday
21May

Why ASP.Net is better for your web application/site

As a small software company owner I encounter customers or leads that often come with the assumption that using open source technologies is better for their web applications/sites. I believe the opposite it true. There are numerous articles that discuss this aspect on the technical perspective and most them agree that asp.net is much superior language than the other open source options, but I would like to explain my view from a diffrent approach.

The Iron Triangle of software has three points Scope, Resources and Schedule and they all affect the quality of the software. Lets look on each aspect and see where is the advantage of ASP.Net.

Resources (Cost, Budget)

I know it sounds weird, how come open source is more expensive the a technology that Microsoft developed. Well, the fact of the matter is that there is a free development tools for Asp.net which includes the code editor, web server and FTP client.

Also, MS has a free version of SQL Server that will allow you to run any small-medium size website without need to upgrade to full blown version of SQL.

Due to the scalability of ASP.Net and the amount of 3rd party controls, code samples and documentation the developer is able to deliver more features and functionality to your website for the budget you have compare to an open source solution. Which brings us to the next point.

Scope (Features)


Asp.net has direct access to the entirety of the .NET framework class libraries, which encompass a vast amount of functionality like Security , Data Access, Memory Management, user interface and network communication modules.
This allows a developer to build a richer more sophisticated application that could deliver a more stable, scalable web solution.

Time


There is always this misconception that developing with asp.net is more time consuming. The opposite is true. ASP.Net was created for RAP (Rapid application development). The tools that the developer is provided with and the framework as indicated before, allows the developer to construct the application in a rapid manner and focus his attention to the business logic. Therefore, giving the developer the opportunity to use the time that he gets in a more efficient way.

Last point I would like to make is that there is this notion that by using ASP.net for web projects you are committing your self to the "big bad wolf" Microsoft. Well, the truth of the matter is that you are not really committing to anything, you are just using a better framework/ technology to build your website. As indicated above, there is no monetary commitment to Microsoft, and when a new version of the framework comes along you could choose to upgrade or not based on the added value. The same that you would do with an open source solution.


In sum, although ASP.Net has its share of disadvantages which you could find easily by searching "ASP.Net disadvantages" in any search engine, ASP.Net is still a better option for web development today.

Thursday
30Apr

Moving my Blog

I have been hosting my blog for the last couple of years on a shared server, but I started to feel that I am spending more time on maintenance and upgrades than actually writing in my blog. So I decided to move my blog to engine I heard a lot of good things about and that is Squarespace.com . So, here I am. after spending an hour on exporting the data, setting up my blog etc. Its ready!

Sunday
01Mar

Setting a default value on all Bit columns in a database

Its been a while since I wrote in my blog but I wrote and interesting script (in my opinion...) that I thought is worse while to publish. Problem: I have a database that has several hundred tables and on some of them a bit field that is set to not null but doesn't have a default value. Solution: I wrote a script using the system tables which goes over all the tables and if it doesn't have a default value, and "ALTER TABLE" command is run and sets a default for this field. Here is the script:

declare @sqlString nvarchar(4000),@tablename nvarchar(100),

@ColumnName nvarchar(100)select

so.name table_name

,sc.name column_name

,st.name data_type

,so.id table_id

,sc.colid column_id

into #temp

from sysobjects so

inner join syscolumns sc on (so.id = sc.id)

inner join systypes st on (st.type = sc.type)

where so.type = 'U'

and st.name IN ('BIT')

select c.TABLE_NAME, c.COLUMN_NAME into #temp2

from INFORMATION_SCHEMA.COLUMNS c, #temp t

where c.TABLE_NAME = t.table_name and c.COLUMN_NAME = t.column_name

and c.data_type = 'bit' and c.COLUMN_DEFAULT is null

drop table #temp

while (select count(*) from #temp2) > 1

begin

select top 1 @tablename = table_name, @columnname = column_name

from #temp2

set @sqlString = 'ALTER TABLE ['+ @tablename + ']
 WITH NOCHECK ADD CONSTRAINT [Df_'
+ @tablename + '_' + @columnname + ']
 DEFAULT (0) FOR ['
+ @columnname +']'

print 'setting default on table: ' + @tablename + ' Column: ' + @columnname

EXEC (@sqlString)

delete #temp2 where table_name = @tablename and column_name = @columnname

end

drop table #temp2
Sunday
02Nov

Cloud Computing

I just finished reading an article in this week Economist about the new craze in IT, Cloud Computing. This week Microsoft released a CTP version on Windows azure, a cloud based operating system. I first heard about the concept of cloud computing back in June when I was invited to a Microsoft focus group. At first, I was a little sceptic regarding the concept but now I could see that this is part of the natural evolution of the computer and the interaction between humans and computers.

When I started to play with computers (literally, play with computers) back in 1988, the computer had the shape of a box. Actually two boxes, one a 14" CRT Monitor and the Computer itself. Most of us some of us still use the desktop computer, but the trend today is that computers are becoming smaller and smaller and more distributed. It's seems that everyone today has a laptop either a MAC or a PC, and in many cases you will find that a family household holds between 2-3 computers. 

So how does cloud computing comes into play? very simple. Every one today uses somekind of cloud computing service like gmail, flickr, facebook. We use it to store picture, information, movies etc. With the Web 2.0 revolution a lot of software that we used on our computer we could now use a web application. If its office, google has a pretty good alternative. For personal finance you could use mint.com and the list could go on and on. 

I think the next step in this evolution is pretty obvious. The next generation computer will have a touchscreen, and a wireless network card. The operating system will be very small and compact and will just need to do one thing, connect you to the Internet. Once you got the connection, what else do you need?

Of course this next step has its disadvantages like privacy and security. Think about it, the simple notion is that the services that we use online are hosted on servers owned by corporations. So if you think about it, whatever you put online is out there and you don't always know who could be sniffing around.

In sum, like it or not cloud computing is here and its here to stay. Due to the relative low costs of servers and equipment companies like Microsoft and google are spending millions of dollars on building this cloud environment and the consumers are flocking to use these type of services. And I think that if you at it at the 50,000 feet level this all makes sense.

More about Cloud Computing:
Monday
24Mar

Shipping (Could we make it a little more effective?)

I have to confess. As a normal geek, I buy a lot of stuff on the internet. As a good consumer I will research the product, look for the best price and once I am happy with what I found, I'll make the purchase. Usually, when I shop online I would look for th cheapest shipping method, unless of course it extremely important that I have the thing I'm buying within' a day. Most cases, if I ordered online, I could wait the 5-7 business days till I get the thing.The problem is that shipping cheap cost you more than you would expect. For example, if I order something personal that I can carry on my way home I will order it to the office, but if its too big than I need it to be shipped to my home. Well, here is the problem. First, they will never tell you when the item will arrive to your home. Second, the messenger will come and of course and nobody will be there to greet him so he will leave a sticky note indicating the next time that will appear... I don't how they manage their time but always they put 10:30-2PM which means that that day I have to work from home unless I want to drive 15 miles to get the item. Now, you would think that if the messenger puts 10-2:30, he or she will actually be here... HA! you guessed wrong. So ,here I am still waiting for my package (btw it's already 4:30). I wish that the shipping companies (UPS, DHL and Fedex) would invest a little bit in making the quality of delivery better because each coin has two sides, as a business owner I will not ship with a company that makes me salty at home all day long waiting for my package. Frustration ahead...!