Top People I Follow on Twitter

I love Twitter. I like how it's one of the best ways to share content and thoughts with everyone else. However, following too many people can put too much of a strain on you when checking for updates. I, like I'm sure many others do, have a few people I make sure to read each update I come across. Here's a list of those few I do my best to keep up with.

Note that when I say "people" on Twitter I also mean organizations as well as individuals.

Alexis Ohanian

Alexis is probably most famous as being cofounder of reddit, but he's definitely doing some amazing work these days. From writing his own book (you bet I got this the day it came out) to hosting an entrepreneurial show on The Verge - Small Empires, he's definitely one to follow and I'm always excited to see what he's up to next.

Twitter - @alexisohanian

Inc Magazine

If you're interested in business or leadership at all, this magazine and site has a lot of great articles that I've found useful. Their site practicing minimalism and very easy to navigate also helps.

Twitter - @Inc

Kevin Rose

If you're into technology at all, then this name should at least be familiar to you. Coming from the old (and awesome) days of TechTV via the show The Screen Savers, he's also the founder of Digg and now currently works with Google Ventures helping to find other awesome web start ups. 

Twitter -  @kevinrose

Darya Rose

Yep, the wife of Kevin Rose. She's fairly well known herself for starting a food blog - Summer Tomato (whom I happen to have found from the person below) and from there her own book - Foodist. Darya is definitely one of the best I've come across in terms of breaking down the science of healthy food into a way that is easily understandable. If anyone I meet has questions on food I always point them to her.

Twitter - @summertomato

Tim Ferriss

Famous for his books - Four Hour Workweek, Four Hour Body, and Four Hour Chef, I definitely consider Tim to be a modern day Renaissance Man. From starting his own nutritional company to becoming a tango and kickboxing champion, Tim has tons of experiences and he freely gives his advice away on his blog.

Twitter - @tferriss

John Robbins

This can't be a post on a development blog without a developer, could it? I consider John, cofounder of Wintellect, to be one of the best when it comes to doing anything with .NET. This is the guy who got me interested in performance and debugging. When Microsoft has them come in to teach their developers, I make sure to listen on what they have to say.

Twitter - @JohnWintellect

 

The Medium Experience

This is a bit different than most posts here, but I've come to just love what Medium does. If you haven't heard of it, it's basically a medium (pun intended, of course) in which anybody can come in and write articles about whatever they're passionate about or what inspires them. I've definitely found many great reads there. Since it seems like a great place to just get feedback I thought I'd give it a shot myself.

I've recently had a bit of an...embarrassing event happen in my career and I thought it would be a good story to share through Medium. So I hope you take a few minutes (seriously, Medium indicated that it's a two minute read) and maybe have a laugh at my expense and see that even the most professional of people can make trivial mistakes.

Book Review: Steve Jobs by Walter Isaacson

I'm sure I'm a bit late reading this and I'll admit I didn't know hardly a thing about Steve Jobs before coming into this book. The only reason I decided to give it a shot was that it was so well recommended by the tech community online, especially after the Ashton Kutcher movie went out in theaters. "Why not?", I figured. "I like biographies and it'll give me some more background of the man himself as well as to how he ran Apple." So I went straight to my library to get a copy.

 

It was definitely a great read. It felt more like a novel than just a biography which makes it an easy read and helps it get read that much faster. It still took a couple of weeks to get through it, though I believe I'm a bit of a slower reader than many as I think it helps understand more of what I'm reading.

The main things that became instantly interesting was how much of a visionary Steve Jobs apparently was at Apple as well as how much business sense he instantly had. True Steve Wozniak basically did the engineering for the Apple I and II. However, if it wasn't for Jobs then I doubt the company exist at all. Truly, his drive to create a company definitely came to fruition.

 

There were many things the biography helped to learn about why certain events occurred, such as how and why he was ousted from Apple in the mid 80s, how Microsoft helped the company when he was brought back to Apple, how he was involved with Pixar, and the beginnings of what became the the iPod and iPhone. Interestingly, the way they came about is just the other products out there, as Jobs would say, sucked.

Steve Jobs' love of technology and design is a rare combination even in these days. How many developers do you know are actually good designers? I'm definitely not one of them (though, I am trying to learn) . I used to think that the closed ecosystem of Apple creating their own hardware, software, and services was a bad idea, but like Wozniak I'm beginning to understand how it helps the end user experience as a whole.

The biography even helped with a bit of understanding of the business culture as a whole since it repeatedly went to how meetings went with Jobs and the Apple board. Even as a CEO Jobs tended to be different than others by taking hours or days to make a decision on something instead of months to do research how the decision could affect the company. That tells you how passionate he was about his products and what his company could do for people.

If you haven't read it yet, I definitely recommend it. Of course, you can always just wait for the movie. I have high hopes it'll be better than the aforementioned one.

As for myself, I think I'll be test driving more Apple products in the future.

Code Katas Can Be Helpful

After reading a few posts in the development community lately about code katas, I felt I should put out my own opinion about the subject. 

