So you want a promotion as a programmer?

Disclaimer: Opinions in this post are my own and do not reflect the opinions of my employers past, present or future.

I’ve been very blessed at my current job. I started in the lowest development job title and I’m currently in the highest non-management development position. I’ve received 3 promotions over the span of the 7 years I’ve been with the company. Getting a promotion without job hopping can be really challenging. I think there is much more respect to be earned by staying at a single company working your way through the ranks. Here is a collection of helpful tips I’ve seen through my own promotions and other people’s promotions. Keep in mind that all companies are different and these may not apply to every job.

Communicate

Let your boss know you are interested in a promotion. I was once a holiday hire at a retail store and there were 2 spots for permanent hires after the season. I was the top holiday hire, but they overlooked me because I had been talking about applying somewhere else. I missed out a pretty decent gig because I didn’t let him know my intentions.

I would encourage you to sit down with your supervisor and make sure he knows your career goals. Follow up with them regularly to make sure you are on track.

Prove your WORTH

Have you ever thought “I deserve a promotion!”? If you have, go ahead and slap yourself really hard in the face. Like, right now! This is totally the wrong attitude to have when looking for a promotion. You need to prove you are worth a promotion.

Every company has a different method to determine the value of their employees. In my scenario, clients are charged per hour for my work. I pushed myself to learn as much as I could. This allowed me to work on more projects and being good at it.

You should not confuse this with working extra hours. Working 60 hours a week to prove you are Sr. Developer material will do more harm than good. You will set the expectations that you will always work those hours and you wont ever be able to get back down to a 40 hour a week work load. You should spend time outside of work reading and trying to expand your skill set. You wont always be provided opportunities to try new stuff and outside dedication will demonstrate your desire to improve and grow.

It’s important to never judge a promotion based off another employee’s experience. I helped out Sr. Developers on jQuery all the time when I was a Developer 1. I frequently thought the roles should have been switched and I was the one getting help. I thought that I should be the Sr. Developer because I was more intelligent on the subject. I didn’t think about the fact that the other developer had 8 years experience in the field and was much more experience in planning and execution than I was. Never assume that you should have the same title as someone else because you THINK you are better at the job .

Attitude is everything

This kind of follows what I said above. Keeping a positive attitude can go a long way. Never fight for a promotion as a response to someone else getting the promotion you wanted. This is more of an emotional response and will prove to be more harmful than good. It’s impossible to know what the other person went through to earn the promotion. They may have been lobbying for it longer than you or they are really good at some aspects you over looked. Occasionally, politics come into play in another person’s promotion, but you just have to get over that. Worry about yourself and not other people.

Whatever you do, don’t threaten by saying you are going to look for a different job. You are just going to burn bridges by doing this. The job interview with offer and counter offer maneuver just for a raise is really risky and could also damage relationships.

You also don’t want to push a promotion to get away from someone or to report to someone else. I’ve seen this backfire many times. It’s more beneficial to actually work through your problems with other employees than avoid them.

Know your company

Not all companies can issue promotions on the spot. Figure out how your company handles them. Company A may only have 5 Sr. Developer positions and only fill them when there is an absent seat. Company B may only do promotions every six months due to budget forecasting. Get the conversation going and make sure your superiors are aware of where you are wanting to go when these scenarios arise.

Job titles and responsibilities also change a lot. You need to keep up with this. A Sr. Developer for a company of 50 employees may have completely different responsibilities than when it becomes a company of 100 employees. Mold yourself and take on the additional responsibilities to prove you are ready for the title you want.

Stay consistent

Stay consistent with what you want. Do you want to go into advanced coding or leadership? Sit down and really think about it before you start pushing for it. Bouncing back and forth will give the impression you really don’t know what you want.

Be Patient

I cannot stress this enough. It’s really easy to get bent out of shape if things don’t go the way you think they should. Keeping a level head and a mature attitude can go a long way.

I hope you found something useful here. Let me know if you found this useful or if you think it’s hogwash. Thanks for reading!

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

I was quoted on NimbleText.com!

A former colleague of mine send me a message on Facebook a couple of days ago. He had told me I was on the front page of http://nimbletext.com/. If you do anything with SQL statements or arrays, you should check the tool out. It’s incredibly useful.

my quote

What’s really cool? Scott Hanselman was quoted just a few paragraphs about me. I found NimbleText from his list of Ultimate Developer Tools.

