August 2011
2 posts
1 tag
Joining the team at Bislr in the down-under
It is official I am moving to Australia. The down-under awaits me and my adventures are going to start tomorrow. I am going to be working at an amazing startup in Australia Bislr. I will be working on NodeJS and having fun learning new technologies. Bislr has an amazing product and I am excited to join their team to help contribute to it. I am so excited and anxious about my new venture. I am...
1 tag
Quick tour of WeatherNationTV.com a site I just finished development on. It was recently made available and is geting a lot of attention and trafic. Watch out WeatherChannel you are going to get replaced. I and my team are very proud of the work we have done to make this site amazing. Its amazing what you can get done with a small team (really small team ;) thanks Matt, Jeremy, Sam, and Dan. Check...
July 2011
2 posts
ZeroMQ Messaging Library Making Complex...
I had been playing with ZeroMQ and I wanted to share it with you. First of all, it is not a complete messaging system such as RabbitMQ or ActiveMQ. A full fledged messaging system gives you an out of the box experience. ZeroMQ is not such a system at all; it is a simple messaging library to be used programmatically. It basically gives you a pimped socket interface allowing you to quickly build...
Why Time and History is important to our Industry
A coworker and I were talking about the change in our industry and how it is under attack. He was very worried about how many disruptions are taking place like youtube, piracy, social marketing. He was frustrated that people do not understand that they are killing our industry and if we do not get paid for our content then they will never get any again. Specifically we were talking about the music...
June 2011
7 posts
2 tags
My first screencast! This screencast is on making a web 2.0 chat system using node.js w/ socket.io on the server side to create a chat server connected by web sockets to a HTML/Javascript front-end. I made this demo app for a Mountain Dew Code-A-Thon :) the challenge was to make a chat client in a few hours! What fun!
1 tag
JavaScript everywhere one language to rule them...
We have JavaScript on the Browser, Mobile devices, Server, and now in the shell ;) what else can we ask for. JavaScript in our dreams? Maybe not but I really do love having one language to do all my work in. Not to long ago, I had to master a minimum of four languages to be productive. I would need to write my code in C#, JavaScript, PowerShell, SQL or PHP, JavaScript, BASH, SQL you get the point....
Geospatial Search So Easy with Solr
For WeatherNation, I had to build an AJAX search box that would let users switch their current forecast zones. The requirements included searching citys, places, ICAO, zipcodes, and forecast zones. I also wanted to support additional signals for example if the user GeoIP was coming from colorado I wanted to rank Denver, CO over Denver, TN. This sounds like a great job for lucene or lets make...
4 tags
Javascript Reflection & Introspection? huh
Javascript is such a cool language because it is so flexible. A friend challenged me to get JavaScript to support a feature that is commonly used in C#. In C# you can have custom attributes that can be applied to class, functions, arguments, packages, etc. This is very useful if you want to add metadata or declarative information to the code. I have built many things using this feature in C# like...
Facebook to use Node.js!
Robert Kieffer, an a engineer at Facebook and the company’s internal Node.js evangelist, gave a talk at NodeConf today. He says the company isn’t doing enough with Node.js yet. So instead of an explanation of how to deploy Node.js to thousands of servers, he’s talked about why Facebook needs Node.js and the things holding the company back from adopting it widely.
You can find...
2 tags
Git an introduction for programers
If your like me, you just want to know how something works and some basic understanding of the motivation behind the decisions that went into the design of the software. I could not find a good introduction to Git written this way so I will try. I am not going to walk through how to install Git you can find good instructions on the Internet or just download it here.
Git is not like CVS,...
May 2011
15 posts
1 tag
Tribes are the way of the future?
I thought it would be nice to start sharing my thoughts on books that i have recently read. Recently I have been reading a lot of business, organization, and marketing books. I just finished reading Tribes, by Seth Godin. I have been noticing a trend toward community and decentralization in business. I believe this is a part of the disruption that many high tech companies are encouraging. Seth...
3 tags
I spent a lot of time making these folders work at Fuser. I had to write a lot of custom code to handle the folder tree because the performance for ExtJS tree was too slow and it did not support all the features we needed. Who has a better job the UX, QA, or developers? On this feature, I think all of us lost. It was hard work all around trying to build something that was so custom and did a lot...
2 tags
Check this video out. I worked on all aspects of this site including client side and server side coding. I am especially proud of all my UI work and getting FUSER to look like a native desktop application. Check out how slick this web app was and remember this was done almost at the same time yahoo mail started their cool UI work. Very impressive Go FUSER Go! The UI was a combination of hand coded...
2 tags
Get Janrain running in node.js project
To enable social login and registration you need to have a free, pro, or enterprise account with Janrain and setup your providers i.e. Facebook, Twitter, etc. Next you need to provide a callback endpoint that Janrain can POST back to. Once Janrain POSTS to your site you can use the Janrain API to validate the credentials and request a normalized version of their profile, contact list, etc.
You...
2 tags
It looks so easy, Just click to add account, right? Nope! When I was at Fuser we spent a few sprints figuring out how to auto detect what kind of account the user was trying to add. For example if you had an account foo@foo.com is could be a IMAP, yahoo mail plus, or POP3 account. Each time you detected it would take a long time because you would have to try many different ports and protocols....
1 tag
Introduction to Janrain Engage
I recently had the pleasure to work on Janrain for one of my projects. So what is Janrain? They are leaders in the social login/registration and sharing space. They’re one of the most inexpensive solutions to provide a turnkey social login and social sharing solution. We evaluated Gigya and the work required to write it from scratch and picked Janrain. Janrain Engage lets a website’s...
3 tags
OAuth, Social Sign-on/Connecting Architecture
Simply it is the idea that people already have accounts that they primarily use. For example, it could be a Facebook account or work account they use several times a day. Most people are tired of managing dozens of accounts and keeping track of all of them is a challenge. So if, you let users use their favorite primary account to identify them this makes it simpler for the user and lowers the...
2 tags
2 tags
2 tags
1 tag
This video is a good introduction to how social sign-on can be used to market to your customers.
1 tag
2 tags
2 tags
Now you’ve got one place to manage all of your communications and your contacts. Fuser’s contact manager helps you combine contacts across all of the accounts you’ve added to Fuser and makes it easy to start communications.
At Fuser, I worked on all parts of the system but one thing i am most proud of is my work on the UI. I was a substantial part in the implementation of the UI...
3 tags
TJ Holowaychuk: Cluster Live 0.0.1 →
Cluster Live 0.0.1
cluster-live is a plugin for the Cluster server manager written for node. Cluster is similar to Ruby’s “Unicorn”, however is extremely extensible via a simple plugin system.
Cluster is built with the Express web framework, Jade for templates, Stylus for CSS, and Socket.IO for communication.
Below is a screenshot of cluster-live in action. Each worker process is represented...