Techie things I like

This is just a fun post, in thinking about technologies I like. Not comprehensive, just what I thought of at the time I was writing it.

I’m sure I could think of more, but those were the first to pop into my head. I’d recommend each of them.

 
June 15, 2010 13:21 by josh
E-mail | Permalink
blog comments powered by Disqus

VS2010 is alive!

Hey, I’m excited.  While I don’t know all the new features, I have been using it.  And I like it. I run it on vmware, and find it quite responsive.  It has a nicer look & feel, and a lot of intellisense improvements.  It’s available now for MSDN subscribers.  But wait about 15 more minutes until my download finishes so you don’t slow it down. :)

 
April 12, 2010 09:32 by josh
E-mail | Permalink
blog comments powered by Disqus

Scott Guthrie Coming to Phoenix on May 10 2010

Just a quick note, Scott Guthrie is coming back to Phoenix again and bringing Scott Hanselman and Jeff Palermo with him.  It’s always a great event.  See details here.

Oh, and its on May 10, 2010 from 8am to 6pm MST.

Scottsdale Resort and Conference Center
7700 East McCormick Parkway
Scottsdale AZ, 85258


View Larger Map

 
March 23, 2010 15:13 by josh
E-mail | Permalink
blog comments powered by Disqus

In praise of Heroku

This is going to be blatant praise of Heroku, but I have good reason. I’ve been doing development for a long time now. I’ve done client-server stuff in many forms for almost all of that time, and I’m including web development in that. When it comes to hosting your app, you have some common scenarios to choose from. I’ll list them.

  1. self hosted server
  2. self managed data center
  3. rented rack space
  4. slice hosting
  5. shared hosting
  6. and the current techo-pop.. cloud hosted

 

I’ve done some for of all except slice hosting. Not an expert, but I’ve learned a couple things. First, there are positives and negatives for each. One thing that gets forgotten is that your hosting choice impacts your technology choices, and vice versa.

It’s less of an impact when you self host or self manage a data center, but there’s a big cost plus in money and maintenance. Obviously, the smaller the hosting package, the cheaper it is and the more limited the performance and storage space. That’s where cloud based hosting comes in. It’s an attempt to let you scale more easily, but development choices get more limited and deployment can be a pain.

That’s not true with Heroku though.

Time out. ..I’m prompted to posted this because of a specific situation. I have a shared hosting account which I want to use to test out small projects we’re working on. The problem is its run under Medium Trust (.Net term if you don’t know). It uses the Spark view engine, so that means it has to precompile the views. That hasn’t gone well. The hosting choice, while economical, has also caused significant development pain to try to get the chose platform to work. Not fun at all actually.

Time back in.. This is where Heroku excels. It’s a cloud hosting service, and deployment is dead simple. You just use git to push your rails app up. You can start with a free account and then buy the appropriate service level from there. Manage your scale, add extra services or features, integrate with Amazon services. It’s all just plain simple. Now I know from the discussion group, that its not perfect all the time. Everything I see is that its quite reliable, and the team certainly is very responsive.

If you are building a rails app.. don’t think, just deploy to Heroku. No stress; should just work. I’d recommend it to any rails shop.  ..I’d recommend it to non-rails shops using rails in any way. You don’t get bound into the specific SDK requirements of Google or Microsoft Azure. Even Amazon EC2 has its technical reqs. In just my casual checks, it looks like their pricing is more than competitive too.

I honestly consider Heroku to be a visionary achievement. I don’t think there was anything quite like it when they popped up, and I’m not sure there is yet. A team of devs decided they wanted a scalable rails hosting solution with easy depployment – something that is still a challenge with rails apps in many places – so they built one. How much easier can something be than checking in your files to a repository?

Great job guys!! To all the rails hacks or pros, just go check it out.

Update: I view Heroku as one of the reasons consider using rails.

 
November 12, 2009 22:35 by josh
E-mail | Permalink
blog comments powered by Disqus

Recommend CodeRush

My name is Josh and I have a problem. I am a keyboard shortcut addict. As such, I’ve found Resharper restrictive because it re-maps a lot of the shortcuts I use most often. Lots of devs like it so don’t take my word for it. I have been using CodeRush (express, pro) more and more. As I do, I’m finding it’s gives you some nice features without getting in the way of those nice shortcut keys.

CropperCapture[20]