Scott

Yeah, it’s kinda silly I’m freaking out like this, but Scott’s one of my development heroes.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Confessions of a Full Stack Developer

David Walsh has a great series he does called Confessions of a Web Developer. I’ve been reading them since about part 6 or 7 and I enjoy every one of them. I have been struggling with content here for a long time and he had some great tweets over the past few days that motivated me to put more effort into this blog. I’m really great at complaining so I figured I’d follow the master. As always, opinions are my own.

  • I haven’t felt challenged in my work for a long time. Thankfully, I’m in the position that I can inject challenge into my work. I try new design patterns, frameworks and testing strategies.
  • I’ve put a lot of effort into my Youtube channel, but it takes way too much time and dedication to run it well. I’ve kinda given up on it. Gathering resources and preparing a tutorial for a 10 to 20 minute video takes me about 20 hours of stop and go work.
  • I’m a hypocrite when it comes to commit messages. I tell everyone to keep them descriptive, but the last 50 commit messages to my personal repo is “stuff”.
  • I look over a lot of resumes at work. I pay more attention to where you have worked and how long you have worked there. I value loyalty more than skill. A developer with 2 – 5 year employments is more valuable to me than someone with 10 – 1 year employments. Constant jumps tell me you are more interested in promotions than improving your skills.
  • I can’t show off the vast majority of the projects I’ve worked on due to NDAs. I’ve been apart of developing and launching around 75 products. I’ve worked on around 125 if you include projects I’ve done maintenance or consulted on in the last 7 years. I can maybe talk about 15 of them. I feel like this puts me at a disadvantage in the job market, but I’m not looking for a job so it’s not an big deal.
  • I want to tell people that bash IE to just “Shut the hell up”. It’s beating the dead horse with his own fossilized bones. We all know IE 6, 7, and 8 are challenging to develop for. I think most of these people are too high on their Mac horse to look and see how much effort Microsoft has put in the newer versions of the browsers.
  • You’re dead to me if you hate on Win 8 without a good reason. The start screen change is not an acceptable answer.
  • To this day, I do not understand why open source developers hate on .Net developers. I’ve even seen “.Net snobs need not apply” on a Ruby On Rails job posting. It feels really immature.
  • I’m in a constant battle of whether I want to dress professionally or like a geek. I have a large collection of shirts, but I was known as “tshirt guy” for a long time. I really want to be respected, but it’s challenging wearing a Zelda & Dr Who crossover shirt.
  • I don’t think you deserve the help if you didn’t spend 15 minutes trying to find the answer on Google. You need to put some effort into it before asking someone to stop what they are doing to help you.
  • I value being an Eagle Scout more than being a college graduate. I didn’t take away a lot from college, but it did provide me a reference that landed me my job.
  • I only allow recruiters on LinkedIn to contact me so that I can tell them no. It’s an ego thing.
  • I’ve haven’t found responsive web design challenging or interesting in several years. I’m sure some people would say “You’re not doing it right”. I’ve looked at a lot of sites, gone through source code from frameworks, and read many articles. I’m confident in my skills and capabilities.
  • I judge you based on whether you use a GUI or command line for tasks.
I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Bootstrap – The framework you hate for all the wrong reasons.

Disclaimer: The thoughts in this article are my own and do not represent the opinions of my employer past, present or future.

I’ve been sick in bed the past few days. I tend to do a lot of reading when I’m down and I stumbled on a several articles criticizing the Bootstrap framework. (I also got going on Single Page Web Applications, but that’s for a different time.) I got pretty motivated to express my opinions from my experience with the framework.

I’ve been utilizing the Bootstrap framework for over a year now. I’ve had a lot of success with it and it always amazes me how much hate it gets. I’ve spent a lot of time in their source code and I have a really good understanding of how everything works. I’ve done a lot of responsive work outside of Bootstrap and I’m pretty comfortable arguing for or against it.

This is one of the tag lines from Bootstrap’s web site. Do I believe it’s true? Yes, I do.

Designed for everyone, everywhere.

Bootstrap makes front-end web development faster and easier. It’s made for folks of all skill levels, devices of all shapes, and projects of all sizes.

