Wednesday, August 20, 2014

DimeCasts.net Redesign - Part 1 - Getting to Know OS X Mavericks














The Current State of DimeCasts.net

Dimecasts.net (a personal pet project of mine outside my daily job) as it stands right now is a site that has been sitting there, stuck in time.  It's had static cast content that has not been updated with new content in more than 2 years, as the site had been untouched after 2012 by previous owner Derik Whittaker who had since then become busy doing other things such as now he's doing videos for Pluralsite, more blog posting, speaking, kids, job, etc.

As it stands right now the production site stack is the following:

  • ASP.NET MVC 1.0
  • NHibernate
  • SQL Server 2005
  • Tables drive the structure of the website
  • jQuery (very old version)

Redesign of DimeCasts.net

One of the goals of redesigning DimeCasts.net was to venture out of the Microsoft world including code.  I've worked a lot with Subversion, a little Git, some Dojo on the job, etc. but there's a ton out there and things are so much different now that it's a shame I'm still stuck in only .NET and MS tools mainly in the jobs I've been taking.  In fact I've tried very much to stayed away from painful tools like TFS, and others that are simply bloated and get in your way rather than make it easy for you to get your job done.  One would not know the pain one is dealing with in TFS unless they have ventured out and used other tools like Subversion, Git, etc.  

Most .NET devs look at me like are you crazy, TFS sucks?  Then I ask them is that all you've ever used?  It's usually "yes" OR "I tried subversion or Git and it's not good, it sucks, or it's hard".  That's just like saying "Resharper is no use" which both are completely bogus statements to be making.  If you haven't tried to use a tool like Subversion, ReSharper for more than a day before you give up, then don't tell me TFS is the bomb either.

I wanted to get more versed in stuff like Node.js, Angular.js, Express for Node.js, Grunt, Jasmine Test Runner, etc.  And what better personal project and opportunity to apply that than Dimecasts.

And one of the main things was I'm gonna do this using the Mac OS.  Yes you can run node in Windows but I want to know how the rest of the world does hit outside Microsoft.  So I am forcing myself to use the Mac OS for redesigning Dimecasts.net.  So this first post is about just getting around and my feet web in the OS.

As I started to use OSX Mavericks, I was pleasantly surprised at what a nice operating system this is.  Previously  I was in the boat of "Mac OS sucks" which is what most .NET devs will bitch about and run away from.  However, sometimes we have to open our eyes and stop making statements that are totally outdated and monolithic and actually try things again.  After all things have drastically changed since 5+ years ago.  

If you're still naive enough to say the Mac OS sucks, Node.js is puke, and JavaScript is trash, then you are being stubborn and speaking either on heir say or you are not informed when you say these types of comments.  Unfortunately I have to say it, that most .Net devs fall into that bandwagon.  It's sad, and I have realized that there are way more things outside .Net that are far more fun and being used more and more that it's just dumb of me not to get to know it.  I think it's sad that most .NET devs that I know at least are so biased and think that the only thing that should and does live in our world is Microsoft technology.  I'm not saying I don't like C#, ASP.NET MVC and sorts but MS falls short in a lot of tools where others make your life a hell of a lot easier that you could be using with your MS codebase.

When I did Dojo & Dojo MVC a couple years ago, it opened my eyes to what a JS Framework can do for you.  Granted Dojo is the older JS framework and less desired now that there are frameworks like AngularJS, Backbone, whatever but Dojo had apparently been drastically redesigned and now uses some of what most JS frameworks have, at least some of it.  

I wouldn't use Dojo as a framework personally but still, it has MVC, etc.  And showed how JS can be elegant and maintainable and fund to code in.  These frameworks show the power of JS.  Ok, ok for those of you who must have a T-Shirt that says "JS sucks", again, don't be so naive.  Yes it's a bit of a pain to debug but try out a framework, you'll find JS can actually be decent even though it's not a typed language.  That's where you need to again open your eyes and install tools like Webstorm, IntelliJ, etc. that have super rich intellisense that will drastically change how you debug and code in JS and make a lot of the chores an d pains of coding in this language melt away.

Remember, jQuery is not a framework, it's a JS Library, those are 2 completely different things with different purposes and uses, but both can be used together of course to create powerful websites.  jQuery can live on top of a JS framework Views to provide additional functionality, but it doesn't provide an MVC framework, stuff like Angular and other serious JS Frameworks provide you.

Don't get me wrong, we'll still be looking to add a ton more casts around .NET technology but we're also looking for casts on a slew of other code subjects outside MS as well now.

OS X Mavericks

One of the first things I missed form Windows (I am running Windows 8 dual on this Macbook Pro BTW) was OneNote because I put a ton of information and notes about code as I come across stuff I want to revisit or have handy, errors I've come across and how I resolved them, family and personal info, you name it.

One of the first wins after venturing around in the Mac OSX was I found out that OneNote is FREE through the app store which rocks.

After installing OneNote, I was ready to rock and roll because now I could document and create screen shots of stuff for both blogging and just for remember wtf I did in my journey to recoding this great site.

Second, being a Mac OS n00b, I noticed that Ctrl + C is not a shortcut in the MacOS for copy.   Not to mention you scroll in the opposite direction in the Mac OS in order to go up and down compared to what I'm used to in Windows.

Third, I wanted to get a pic off my DimeCasts twitter page to put in this blog post.  In windows 8, all I had to do was to use the OneNote very handy screen capture tool that lets you drag and select an area of your screen and then puts that into your clipboard for you...very convenient.  I thought to myself hmm, where is their image editor and how can I copy full or partial parts of my screen to the clipboard? TBH, other than of course resorting to searching the net, there was nothing in the apps or utilities list in the OS that yelled out at me as "Hey I'm an Image Editor!"....or "hey you can use me to capture parts or your entire screen".  I didn't even know how to print screen in the Mac OS.  So I started to get to know the Mac OS Maverick Shortcuts.  And then how would I get that image from my clipboard and into a file so that I could work with it in a graphic editing program?  And I quickly found out by doing a search that Preview is the default image viewer & editor in the Mac OS for image editing.

So far, other than finding an image editor and how to work with the clipboard and screen capture, the journey has been smooth.  

Stay tuned for Part 2.

No comments:

Post a Comment