What prompted this post is the handy little feature of cleaning up unnecessary using statements and namespacing. Since I like clean, crisp code, this really tickled my aesthetic senses. And earns a +1 for CodeRush.

 
October 16, 2009 07:00 by josh
E-mail | Permalink
blog comments powered by Disqus

Recommended tools: evernote and a composition notebook

I’ve recommended Evernote before, and I’ll do it again. If you take notes like I do and don’t always work on the same machine, then you will run into times when you don’t have the notes you took while at another location. Evernote solves this. Plus there’s a lot more functionality that I’m not even using. Today for the first time, I dragged and dropped an image onto an note. It embedded in the note, and I can log into the website and see the same note with the embedded image. It’s a simple thing which I really appreciate.

image

I also carry a composition notebook around a lot. It’s a lot cheaper than a moleskin, and nicer than a spiral notebook. I use this in meetings because I don’t bring a laptop to most meetings. These two simple things help me keep nicely organized in business.

Oh, and the evernote image was captured with cropper. Another helpful tool.

 
October 14, 2009 13:54 by josh
E-mail | Permalink
blog comments powered by Disqus

Works on my machine

Are you really making your builds with Visual Studio? Please tell me you aren’t using VS in the command line to compile your application. You do realize there are better ways, don’t you?

Some suggestions:

  • Use a command line tool such as MSBuild or nant for long running builds – VS takes a while to compile a long running build because of the visual feed back it provides. It does a fair job and all, but it’s not going to beat running msbuild or nant. MSBuild is the easier of the two to pick up because it knows how to use the solution file as the build script. With nant, you have to write your own. For both, you will need a separate script to do things like deploy files or run unit tests.
  • Use TeamCity or CruiseControl.net to automate your build process – CruiseControl and TeamCity will help you automate your builds. CCNet requires build scripts; TC does not.
  • Automatically pull updated source code – have your build process pull updated source code each time. This way you can take some of the pain out of the build process and find out if the build works.
  • Run your automated builds on a separate machine or different folder – Meaning, don’t run your automated build in the same place you work on your code. This avoids the “works on my machine” problem.
  • Use known tools – Sure you can make your own build server, but should you? Look for known tools which you can extend or configure to meet your needs. Building your own for your special circumstance will likely bite you later when that special circumstance changes; or you just outgrow it.

 

Building your application doesn’t have to be painful. It doesn’t have to result in moans and growns when you find things are missing. You can automate it with moderate or little effort, and then let it run often. You will get a better idea of how your work is going and find out more quickly. This is basically what Continuous Integration is about. It’s not hard, and you will see the benefit quickly.

 
October 12, 2009 17:00 by josh
E-mail | Permalink
blog comments powered by Disqus

Hello Git

We just moved company code from subversion to git. And I’m very happy about it! Over the years, I’ve used Visual Source Safe, ClearCase, CVS, Subversion, and now Git. Of those, Git is my new favorite. Yes, I’ve heard good things about Mercurial and bz; just haven’t used them. I’m currently working with someone who has some good points on TFS too.

The reasons are simple: performance, local history, distributed repositories, easy merges, and selective change sharing.

We have a master repository currently on unfuddle (recommended). Commits and merges are so ridiculously painless and performance is so much better, that small and frequent commits are just natural. We haven’t really taken advantage of the branching features yet, but feature branches are something I intend to play with.

Next up, moving our open source repository to GitHub. I expect git tooling will improve as more people use git on windows. For now, I’m using msysGit and command line tools.

-j

 
October 8, 2009 12:38 by josh
E-mail | Permalink
blog comments powered by Disqus

Some OSS Projects I follow

I’m posting this mostly for my own reference, but also to promote good work by smart people.

 
August 17, 2009 07:00 by josh
E-mail | Permalink
blog comments powered by Disqus

Learning With Podcasts

A lot of us devs listen to music while working. Why not learn something at the same time, or even sit back and learn while not working? I do, and wanted to share a few good sources.

I’m a little late to the party, but I’ve noticed this podcast series called Herding Code, which looks great! There’s a lot of topics so go check it out and be sure to check out this episode with Damien Guard.

I also recommend Hanselminutes, Railscasts, NPR’s Cartalk, and Coffee Break Spanish (along with other Lingua Network podcasts).

 
June 19, 2009 12:00 by josh
E-mail | Permalink
blog comments powered by Disqus


about josh

another programmer blogging about his misadventures in writing code.

Contact

contact us for website & software consulting

Decide

decide on pragmatic solutions

Develop

develop your product together

Succeed

achieve your goals with our services