There is one big thing that gets overlooked a lot when looking at Bootstrap. Bootstrap is trying to do two big things. It’s a responsive grid framework and a responsive UI framework. The UI part of the framework provides styled static elements like inputs and buttons, and also has a set of interactive components that work well on a smaller screen.

So what’s with all the hate? I have a few reasons I’ve heard and theories I have.

You have to use a bunch of random classes to get it to work.

I see a lot of this. There is a trade off though. Many single class elements end up with countless rules that get over ridden based on it’s parents elements or the current media query. It’s a trade off. Do you want more rules in your style sheet or more classes on your element?

It’s bulky.

The full CSS library is around 130kb and the JavaScript library is around 30kb. Is this heavy at a glance? Yes, but there are three things you can do if you don’t like this.

    1. Utilize a CDN – There are several providers that serve up the full Bootstrap package over a CDN. A CDN will provides speed by caching the content and your browser will download it faster because it’s on a different domain
    2. Build your own Bootstrap package – This is the less obvious choice, but you can really slim down the package by using their tool. You can also download their source code and create a custom build yourself.
    3. Do both 1 and 2 – There should be other static assets in your project. You might as well invest in the service.

It’s trendy and people only want to use it because “Bootstrap” is a buzz word right now.

There is a lot of truth behind this statement. Bootstrap is extremely popular right now because it’s fairly new. jQuery had a similar buzz around it after it hit mainstream.

It’s not not suitable for large scale applications.

I couldn’t disagree more. Bootstrap’s consistent naming patterns make it ideal for large teams working on large projects. A fully custom responsive implementation requires a lot of documentation and communication across the team. The likely hood of a class being misused is pretty high. With Bootstrap, everyone can easily know how the grid works and work through new pages quickly. I’ve seen a large number of backend developers wire up pages using Bootstrap with ease. This introduces a level of efficiency that can be extremely challenging to replicate with a custom responsive implementation.

All Bootstrap sites look the same.

Did you expect to use Bootstrap and not have to code your own CSS? Checkout Wrap Bootstrap and see if you can tell if the sites are “exactly the same”. I roll my eyes at this comment a lot. It is very common to come across websites that look stamped with the Bootstrap CSS, but imagine what these sites would look like without it.

Web Designer: I don’t want to design for it.

Ok, that’s nice. Don’t want to be limited to 12 columns? That can be changed by a couple keystrokes in a LESS file. Don’t like the default buttons and inputs? A little custom CSS will fix that. The only thing we can’t do is recreate a design based on a non-grid layout. Most CSS responsive frameworks have limitations when working with non-grid based layouts. Just do whatever you want. Clever front end developers will figure out how to do it.

Front End Developer: I have spent a lot of time learning to be an expert on responsive.

Don’t worry about this. I personally know several SQL developers that panicked when Linq to SQL/Entity Framework came out. They thought that they would be out of the job because anyone who knew C#/VB would be writing their SQL for them. This is 100% not true. A framework can get you 90% there. Knowledge and experience will get you the rest of the way. The experience you have in the core technology is always relevant. The same can be said about jQuery and JavaScript. jQuery made JavaScript 100Xs easier to write. CSS precompilers can be thrown in this boat too. jQuery and Linq also introduced ways to write really bad JS and SQL if you weren’t careful. Bootstrap is no different. It can help you write simple and quick responsive elements, but can also create overly complicated and complex elements. As an experienced FE Dev, it’s your responsibility to identify the right and wrong ways.

You’re old fashioned and boring

If it ain’t broke, don’t fix it. I really hate LESS. I’ve been using it heavily for a year now. I just hate it. I see too much bad code, improperly named global variables, hundreds of media queries that could be consolidated, and excessively over qualified selectors due to nesting. Bootstrap contains the ONLY LESS files I’ve seen that do something cool. They create loops for generating the CSS for the grid layout and calculate out exact widths with it.

I feel like I have much cleaner and better performing CSS without LESS, but it takes me a little bit longer to do. You could say the same about Bootstrap. A lot of people said the same thing about JavaScript with jQuery and SQL with LinqToSQL. These tools and libraries get widely adopted and we can’t avoid working without them. I’ve seen a lot of bad JavaScript due to jQuery and several websites crash due to bad Linq statements. Why do I continue to use LESS, jQuery, and Linq? Efficiency. I can code with or without them. It doesn’t matter. I want to be versatile and quick. I can get stuff done a lot quicker with them. The same can be applied to Bootstrap. It’s a new tool that introduces a lot of efficiencies. It can also introduce potential inefficiencies much like the tools above, but a good developer should catch these before they become a problem.

