Archive for the ‘Win’ Category.

Linux tools on Windows

If you are like me, you don’t want to be bothered to remember if you are working on a Windows or a Linux box. Things like ls, curl etc, should just work. So if you are missing the Linux tools on Windows and you don’t want to install the heavy Cygwin, then the is an alternative, Gow is a lightweight set of Linux Tools for Windows.

Gow can be found here

Chocolatey

I played with Chocolatey today, I figured lets create an package to setup a development machine. Add handy packages that you might want starting out on a new machine. This is handy as well when you have a new developer joining your team, you can set them up with some common tools.

First create the spec file as below

<?xml version=“1.0”?>
<package>
  <metadata>
    <id>SoftwareCreations.devset</id>
    <title>SoftwareCreations.devset</title>
    <version>0.09</version>
    <authors>Orn Kristjansson</authors>
    <summary>Software Creations, installs dev tools.</summary>
    <owners>Orn Kristjansson</owners>
    <description>Installs handy development tools.</description>
    <projectUrl>https://github.com/ornatwork/</projectUrl>
    <tags>SoftwareCreations devset tools development</tags>
    <copyright>Software Creations</copyright>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <iconUrl>http://kristjansson.us/favicon.ico</iconUrl>
    <dependencies>
      <dependency id=“fiddler” />
      <dependency id=“filezilla” />
      <dependency id=“winrar” />
      <dependency id=“sublime” />
      <dependency id=“gimp” />
      <dependency id=“dotpeek” />
      <dependency id=“grepwin” />
      <dependency id=“skype” />
      <dependency id=“testdriven.net” />
      <dependency id=“MagicDisc” />
      <dependency id=“winmerge” />
      <dependency id=“tortoisesvn” />
      <dependency id=“TortoiseGit” />
      <dependency id=“windowstelnet” />
    </dependencies>
    <releaseNotes>
    </releaseNotes>
  </metadata>
  <files>
    <file src=“tools\**” target=“tools” />
    <file src=“content\**” target=“content” />
  </files>
</package>

For this spec I have only dependencies which means I’m not really installing anything myself. Rather pulling and installing the dependencies. As such there is a /tool directory that has a PowerScript file that doesn’t do anything. Secondly since some of these packages have /content directory that needs to be created as well. If not an error will be thrown when the package is run ( that’s a bug ). There for I just put fake.txt file in that directory that is enough to get around the error.

My source can be found on GitHub

Since I don’t like doing tasks by hand that can be automated I created a nant script to create the package and push it up on the Chocolatey server. When I make a change to the package I save it and then on the command line just run the nant script.

For example
> nant -D:version=0.10

<?xml version=“1.0”?>

<!– Chocolatey fun –>
<project name = “SofwareCreateions.devset”
                 default = “PackAndDeploy”
                 basedir=“.”>

  <!–  Register the sys.* properties; most specifically, sys.env.* for all environment vars   –>
  <sysinfo failonerror=“false” />

  <!– The version number for the package –>
  <property name=“version” value=“0.01” dynamic=“true” overwrite=“true” />
  <property name=“BuildDrive” value=“${string::substring(project::get-base-directory(), 0, 1)}”  dynamic=“true” />
  <property name=“path.base.drive” value=“${BuildDrive}:\” />
  <property name=”cmdChocolateyPath” value=”${path.base.drive}\Chocolatey\bin\” />
  <property name=”cmdChocolatey” value=”chocolatey.bat” />
  <property name=”nugetFile” value=”softwarecreations.devset” />

  <!– This is the main / default target –>
  <target name=”PackAndDeploy” depends=”Start, UpdateVersion, Package, Deploy“>
    <echo message=”Done !“/>
  </target>

  <!– Individual targets below, those should NOT have any dependancies –>
  <target name=”Start” >
    <echo message=”*** Version number=${version} “/>

  </target>

  <!– Update version number –>
  <target name=”UpdateVersion” description=”Update version files to the current version being built.”  >
   
    <echo message=”*** Start updateVersions: ver=${version}“/>
   
    <!– Update NuGet package version –>
    <xmlpoke file=”softwarecreations.devset.nuspec” xpath=”/package/metadata/version” value=”${version}” />

  </target>

  <!– Package –>
  <target name=”Package“>
    <echo message=”Start Package:“/>

    <echo message=”Push to Nuget feed:“/>
    <!– Deploy to Nuget Gallery –>
    <exec program=”${cmdChocolateyPath}${cmdChocolatey}” verbose=”true
          commandline=”
pack ${nugetFile}.nuspec“/>
   
  </target>

  <!– Deploy –>
  <target name=”Deploy“>
    <echo message=”Start Deploy:“/>
   
    <exec program=”${cmdChocolateyPath}${cmdChocolatey}” verbose=”true
          commandline=”
push ${nugetFile}.${version}.nupkg“/>
   
  </target>

</project>

My package and it’s content can be found here If your have Chocolatey installed you can run it from the command line, like so.

> cinst SoftwareCreations.devset

Chocolatey is like apt-get on the Linux box, when you start using it its hard to go back to the manual search – webpage – download – install routine. There are only about 1200+ packages available at this point but that will grow going forward for sure.

Linux daily driver

