Archive for March 2011

New Laptop Hard Drive!

I just got a new 250 GB 7200 RPM laptop hard drive for $45 bucks from NewEgg.

I plan on installing Windows 7 SP1, FreeBSD 8.2, and PC-BSD 8.2.

You know what would be interesting is to link /usr/home on FreeBSD 8.2 and the PC-BSD 8.2 OSs so that my /usr/home/jared is the same directory on both.

40 Web Sites for Web Developers: From Tripwire Magazine

40 Online Generators for Web Designers Should Bookmark

Quote:

Online Generators for Web Designers can be a great way to save time in your web design projects. High-quality generators can create graphics or code or even layouts in a matter of seconds or minutes, things that might take an hour or more if done by hand. Online generator are those tools that help us to create those popular “XHTML valid” CSS banners, micro buttons or css website templates in seconds. In such cases online generators can be of great help which do the necessary job and some tools don’t have to be downloaded also. We all know that backgrounds play a crucial role in a design. Web Designers sometimes spend a lot of time in making pattern or stripe backgrounds and there are also tool to help you out here. In this article, I have listed some of the online generators that can save you some time and still give you great results.

Read more…

Apple is repeating history! And not in a good way.

Apple will lose the majority of the phone and tablet market in just a few years!

When Apple could have been the operating system of choice for the majority of desktops back in the late 80′s and early 90′s, they limited themselves to their own hardware, and opened the door for getting blown out by the competition, which was then, Microsoft and maybe IBM.

Just as Apple lost the majority in the desktop market in the 90′s, they are making the same mistakes and will loose the majority of the phone and tablet market. They are repeating history with the iPhone and iPad, and Google’s Android and Windows Phone 7 are going to be malleable and improved by dozen’s of different companies. One of these operating systems, my guess is Android, but don’t look passed Microsoft just yet, is going to have the majority of the phone and tablet markets. Apple, is going to end up again, with the smaller share.

Sure, just like the Apple computer is still around, somewhere between 20% and 30% market share, the iPhone and iPad will hang around with a good enough market share to be a solid company. Apple has nothing to worry about if they are fine not being the number one most used operating system on phones and tablets.

Apple will continue to be a more expensive model that isn’t as compatible with the rest of the world (do they have Flash yet?). Despite taking the lead in the smart phone and tablet markets, Apple will end up once again as a second, and maybe even a third choice.

My boss and a few coworkers (all developers) and others at my work have turned in their iPhone’s for Android phones and we have had the conversation I have just posted and we all agree on it. Our we right? Or is this just a geek/developer thing? We like control, and with Apple, they don’t give it to you.

It is interesting to see articles that already are hinting at this without exactly realizing it.

http://www.megatechnews.com/apple-ipad-2-post/
http://blogs.computerworld.com/17913/ipad_2_vs_android


Asp.Net web services on FreeBSD and Apache using Mono

Asp.Net is cross platform using mono. Novell SUSE and Microsoft and others companies are dedicated to making .NET Framework a cross platform solution. Asp.Net web services are limited to running on windows, but can also run on other platforms, such as FreeBSD.

FreeBSD has ports for mono and mod_mono and can easily run web services build with Asp.Net. Here is a tutorial to make this happen.

Preparing a FreeBSD system for Asp.Net on Apache using Mono

Information

A good place to start reading is the getting started page on the mono project’s web site.:
http://mono-project.com/Start

This has the resources you need for most things, however, the documentation is designed mostly for SUSE Linux, so be prepared for slight differences on FreeBSD.

Step 1 – Install Apache

Install Apache on FreeBSD as follows.

  1. Change to the ports directory for Apache and run make install.
    #
    #
    cd /usr/ports/www/apache22
    make install
  2. Configure Apache to load on start up.
    # echo ‘apache22_enable=”YES”‘ >> /etc/rc.conf
  3. Leave Apache stopped. We will start it later.

Step 2 – Install mod_mono