Bootstrap is a very capable front end framework that makes responsive easy and quick to implement. This is much like what jQuery did with JavaScript. Is Bootstrap something I’m going to implement on every one of my projects? No, but it will be my goto framework when a project fits the mold and I can save time. It’s another tool to add to my toolbelt that will allow me to be innovative and more versatile.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

I am a Web Developer

I am a web developer, and we could be the most complicated and strange people you have or ever will interact with.

We grew up building LEGO models asking ourselves the question, “How can I make this bigger?” We played videos games thinking, “How can I build this?” We were fans of both Star Trek and Star Wars, because we knew the only thing they remotely had in common was the word Star. We wore bow ties before the Doctor said they were cool.

Now we work in the dark corners of our offices, ruling over the kingdom that is our code. We take other people’s ideas, bring them to life and at times lack the ability to explain how it works. We find it difficult to integrate with our co-workers because our interests are typically polar opposites. We try socialize, but it usually ends in awkward situations.

We use different web browsers and read news from different sources. We see viral videos before they went viral; we bought the latest tech gadgets before they were announced (and we never show it off); and we already know which console will be the best in the next generation.

We frequently fix bugs with descriptions of “It’s broken,” and we still somehow manage to find and fix it. We work off general ideas and play the guessing game instead of working with structured documents telling us what to build. We are left off the ending credits, and we don’t mention it. We celebrate with other developers and brag amongst ourselves.

We thrive off complex problem solving and we do not have an off switch. We go to sleeping thinking about what problems we left at work and wake up eager to get back to make it better. We fight internal struggles to throw our work out the window and start from scratch to make it perfect. We don’t ask, “How can this make more money?” Instead, we ask, “How can we make this better?” We don’t ask, “Why?” We ask, “Why not?”

We don’t get always along with other developers. Our code is our art and we think our own art is perfect. Our brains are answering the same questions with different paths to the solution. Some of us code for scale, some for maintainability, and some for complexity. We always feel that our way is the right way. We will bang our heads on our desks for hours and not ask for help because we are too proud. We will say “Oh yeah” or “How did I miss that?” when someone walks over to us and bravely asks us “What’s up?” or “Can I help?”

Some of us try to get ahead by boasting abilities and using the terms “Ninja”, “Guru” and other technology buzz words. The humble among us know that our work speaks volumes above the words on our LinkedIn profiles. None of us know everything, but all of us are eager to learn as much as we can.

United, developers can do anything. They will build a global e-commerce platform and then build you a social network capable of handling millions of users. We don’t care if it reaches that number, but we do care that it can.

We are here to build what you need, and we patiently wait for the next challenge.

Disclaimer:
My right eye was swollen shut when writing this. Please be sympathetic on spelling and grammar

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

WorthyD’s CSS guide for Rookie CSS Devs and Backend Devs

I’ve dug around for a long time for CSS best practices. I’ve found tons of contradicting and wishy washy rules. Most of these only make sense to people who are in CSS every day and are highly debatable. I’m going to try to give an overview of what I see as most important and explain why in a way most developers can understand. This should point you in the direction to get you into more advanced CSS and not drive your cut out people insane with sloppy CSS.

I’m going to go ahead and throw out that I firmly believe that you should easily be able to completely re-skin your web content without needing to roll HTML updates. I believe class names being specific to the content and not packed with a bunch of generic classes.

Know the basics

Know the best way to include style sheets.

There are two ways to include style sheets.
Method 1 – The Link Tag:

<link rel='stylesheet' href='a.css' />

Method 2 – Import:

<style>
     @import url('a.css');
</style>

For performance, only use method 1. Method 2 will block parrallel downloading of style sheets and slow down the rendering of the page.

Do not use any inline styles. Period. EVER!

Inline styles kill re-usability and maintainability . It’s super easy to tack on inline styles if you don’t want to dig through a thousand line CSS file.

Avoid using style tags at a page level

This is mainly for tidiness. If you need to modify styles specifically for a page, create a style sheet for that page and reference it with a link tag.

Stay organized

Combine & Compress your CSS

Personally, I like having multiple CSS files to keep things organized. For production, I’ll combine and compress them into one file. This helps avoid having a CSS file several thousand lines long that is difficult to maintain.