As I posted previously , I was thinking about switching my newest computer I use day to day to Linux instead of Windows. Recently I did the big switch, not really that big when you consider Mac, Linux and Windows are starting to look and feel pretty similar to each other. In any case I installed the latest Linux Mint 13 about a month ago and I’m very happy. I was cautious and installed Win Xp in a Virtual machine with the programs I was already using on my Win xp, frankly I haven’t turned it on for a few weeks now. After the install I plugged in the old Win hard drive, to my surprise Linux mounted it for me without any tinkering. I can access all the windows files directly from the hard drive, sweet.

I was most worried about video production on Linux, I knew Mint takes good care installing all the video codecs, no problems there. I found WinFF which is great for any conversion between different video formats. The video editing software I like the best are Cinalerra, OpenShot and Kdenlive, in my case I like Kdenlive best. I did a couple of short videos with it that came out pretty good. The only complain is that the finer control of video and audio is not as easy as in Adobe Premier. I still have Premier on the Win Xp running in virtual machine, but I’m trying not to reach for it. The overall productivity on the desktop has gone up and one can’t beat the workspaces. With the workspaces you can group together programs your using together. Often I find myself having a browser and email in one workspace. Development tools in another and sometimes terminal, database tools in another. Things seem to be more readily available to you than in Windows. I also like the look and feel, graphics are smother and better overall.

To answer the question I was going to answer. Am I happier on Linux than Windows, do I like the switch ?
Yes, you bet ! I just can’t figure out why I didn’t switch sooner. I might have something to do with old habits. You just get used to something and you stick with it. In the past when I would install Linux on my old box there was always some tinkering under the hood. Not good for the average user that is not technically inclined. However with my Mint 13 install I have not had to tinker under the hood for anything at all, it just works !

It’s time for daily Linux Mint

I have always run my Linux on a hand me down box. My current computer, the one I’m using daily always runs some flavor of Windows. When I buy a new computer as the old one isn’t fast enough I will take the current one and make it my new Linux box. As such the Linux box is always one generation or more behind. That means old hardware that doesn’t even have good graphics.
It is that time again, I need a new computer soon. As I was thinking about it I was thinking how well my Linux desktop will run on the new hand me down window box after all it’s still pretty powerful. Then I thought, I have been saying to myself for years that I should start running Linux as my daily computer. I never felt it’s quite “there”, but with my latest Linux desktop experience on Mint 10 I really think it’s “there”.
I do also know why I think its really there, there were two problems that bothered me in the past. The graphics and the resolution on the desktop were just not good enough. I could never get it right on Ubuntu, after I switched to Mint it was practically setup for me automatically. Something I had been digging for both from control panel config settings and lower lever configuration on Ubuntu, it just didn’t happen. The second thing is that I’m used to the windows keyboard and the numeric keypad works differently on Linux. Yes they have windows compatible mode as well that you can set and your good to go. Once I had both these things going I have been pretty happy on the Mint desktop, pretty productive as well.
I think the time is really here, I’m getting a new daily computer that’s going to run Linux Mint. I will keep the current / old box around for windows for a while, just in case. However I will be running the windows stuff I might still need in a virtual machine on the Linux box. That should take care of any windows needs I might have. I can’t see many off hand, maybe some graphics and video editing. Open office will take care of the usual documents or google docs might do just fine. Although Mono develop is available I will most likely have to run Visual Studio, Mono is always a little bit behind .Net. The good news is that Eclipse works fine on any platform. Frankly there is not much that I have to run on Windows anymore and Linux is getting to be pretty nice and usable desktop. Linux has of course always been really strong as a server and that won’t change.

Bundled Apache + SVN

I finally installed Subversion as my local repository. I had used the windows CollabNet server at work it works great, but I decided to try VisualSVN at home. I have to say I like VisualSVN better. With the latest version both of them give you the ability to install Apache during install, but VisualSVN takes the win with their management console. Very easy to use GUI, similar to the Microsoft Sql Server. From the console you can setup up your repositories, users and groups. It is also very convenient to setup group permissions for your repositories.

visualsvn

Note, when you install the Apache server wants to use port 80 or 443 / SSL port. Of course if you have IIS running you will most likely be using those ports for IIS. So either shut down IIS, or figure out which ones gets to use the default port.

Installing on Windows and using the VisualSVN console I had one user and two repositories up in about 5 minutes, very snappy indeed.

My alarm clock

I figured it out the other day that I had stopped using the alarm clock.  I just got used to waking up after a good night sleep.  Then I had to take my son to 6.45AM ! hockey practice, in that case the alarm is man’s best friend.

I got this one in New York, in one of those electronic stores around Times Squire.  The sticker price was $22.50, I went deep in my pocket and came out with $15.  That’s all I got I exclaimed and started walking out.  But the clerk said to my astonishment.  That’s ok take it, $15 is good.  That was a nice bargain, I thought.  I still have it today 10+ years later.  Although the snooze button doesn’t work anymore.  The snooze is a scam anyway,  if the alarm goes off get up.

Here is the last clock that I bought, not that I really needed one.  I just though the binary clock was pretty cool.

I spent some time surfing tonight, here are some thoughts / links.

You heard about Chrome, right ?  Sorry, Chrome is long dead.

And what does the TCP header really look like.

Oz just got bought, I used to work at Oz before leaving for New York.

Walk down microsoft Windows memory lane

Message Computer in a bottle.

Cheers !