Installing mod_mono will also install mono and xsp. Install mod_mono as follows.

  1. Change to the ports directory for Apache and run make install.
    #
    #
    cd /usr/ports/mod_mono
    make install
  2. Because on FreeBSD these packages work a little differently, you don’t need to do some of the steps listed on the mono website because they are done for you. Here are some key paths and differences in the packages on FreeBSD that you should know about.
    • The mod_mono port installs a mod_mono.conf file to /usr/local/etc/apache22/Includes which is automatically includes in the httpd.conf, so you don’t have to add an include manually.
    • The xsp port adds sample ASP.NET web services to /usr/local/lib/xsp.
    • The apache root directory is /usr/local/www/apache22/data
  3. Here are the contents of the mod_mono.conf file. Notice that this Apache include file loads a couple modules, adds a bunch of types, and adds a few files as DirectoryIndex options.
    # mod_mono.conf
    
    # Achtung! This file may be overwritten
    # Use 'include mod_mono.conf' from other configuration file
    # to load mod_mono module.
    
    <IfModule !mod_mono.c>
        LoadModule mono_module /usr/local/libexec/apache22/mod_mono.so
    </IfModule>
    
    <IfModule mod_headers.c>
        Header set X-Powered-By "Mono"
    </IfModule>
    
    AddType application/x-asp-net .aspx
    AddType application/x-asp-net .asmx
    AddType application/x-asp-net .ashx
    AddType application/x-asp-net .asax
    AddType application/x-asp-net .ascx
    AddType application/x-asp-net .soap
    AddType application/x-asp-net .rem
    AddType application/x-asp-net .axd
    AddType application/x-asp-net .cs
    AddType application/x-asp-net .vb
    AddType application/x-asp-net .master
    AddType application/x-asp-net .sitemap
    AddType application/x-asp-net .resources
    AddType application/x-asp-net .skin
    AddType application/x-asp-net .browser
    AddType application/x-asp-net .webinfo
    AddType application/x-asp-net .resx
    AddType application/x-asp-net .licx
    AddType application/x-asp-net .csproj
    AddType application/x-asp-net .vbproj
    AddType application/x-asp-net .config
    AddType application/x-asp-net .Config
    AddType application/x-asp-net .dll
    DirectoryIndex index.aspx
    DirectoryIndex Default.aspx
    DirectoryIndex default.aspx
    

Step 3 – Add the “test” web service to the Apache root directory

In /usr/local/lib/xsp, added by the mod_mono port, is a “test” folder that contains sample web services. Ther

  1. Copy /usr/local/lib/xsp/test to /usr/local/www/apache22/data.
    # cp -fR /usr/local/lib/xsp/test /usr/local/www/apache22/data/

Step 4 – Start Apache

  1. Start Apache with this command:
    # service apache22 start

You should now have Apache configured to run Asp.net.

Step 5 – Open the “test” folder in a browser

  1. Open your favorite browser on a workstation that has access to the server you just finished installing.
  2. Go to the URL of your server. For example, the url for my test server is this:

    http://192.168.0.43/test

  3. Browse around and test the web services.

Step 6 – Install Libraries as needed

    1. Determine if you need additional libraries.

With the bare minimum installed, you can almost guarantee that a web service is going to require a library you do not have installed. In fact, clicking on the second link in the “test” site, code-render.aspx, shows us this error.

Server Error in '/test' Application

gdiplus.dll

Description: HTTP 500. Error processing request.

Stack Trace:

System.DllNotFoundException: gdiplus.dll
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x00000] in <filename unknown>:0

Version information: Mono Runtime Version: 2.6.7 (tarball Tue Mar 1 06:10:28 MST 2011); ASP.NET Version: 2.0.50727.1433

This library can be found and installed.

  1. Go to the directory for the port and run make install.
    #
    #
    cd /usr/ports/x11-toolkits/libgdiplus
    make BATCH=yes install

    This has some Xorg dependencies so compiling it could take a while. Notice the BATCH=yes parameter passed to make above. This will prevent any prompts and accept the defaults for every port this command compiles.

Visual Studo Power Tools

I just installed Visual Studio Power Tools.

Visual Studio Power Tools | MSDN

I will see if there are features that I actually use.

Using Path.Combine in C# to eliminate bugs with concatenation

I read a post about the C# function called Path.Combine() today.

Use Path.Combine instead of Concatenating Paths

I love finding these little functions that I didn’t know about before. These are so simple and yet so efficient. I combine paths all the time and I have to spend time making sure that I have all the slashes where they need to be and this is just more work than it should be.  Sure enough, if you use the Path.Combine function, it does this for you.

See Path.Combine on MSDN.