@if(IsProduction()){
  <link rel="stylesheet" href="main.min.css" />
}else{
  <link rel="stylesheet" href="reset.css" />
  <link rel="stylesheet" href="base.css" />
  <link rel="stylesheet" href="forms.css" />
  <link rel="stylesheet" href="buttons.css" />
}

Keep your CSS Selectors organized

Section off your style sheet so people know what they are looking at. You can use comments to help identify what section they are looking at.

/*==========
    Header
===========*/
.logo {/*RULES*/}

/*===========
    Navigation
============*/
#nav{ /*RULES*/}
#nav li {/*RULES*/}

Selectors

CSS selectors are the key to having clean and maintainable CSS. There are some pretty simple rules you can follow to ensure you don’t end up with a bunch of messy CSS.

Classitis and Specificity

Classitis is having to rely on many class rules to select your element.

<style>
.nav .navItem .navElement{
     color:#fff;
}
</style>
<ul class="nav">
     <li class="navItem"><a class="navElement" href="#">Home</a></li>
     <li class="navItem"><a class="navElement" href="#">About</a></li>
     <li class="navItem"><a class="navElement" href="#">Login</a></li>
</ul>

The example above contains a lot of classes in the HTML that can be condensed. The selector also is longer that needed. You can clean up like so.

<style>
.nav a{
     color:#fff;
}
</style>
<ul class="nav">
     <li><a href="#">Home</a></li>
     <li><a href="#">About</a></li>
     <li><a href="#">Login</a></li>
</ul>

Now this is only ideal if the ul.nav element will never have additional child a elements.

It’s also important to keep your selectors as short as needed. A selector with 5 or 6 selector elements isn’t ideal. You can control this by understanding CSS Specificity. Here are two articles that do a better job explaining it than I could. CSS Specificity: Things You Should Know & Specifics on CSS Specificity

Naming Conventions

Selector naming conventions are another religious argument that can be debated all day long.

.navMenu {margin: 10px;}

.nav-menu {margin: 10px;}

.nav_menu {margin: 10px;}

All of these are valid by the W3C and pass CSSLint. The important thing is to STAY CONSISTENT!!!! Personally, I camel case because jQuery UI uses hyphens. It’s easy to see what rules are mine and what is theirs.

Utility Classes

Avoid use of utility classes. The class names aren’t always descriptive enough and relying on them could cause you to need to roll both CSS and HTML in your site updates.

/*Common Utility Classes I see that bug me*/
.fr {float:right}
.fl {float:left}
.mb15{ margin-bottom:15px;} 
/*what happens if you're asked to move the content? 
Make another class for margin-bottom 13 and update your HTML?*/

Using utility classes will speed up your coding, but will hinder the maintainability of you code. You’re HTML elements could also end up with 4 or 5 classes on one element.

Understand Child Selectors