At work, a few of us developers decided to take a couple of lunches each week and get together to work on a code kata that we all decide on prior to the meetings. This was mainly so we can increase our skills in development, but mainly it was a way for us to use a new or not so familiar language for a fairly small coding project.

For our first shot at a kata we decided to try Poker Hands (you're always welcome to view my progress), which we had to rank two player's poker hand and determine who won and display how they won (high card or higher set of cards). Not exactly the easiest kata to do, especially when doing it in a language you're definitely not familiar with, but we thought it was one that could give us a good challenge.

Another aspect to doing katas is to do solve very small problems. One of my favorite ways to do this lately is by playing around at Code Wars. I've been messing with the JavaScript and Ruby katas there and have been learning quite a lot about the languages as each new kata I do gets progressively harder. They have a pretty slick interface, as well.

I feel this site does a lot of things right. Most importantly, once you've successfully finished a kata it will also display how others have successfully implemented it. Looking though those can help see how other people use the language to their advantage.

Sure, you can also be doing other things in order to learn, such as messing around GitHub for a project to contribute to or volunteering. However, a big benefit to doing these small katas is because they are small compared to these other types of projects. You won't feel as overwhelmed by the size of the project or try to figure out where to start. Here you just create the appropriate class or function and make sure all the tests pass. 

Of course, you want to do code katas because you believe they help and because you find them enjoyable. I feel like I'm learning new languages little by little the more I do these. I seem to have rekindled my love of programming just by doing these katas. I hope I'm not the only one.

YUI: The Other JavaScript Framework

When you think of JavaScript frameworks, what pops into your mind? JQuery, KnockoutJS, or EmberJS? Did you know that Yahoo! has one of their own? It's YUI  and it's actually not too bad of a framework. 

It's definitely not what you'd think of when creating a new web application. For any kind of DOM manipulation, I'm sure the first thought will be to use jQuery. I wouldn't exactly count out Yahoo!, though. They have some of the top engineers of the country and they released YUI as an open project for anyone to fork and contribute to.

Below is a very small example of using YUI. How easily can you read through it? 

Fairly simple, right?  You get one instance of the element with the "btn1" ID and on the click event run the function that has the alert.

Let's look at a more complex example of YUI in action. We're going to make a JSONP call to the GitHub API. Let's take a look.

Not too much more here than in our first example. I'm still using the selector and click event handler as we've seen but in the click handler of the button I make a JSONP call to the GitHub API. The real magic happens during the function that handles the response from the JSONP call. The Y.Lang.sub  call takes in an HTML template and uses the data from the response to bind the items in the brackets. Of course, the names have to match what you get back in the response.

Conclusion

These are just very small examples of what you can do with YUI. The documentation contains a ton more examples and functionality of what the framework is capable of.

I do believe this is easier to maintain and use than using jQuery. I do have to say, though, since I've found AngularJS, I believe I'll be using that more and more. If I couldn't use that, however, YUI would be my framework of choice. 

Small Introduction to AngularJS

I know what you're probably thinking, "Oh, another JavaScript library/framework for me to learn." Well, yes, that's correct. However, I believe this is one worth learning. 

Why this one over the many other ones available to you? AngularJS has a different approach. Instead of providing a library, it's goal is to make HTML dynamic like most modern web sites are instead of being the old, boring static HTML we're all used to.

Of course, when you first see AngularJS in action, it can look pretty weird. That can be said of a lot of libraries, frameworks, or technologies until you get used to it. I was the same thing when I first started messing with lambdas in .NET.

Below is a small example for AngularJS mostly showing controllers and some basic data binding.

At first, you may notice all the ng-* attributes in the HTML. This is all AngularJS and, as mentioned above, it extends HTML to be more dynamic. The double curly braces ( {{ }} ) tell Angular that it's a two way binding. Inside the braces is the name on the model to use. You can also tell that most of the functions and properties are in the EmployeeController JavaScript file, which we'll take a look at next.

The first line tells what application Angular will be using. This is the same as the ng-app  attribute in the HTML. The empty array will be for any dependencies we may need, such as additional JavaScript files. The next section is where we're defining the actual EmployeeController, which sets our initial Employee object and defines the add and remove methods. These methods get called in their appropriate places inside the HTML. You may notice we also pass in the $scope object into our controller function. This is mainly for AngularJS and can be used for dependency injection later on, if you need it.

Below is the full demo in action. Note that JSFiddle automatically puts in the html tag, so I had to wrap the body tag with the ng-app attribute for Angular to work correctly.

Additional Resources

The one tutorial that got me started on the path of Angular is Dan Wahlin's AngularJS in 60ish Minutes.

Another good tutorial is the one from Thinkster.  They combine a lot of the articles and tutorials from all over and give them all to you piece by piece along with their own videos.

Conclusion

This was just a very  small introduction to AngularJS. While there are tons of other things you can do, this should be good to get something up and going. Once a little bit is understood, the tutorials and all will make so much more sense and you will be able to learn a bit more than you did before. Hope you enjoy learning AngularJS as much as I have!