Using child selectors can help prevent the need of overwriting parent element styles. These aren’t supported in IE7 and below. Use when you can, because they can help prevent a lot of headaches.

 
<style>
ul li {color:blue; margin-bottom:15px}
ul li ul li {color:#fff; margin-bottom:0px}
</style>
<ul>
	<li>Blue</li>
	<li>Blue</li>
	<li>Blue
		<ul>
			<li>white no margin</li>
		</ul>
	</li>
</u>

We can re-write the CSS selectors and not have to overwrite the margin-bottom rule by doing it this way. It’s a real primitive example, but I run into this issue daily.

 
<style>
ul > li {color:blue; margin-bottom:15px}
ul ul > li {color:#fff;}
</style>

Read more about Child and Sibling Selectors

Chaining Classes

Chaining classes can be really helpful. But like child selectors, it doesn’t fully work in IE6 and IE7. You can also end up with an element that has a ton of classes attached to it.

<style>
   .icon{background-image: url(sprite.png);}
   .icon.save {background-position:-10px 0}
</style>
<input type="button" class="icon save" value="Save" />

Read more about mulit class selectors

Have Clean Properties

Your selectors are really only half of the CSS you have to really pay close attention to. You need to have clean CSS properties. Here are something things that will help cause less grief for the person coding after you.

Alphabetize Your Properties

.selector {
	width: 100px;
	margin: 10px
	border: 1px solid #000;
	padding: 5px
	float: right;
}
.selector {
	border: 1px solid #000;
	float: right;
	margin: 10px
	padding: 5px
	width: 100px;
}

You can find properties a lot quicker when they are alphabetized. Web browser tools will also alphabetize them in your DOM inspector. It took me a long time to get this down, but has helped out a lot.

Use Shorthand Properties

Short hand will help out on your file size and makes it more readable.

.selector{
	margin-bottom: 5px
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 5px;
}
.selector{ /*Same rule, but in shorthand*/
	margin: 5px 10px;
}

Read more on CSS Shorthand Properties

Zero Values

Don’t use px on zero values. Several reasons to do this, but it’s just a lot cleaner code and the “px” isn’t required.

/*discouraged*/
.selector {
     margin: 10px 0px 5px 0px;
}
/*better*/
.selector {
     margin: 10px 0 5px 0;
}

Image Reference

It’s important to use caution when referencing CSS. This isn’t an issue if you are 100% sure where your site is going to live. If you do your development on blah.localhost and your site ends up being hosted on blah.localhost/blah/ your image references will be broken if absolutely referenced.

/*image reference will break if app is moved to a sub directory or file is hosted on cdn*/
.img{
    background-image: url(/content/images/img.png);
}
/*this image reference makes  your CSS more portable*/
.img{
    background-image: url(../images/img.png);
}

Do not use CSS hacks and avoid using !important

Back in the day, it was really common to use browser hacks to fix IE specific issues. This should be avoided at all costs. You can use conditional comments to target specific versions of IE if you need to. In the last few years, I’ve only had to use conditional comments a couple of times.

Using !important after a CSS rule jumps the specificity all the way up. Learn about CSS specificity to avoid using !important. ONLY use if if you have a nasty javascript plugin that writes out styles you don’t like.

Frameworks

There are tons of CSS and Javascript frameworks to help you out with layout, feature detection and all sorts of other fun stuff. There’s Mondernizer and Bootstrap to name a few. Out of the box, these frameworks are potentially dangerous for the performance of your application.
Modernizer has a TON of feature detecting, but lets say you aren’t using Canvas or Video tags. Do you really need Modernizer to detect those and include all the code to detect them? Go get a custom build of it to plug into your site.

Well that turned out a lot longer than I had initially expected. I hope you found something useful. Please fell free to leave any feedback and I’ll do my best to keep good stuff coming.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Microsoft Build Conference Day 3

I drug around most of today. We had a lot of information in a really short amount of time. Here’s a quick overview of my sessions for the day.

Developing High Performance Websites and Modern Apps with JavaScript Performance Tools

This was a pretty fun session about how to use the new F12 profiling tools.

Visual Studio 2013 for Web Developers: Deep Dive

This session was packed. I had to watch it from an overflow room and barely got a seat in there. Mads Kristensen went over some of the really cool features that are now pulled out of web essentials and plugged directly into VS 2013. He also published the VS 2013 Web Essentials Preview AND published the GitHub project for it.

Reusing Your Web Development Skills in Windows Store Apps

This session was good, but I found it a little misleading. It was mainly how to use what jQuery you already know properly in Win 8 HTML apps.

I didn’t make it to our last session. I decided to spend some time in the Sponsor area. It was pretty empty so I spend a good amout of time talking with people from Xarmin, Nokia, Parse and some people with Azure.

Scott Hanselman and Damian Edwards were hanging out at the Azure booth. I really love the fact that most of the speakers hang out and socialize with the other devs throughout the conference. Both these guys decided to try to chain 128 USB hubs, that were being given away by Azure, to power a mouse. They got all of them together, all the lights came on, but power for the mouse only got to about the 5th hub. It was pretty funny and it drew in a really big crowd.

The conference was essentially over at 3. We decided to head over to Fisherman’s Wharf and do a little sight seeing. We saw Alcatraz and a little bit of the Golden Gate Bridge. Fog prevented the bridge from being seen, but I can now say I’ve seen the bridge and the main setting from The Rock and Escape from Alcatraz.

It’s been a really fun trip, but I’m ready to be home with my girls. I’m getting up at 3:30 tomorrow morning to catch my flight. Here is to safe travels!

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Microsoft Build Conference Day 2

Busy, but awesome day in tech at Build. Going to be short but sweet.

Keynote

Lots of good stuff shown off for VS2013, Azure and Office 365.

What’s New in ASP.NET and Visual Studio 2013

I wont lie. Scott Hanselman is one of the reason I love coming to dev conferences. I find him extremely inspirational and he does such a great job at making his sessions fun. I’ve watched a lot of his sessions twice.
Scott dove into all the great new features coming to VS 2013. Showed off how asp.net is moving to “one” asp.net with seamless integration between MVC and .net forms. Developers will be empowered to build their own templates a lot easier.
This was the session of the event for me. Due to some long demos, these sessions were shifted back a little bit. Scott entertained us with Ascii street view, http://letmebingthatforyou.com/, youtube videos and tons of other fun stuff. He actually favorited my tweet.

This was absolute nervana for me. My coworker and I saw him in the dev area. We wanted to go talk to him but we both felt like we would be this Chris Farley character.
I really didn’t feel up to embarrassing myself like that. Go watch his session, even if you don’t code. You’ll get a good laugh.

Scaling the Real-time Web with ASP.NET SignalR

This was a very informative session that answered just about all of my questions about scaling SignalR. Damian did a really great job demoing all the scaling tools.

Fast Apps and Sites with JavaScript

This was a great session. It put me in my place that I’m not nearly as good at javascript as I thought I was. I normally focus on maintainability and best practices in code. This session was kinda like, to heck with all that! Lets make everything run SUPER FAST! It was pretty mind blowing for me.

Create Fast and Fluid Interfaces with HTML and JavaScript

This was an extension of the what’s new for WinJS from yesterday. Paul went over a lot of the new features, why they decided to improve them and went over code for them.

Today was full of tons of great info. I’m really ready to be home though. I miss my family a great deal. I hid in a corner and tried to face time with Amanda and Lily. The wifi wasn’t so great and it ended shortly. I found several other people doing the same thing a couple hours later. It was good to know I wasn’t the only one missing my family.

Here is where I’m planning on being tomorrow:
9:00AM to 10:00AM
Developing High Performance Websites and Modern Apps with JavaScript Performance Tools
Jonathan Carter

10:30AM to 11:30AM
Visual Studio 2013 for Web Developers: Deep Dive
Mads Kristensen

12:00PM to 1:00PM Sessions
Reusing Your Web Development Skills in Windows Store Apps
Jonathon Sampson , Ralph Whitbeck

2:00PM to 3:00PM
Building REST Services with JavaScript
Nathan Totten

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Minification Made Easy with VS Web Essentials for Visual Studio 2012

Why do we care about minification?

Minification is the easiest thing you can do to your websites to improve the performance of the front end. Minifying is going to take all your code and cram it into one line. This can decrease the size of the file by up to 40%. That is a lot less for your browser to download and will speed up the rendering of your pages.

Why choose Web Essentials?

VS Web Essentials provides the easiest way to setup minification. The extension can be installed without leaving Visual Studio and it’s very easy to find in the extensions and updates portion of Visual Studio. There are no build events to configure. The minification can either happen on save or be done manually. There isn’t a complicated configuration file that you will need to setup. The extension generates an easy to read config file.

Web Essentials provides a TON of features that make CSS and Javascript coding a lot easier. The extension is very useful even if you are not interested in the minification functionality.

CSS Tricks

You can enable an option to prevent the minification from removing CSS comments that have been marked as important. This will allow you to keep your version numbers and licensing in your comments. I’ve tried to hunt down other minification processes that wouldn’t remove important comments and I couldn’t find any.

Javascript Tricks

You can enable Javascript Source Maps that will allow you to use your minified JS file in development and easily find what line bugs are occurring on. Below are some great articles on Source Maps.

This is the first time I’ve done any video demos before. I’d really appreciate any feedback that would help me improve my presentation skills.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Weekend Tech Reads For 3-22-2013

It’s been a little while. I’ve been really busy and been sick. Let’s get this ball rolling again.

Asp.net / Asp.net MVC

@Html and beyond – This article goes over extending the HTML helper in asp.net MVC.

Web Development

FIVE THINGS YOU CAN DO TO MAKE HTML5 PERFORM BETTER
Native form elements – This is a great resource for getting all the native form element types. You can also use this to see what browsers support what HTML5 elements.
How to Lose Weight in the Browser – This is a really great guide to learn how to optimize front end performance.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.