Showing posts with label Twitter. Show all posts
Showing posts with label Twitter. Show all posts

Thursday, May 03, 2012

Tweet Package for Sublime Text 2

I was browsing through the list of available packages in Sublime Text 2 and noticed once entitled Sublime Tweet that caught my eye, so I thought I would try it out.



How to Install


With Package Control

The easiest way to install Sublime Tweet is using Sublime Package Control. If you don't already have Package Control installed, then I highly recommend it. It is a very easy way to find and manage packages.

  1. Open the Command Palette... Shift-Cmd-P
  2. Choose Package Control: Install Package
  3. Select Sublime Tweet from the List

Without Package Control

It isn't necessary to have Package Control to install Sublime Tweet. Instead you can clone the repository from GitHub into your Sublime Text 2 package directory. For detailed instructions on what path to use for your operating system please refer to the documentation on the Sublime Tweet repository on GitHub.

How to Setup


The first time you try to use Sublime Tweet it will ask for authentication information.

  1. Open the Command Palette... Shift-Cmd-P
  2. Choose Tweet
  3. A browser will open and Twitter will generate an authentication token for you
  4. Copy the authentication token and paste it into the prompt in Sublime Text
  5. Now you are all setup for using the package

How to Use


Sending a Tweet

  1. Open the Command Palette... Shift-Cmd-P
  2. Choose Tweet
  3. Type in your tweet and press enter

Reading Your Timelime

You can also read your timelime and favorite, reply, and open embedded URLs, but I'll refer you to the documentation on the Sublime Tweet repository on GitHub.

Thursday, February 17, 2011

ASPInsiders Twitter List


The ASPInsiders is a select group of international professionals in ASP.NET technologies (Web Forms, MVC, Web Pages, etc...)

Jason Gaylord has assembled a list of ASPInsiders into a new ASPInsiders Twitter List that you can follow to keep track of the latest in ASP.NET technologies.

"The ASPInsiders team spends countless hours answering questions and giving guidance to other ASP.NET developers, as well as providing feedback and diretion on new features for future ASP.NET releases. Their work and contributions are invaluable." 
Product Unit Manger, Web Platforms, Microsoft Corporation



ASPInsiders Twitter List

Note: The ASPInsiders group is different from the Microsoft MVP award. Many of the ASPInsiders either are or have been a Microsoft MVP as well, but there are also many that have not. There is not a 1:1 correlations between the two groups.  

Thursday, January 27, 2011

Tech Tweets New Home and New Name

Based on some feedback from my friends and for some personal reasons I have moved Tech Tweets to another blog.

Here are some of the good things about it...
  • I've changed the name of "Tech Tweets" to Web Dev Tweets since the term is more accurate and also fits in the naming convention of this site.
  • The Web Dev Tweets round-up posts no longer drown out my non-round-up posts on this blog

I hope you find these changes helpful & that you find the tweets & roundup posts helpful as well.

Thursday, January 28, 2010

Phil Haack’s Mini Math Challenge

Today Phil Haack posted a mini math challenge on twitter…

24a3e96dbc652aa721bed99dcea38b6d

This seemed like a good opportunity to launch js.Fiddle and hack out some code…

 

The answer... is 2520 ;)

Tuesday, December 22, 2009

Twitter Killed the jQuery Star

As many of you are aware, I am a frequent Tweeter and regularly distribute Web Developer technology related links for .NET and jQuery via my Tech Tweets.

Historically, my main concern was to just gather the latest web dev news and Tech Tweet those out to the public.

However, more and more many of these posts are just round-ups of other posts with little or no commentary. These posts tend to clutter the interwebs with noise that makes it difficult to find the real gems of web development. 

A combination of a recently article entitled Smashing Magazine Killed The Community (Or Maybe It Was Me) and the input of several individuals that I respect inspired me to change how I am Tech Tweeting.

I put out an informal poll on Twitter and here were the results…

TopjQueryPluginPoll

The funny thing is that most of the responses were either in total support of the posts or in total opposition to the posts.

So what now? That is a good question. I’m not sure if you have noticed, but I have dramatically decreased the amount of round-up posts that I tweet.

If a blog post matches one or more of the following criteria it is most likely not going to be tech tweeted anymore…

  1. The title of the blog post starts with a number (example: “Top 10 jQuery Plug-in…”)
  2. If the blog post contains a series of screenshots from other websites without any original content
    Over the past couple of weeks I have been saving jQuery posts that I’ve not tweeted matching the above criteria. Thus far I have 22 rejected blog posts!

For those of you who voted that you liked the round-up posts, I still plan to post those blog posts, but only those that are of the highest quality and hopefully provide some sort of original content such as sample code, pros & cons, personal thoughts, etc…

My goal is to aid the jQuery community, not work against it ;)

Note: If you have any feedback about the above post or how I can improve Tech Tweets, please let me know.

Now for listening enjoyment...

Monday, December 21, 2009

Year End Twitter Cloud

TwitterCloud2009Small3

To end off the year, I thought I’d generate a quick Tweet Cloud that represents my top word usage on Twitter.

I think the above image pretty much sums up my presence on Twitter ;) As if you didn’t know before, I mostly tweet about ASP.NET MVC, jQuery, and general Web Dev related topics.

The above graph was generated by TweetStats and then passed through a service called Wordle.

Note: You can also generate Twitter Clouds using the TweetCloud service, but I found that it wasn’t as accurate at the TweetStats service that I used above. For example, TweetCloud didn’t list ASP.NET MVC as one of my top Twitter words, whereas TweetStats did. Maybe TweetCloud doesn’t account for hashtags?

I hope you have a great Christmas and a New Year!

Friday, December 18, 2009

Tools of the Tech Tweet Trade

TechTweetBird I get a lot of questions about how I go about finding and distributing my Tech Tweets on a day to day basis. Some people even have the notion that I just sit at my computer and tweet all day.

I thought I’d put together some of these questions and answer them for you. The process is ongoing and regular changes, but the following will capture what I am doing today.

Before we start going into the logistics of what I use and how I use it, I thought I’d first give you a quick overview of why I started tech tweets and why I continue to provide them.

So, without further ado, here are the questions…

1. Why did you start doing Tech Tweets?

I’ve always been a sucker for the latest and greatest technologies. Not only do I enjoy finding out about the latest news and tools, but I also enjoy learning more about my current craft and becoming a better programmer. For these reasons, I regularly sorted through a wide variety of RSS feeds looking for what’s new.

At first, I just kept those links to myself and tried to build my craft. As time progressed I thought my teammates at work might benefit from the links I’ve found as well.

Shortly after, I became aware of Twitter where I was able to take a peak into the minds of those that I admire (in the programming world). Then I figured maybe someone outside of my team might benefit from the links, so I started tweeting them. At first I thought it would also be helpful for me to search for my old tweets, but I later found out that the Twitter search doesn’t go back all that far (in my case like 3 weeks).

2. How do you find all the information for you Tech Tweets?

Tweetie2_320 reader twitter_256x256 194beddda84293e00a3a25b0989

I use a variety of tools to help round up the latest Tech Tweets. One of my main tools happens to by my iPhone. While I am out, I often get on Tweetie and search Twitter for jQuery and ASP.NET MVC related information. When I find an interesting article, I will post the tweet to Instapaper. A long time ago I used to favorite tweets, but I like the concept of marking Instapaper entries as read (kind of like you do in e-mail). So, Tweetie is one of the iPhone Twitter apps that has integration with Instapaper.

Once I get access to my main computer, then I move on to Google Reader to check my daily RSS feeds (of which I currently have 227 subscriptions even after removing quite a few of them last week). If you don’t have it already, there is an awesome extension for Google Reader (Google Reader Plus for Google Chrome or Google Reader Filter for Firefox’s GreaseMonkey) that will allow you to filter your feeds via Regular Expressions. You can list RegEx patterns that you like and RegEx patterns that you don’t like. The one you like will be highlighted in yellow and the ones you don’t like will be grayed out. You can also set some other options like remove duplicates!

3. What tools do you use to distribute your Tech Tweets?

BigTweetLogo
windows-live-writer
delicious_256x256 hootsuite-icon

I would say that this area is the one that I change most frequently, but as of now I start by using a bookmarklet called BigTweet to capture my Tech Tweets. The bookmarklet overlays an inline modal onto the webpage you are on and captures the title of the page, auto shortens the URL using j.mp (formerly bit.ly), and it even can auto post to delicious if you want. There are many other features as well so I recommend you check it out.

So, instead of posting directly from BigTweet to Twitter, I copy/paste the results into HootSuite where I schedule the tech tweet to send out at a future time. I have used many scheduling Twitter clients in the past such as Twuffer, TwitterMatic!, FutureTweets, TwtMstr, Social Oomph (formerly known as Tweet Later), but I’ve found that HootSuite has given me the nicest UI, the richest features, with consistent results. And now recently they have released an iPhone version that uses the same settings you have in the browser version! The one thing that I resist from HootSuite is their URL shortener. I used it for a little while, but soon found out that people didn’t like the digg like bar at the top of each tech tweet I sent out ;)

After the tech tweets have gone out for the day, I use Window Live Writer (WLW) to post a daily Tech Tweet round-up. I wrote a plug-in for WLW to gather my Tweets from today, group them into categories, parse them with a Regular Expression, expand the URLs, submit the Tech Tweets to my delicious account for future searching, and then generate the HTML for the Tech Tweet blog post.

Conclusion

You might have noticed that I have slightly changed my approval process over the last week or two. I am trying to refine my process to keep the highest quality links as possible and cut out the noise. I plan to do a separate post on my thoughts about this later.

I hope you have enjoyed the Tech Tweets and I plan to continue to provide helpful, timely, and high quality links on a day to day basis.

If you have any suggestions on how I can better contribute to the community through Tech Tweets please let me know. I value your input!

Thursday, December 17, 2009

Where Did @elijahmanor’s Tech Tweets Go?

TechTweetBird You might be wondering “Where Did @elijahmanor’s Tech Tweets Go?”. I actually wasn’t aware of this issue until I had several people asking where my tech tweets went. It seems that there is an issue with my account on Twitter today starting around 9AM CST.

In order to see my tweets there is a workaround of unfollowing and then refollowing me (@elijahmanor). This seems strange, but it has worked for those that have tried it.

You may have not noticed that this was a problem. If that is the case then maybe you were seeing my tweets as part of a Twitter search (which still works) or maybe I was part of a custom Twitter List that you are watching.

I hope that this is just a temporary glitch in Twitter that will resolve itself soon. I have created a Twitter Ticket explaining the issue just in case.

I will do my regular Tech Tweets blog post round-up as usual. So, if you didn’t see any of my tech tweets you can enjoy them there :)

Update: On my way home today I noticed an update to the Twitter Status Blog stated that

We are aware of and investigating the causes of timeline delays and missing tweets. Retweet is back up and fully functional.

So, I hope that means this will not last for long ;)

Friday, November 20, 2009

Visualize your Twitter Timeline with jQuery and SIMILE

Since my last post I wondering if there was a better way to visualize my tweets. The Word Cloud was a nice feature, but I wanted more. I thought about using the Google Annotated Time Line chart, but it didn’t quite give me what I was looking for. Well, it turns out there is a really cool JavaScript plug-in called Simile Timeline that provides the functionality I was looking for.

So, I threw the following together to display my tweets. After completing it, I realized how much I actually tweet! A lot of exciting stuff was going on after being on vacation, having PDC 2009 going on, and watching the jQuery Summit.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
   <title>Visualize your Twitter Timiline with jQuery and SIMILE</title>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>  
   <script src="http://simile.mit.edu/timeline/api/timeline-api.js" type="text/javascript"></script>      
   <style type="text/css" media="screen">
   body { background-color: #000; font: 14px Helvetica, Arial; color: #fff; }
   #my-timeline, #source { margin-top: 15px; }
   #criteria, #my-timeline, #source { margin-bottom: 15px; }

   .timeline-band-layer-inner { font-size: 10px; }
   .timeline-event-bubble-title, .timeline-event-bubble-body { color: black; }
   .timeline-event-bubble-time { padding-top: 5px; color: #ccccc; font-size: 9px; }
   </style>   
   <script type="text/javascript">   
   $(function() {
      $("#my-timeline").hide();
      $('#getTwitterTimeline').click(function() {
         getTwitterTimeline($('#userName').val());
      });
   });   
      
   var timeLine;
   function getTwitterTimeline(userName) {
      var eventSource = new Timeline.DefaultEventSource();
      var url = 'http://twitter.com/status/user_timeline/' + userName + '.json?count=200&callback=?';       
      $.getJSON(url, function(data) { 
         $("#my-timeline").fadeIn('slow');
         var mostRecentTweetDate = new Date(1);
         $.each(data, function(i, item) {   
            var dateEvent = Date.parse(item.created_at); 
            mostRecentTweetDate = (dateEvent > mostRecentTweetDate) ? dateEvent : mostRecentTweetDate;
            var html = replaceUrlWithHtmlLinks(item.text);
            var evt = new Timeline.DefaultEventSource.Event(
               new Date(dateEvent), //start
               null, //end
               null, //latestStart
               null, //earliestEnd
               true, //instant
               item.text.substr(0, 47) + '...', //text
               html //description
            );
            eventSource.add(evt);            
         });
         
         var bandInfos = [
            Timeline.createBandInfo({
               trackGap: 0.2,
               width: "80%", 
               intervalUnit: Timeline.DateTime.HOUR, 
               intervalPixels: 500,
               eventSource: eventSource,
               timeZone: new Date().getTimezoneOffset() / 60,
               date: new Date(mostRecentTweetDate).toGMTString()
            }),
            Timeline.createBandInfo({
               showEventText:  false,
               trackHeight: 0.5,
               trackGap: 0.2,
               width: "20%", 
               intervalUnit: Timeline.DateTime.DAY, 
               intervalPixels: 300,
               eventSource: eventSource,
               timeZone: new Date().getTimezoneOffset() / 60,
               date: new Date(mostRecentTweetDate).toGMTString()
            })
         ];
         
         bandInfos[1].syncWith = 0;
         bandInfos[1].highlight = true;
         timeLine = Timeline.create($("#my-timeline")[0], bandInfos);                  
      });
   }

   var resizeTimerID = null;   
   $('body').resize(function() {
      if (resizeTimerID == null) {
         resizeTimerID = window.setTimeout(function() {
            resizeTimerID = null;
            timeLine.layout();
         }, 500);
      }
   });
      
   function replaceUrlWithHtmlLinks(text) {    
      var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;    
      return text.replace(exp,"<a href='$1'>$1</a>"); 
   }   
   </script>
   </head>
   <body>
      <h3>Visualize your Twitter Timeline with jQuery and SIMILE</h3>
      <div id="criteria">
         <span>Twitter Username: </span>
         <input id="userName" type="text" value="elijahmanor" /> 
         <button id="getTwitterTimeline">Twitter Timeline</button>
      </div>
      <div id="my-timeline" style="height: 200px;"></div>
      <a id="source" href="http://jsbin.com/ekimi3/edit" target="_blank">View, Run, & Edit Source Code</a>      
   </body>
</html>

cooltext439924738 cooltext439924698

 

Tuesday, November 17, 2009

Twitter Word Cloud Visualization with Google API

With all the Google Closure news recently, I thought I would play around a little more with what Google has to offer. I’ve been impressed with their charting options that have been available in Google Docs and noticed that they are also available to use outside of Google Docs.

After looking through the Google Visualization API Gadget Gallery I decided upon playing around with the WordCloud chart.

I thought I would use jQuery AJAX to pull the recentl 20 tweets from a user name and then create a Word Cloud using Google’s API.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
   <title>Sandbox</title>      
   <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
   <link rel="stylesheet" type="text/css" href="http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.css"/>
   <script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
   <script type="text/javascript">
   firebug.env.debug = false;   // open minimized
   firebug.env.detectFirebug = true; // do not initialize if Firebug is active
   </script>   
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
   <script type="text/javascript" src="http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.js"></script>
   <script type="text/javascript" src="http://www.google.com/jsapi"></script>
   <script type="text/javascript">
   $(function() {
      $('#twitterCloud').click(function() {
         draw($('#userName').val());
      });
   });
   
   google.load("visualization", "1"); 
   function draw(userName) { 
      var url = 'http://twitter.com/status/user_timeline/' + userName + '.json?count=20&callback=?'; 
      $.getJSON(url, function(data) { 
         console.log('data: %o', data);
         var dataTable = new google.visualization.DataTable(); 
         dataTable.addColumn('string', 'Tweet'); 
         dataTable.addRows(20); 
         $.each(data, function(i, item) {   
            console.log('i: ' + i);
            console.log('item.Text: ' + item.text);           
            dataTable.setCell(i, 0, item.text); 
         }); 
         var outputDiv = $('#wordCloud').css({
            'border-width': '1px',
            'border-color': '#cccccc',
            'border-style': 'solid',
            'margin': '10px',
            'padding': '10px'
         }); 
         var wc = new WordCloud(outputDiv.get(0)); 
         wc.draw(dataTable, null); 
      });   
   }
   </script>
</head>
<body>   
   <div>Twitter Username: <input id="userName" type="text" /> <button id="twitterCloud">Twitter Cloud</button></div>
   <div id="wordCloud"></div>
   <a href="http://jsbin.com/alubi/edit" target="_blank">View, Run, & Edit Source Code</a>
</body>
</html>

 

cooltext439925164 cooltext439925034

Thursday, April 23, 2009

Delicious Tech Tweets

Due to popular demand I have started to publish my Twitter tech tweets to my delicious profile.

The original intent of the tech tweets was to share current technology news with those that might be interested.

delicious I have had feedback from several individuals (@shanselman, @calvinb, @mallize) that delicious would be a good repository to complement my tech tweets so that someone could easily retrieve the links in the future.

If you are new to delicious, it is a social bookmarking service that allows you to post and share links to the world. You can learn more about it on delicious’ about page. There are some really useful tools to make this more worth your while.

twitterSo, with the addition of delicious I think I will cease to post the weekly Tech Twitterings blog post since the content should be much easier to locate on delicious.

Hopefully this can be a useful option for those that are interested in the tech tweets, but don’t want to follow me on Twitter because of the quantity of my tweets :)

I have started a program to post a delicious link as soon as my tweets get posted, but in the meantime there will be a slight delay between my tweets and when it gets posted to delicious.

What do you think about this change? Do you find the tech tweets useful? Do you have a delicious account?

Thursday, March 12, 2009

Twitter Stats using Greasemonkey & jQuery

I wrote a simple Greasemonkey script that uses jQuery to read the Following, Followers, and Updates count from your Twitter Home page and displays them in the title of your Firefox tab (as seen in the image to the left).

Since I enjoy using jQuery, I tend to use this script as the starting point for several other of my custom Greasemoney scripts.

You can install the following Greasemonkey script from the userscripts.org website.

// ==UserScript==
// @name           Twitter Stats
// @namespace      http://zi.ma/webdev
// @description    Display your Twitter Stats in the Tab Title
// @include        http://twitter.com/home
// ==/UserScript==

//BEGIN - Load jQueryhttp://is.gd/j6G
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

function GM_wait() {
   if (typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
   else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();
//END - Load jQuery http://is.gd/j6G
    
// All your GM code must be inside this function
function letsJQuery() {
   unsafeWindow.console.log('BEGIN letsJQuery'); 

   var followers = $("#follower_count").html();
   var following = $("#following_count").html();
   var updates = $("#update_count").html();
   document.title = 'Twitter / Ing: ' + $.trim(following) + '; Ers: ' + $.trim(followers); 
 
   unsafeWindow.console.log('END letsJQuery');
}

unsafeWindow.alert = function alert(message) {
   //do nothing
}; 

The above script first loads the jQuery framework and then retrieves the Twitter values.

You might notice the use of unsafeWindow.console.log('Your message here...');

I mainly used this to help debug the script.

You can find these messages displayed in your Firebug console.

Once you have installed the script, it could be easily be coupled with the ReloadEvery firefox extension so that you can sit back and watch your stats update to your heart's content :)

Friday, February 13, 2009

Mini jQuery Lab

Yesterday, I ran across an interesting blog entry written by Jeffery. The title and images caught my eye, but I had a hard time understanding the Chinese. The article talked about a "Mini jQuery Lab" and had pictures showing a cool playground webpage mixing CSS, HTML, and jQuery!

I sent the URL through Google Translate to try to find where I could download the tool, but I still had difficulty figuring out the translation. Finally, I left a comment and the author walked me through what to do.

Basically, I just download the jQueryDemo5.zip from the bottom of a MSDN article. Inside the zip file was the Mini jQuery Lab. I extracted just the Mini jQuery Lab part of the zip, and hosted it on my website for your download.

So, I thought I'd play around with the tool for a little while. I ended up making a real simple jQuery AJAX call to retrieve my latest tweets from Twitter and display them inside of an ordered list.

At any time you can click the 'View HTML Source' link at the top of the webpage to view a complete page with all your CSS, HTML, and jQuery showing inside a SyntaxHighlighter pre tag.

Here is the code if you are interested in what I was playing around with...

<html>
<head>
<style type='text/css'>
ul {
   list-style-type: lower-greek;
   padding-left: 25px;
   font-size: 16px;
   line-height: 2em;
}
</style>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.js'></script>
<script type='text/javascript'>
$(function() {
$.get("http://twitter.com/statuses/user_timeline/9453872.rss",
   function(xml) {
      $(xml).find("item").each(function() {
         var title = $(this).find("title").text();
         $('#lstTweets').append('<li>' + title + '</li>');
      });
   },
   "xml"
);
});
</script>
</head><body>
<h3>List of My Tweets</h3>
<ul id="lstTweets" />
</body>
</html>

I hope you find this a useful tool. I can see it very handy when playing around with small new tricks or showing some things off during a presentation.

Tuesday, January 13, 2009

Top 20+ jQuery Tweeple to Follow

Yesterday I posted a Twitter poll asking the community for their top 5 jQuery resources on Twitter for tips, tricks, and plugins.

And without further ado, here is your list of top jQuery tweeple to follow on Twitter...

Note: I only kept entries that had more than one vote represented.

Brandon Aaron
155 Followers
Ajaxian
379 Followers
Mohammad Azam
112 Followers
Rey Bango
591 Followers
Chris Coyier
4,210 Followers
Drew Douglass
141 Followers
Ariel Flesler
164 Followers
Janko Jovanovic
94 Followers
jQuery
1,897 Followers
jQuery Sites
200 Followers
jQuery UI
634 Followers
Calvin Lee
2,936 Followers
Elijah Manor
5,187 Followers
NETTUTS
1,766 Followers
John Resig
7,291 Followers
Remy Sharp
405 Followers
Andy Sowards
1,575 Followers
Rick Strahl
1,026 Followers
Karl Swedberg
301 Followers
David Walsh
492 Followers
Dave Ward
219 Followers
Ralph Whitbeck
234 Followers
Jörn Zaefferer
138 Followers

Wednesday, December 17, 2008

Shorty Twitter Award Recommendations

For those of you who have not yet heard, the Shorty Awards are now open for nominations...

What is the Shorty Awards?

The best producers of short* content in 2008 *140 characters or less, on Twitter

The Shorty Awards honor the world's top Twitterers. You can nominate as many people for as many categories as you'd like until midnight December 31st.

How it works...

Here are some nominations that I recommend...

Categories

Please leave a comment with your own recommendations...

... and again, if you've benefited from my blog or my tweets would you please consider nominating me for the #programming category in shorty twitter awards?

Thank you, and happy tweeting!

Friday, December 05, 2008

The Next 20 People .NET Developers Should Follow on Twitter

My previous 20 People .NET Developers Should Follow on Twitter blog post seemed to have gained quite a bit of buzz around the Twitterverse. I initially had a hard time narrowing down my list to only 20 people, so I thought I would include the next 20 several people that I wanted to add, but didn't.

Note: My list of top 40 (last post and this one) aren't necessarily the most popular or famous twitter people around (although many of them are). Rather, they are top notch developers that I highly value their contribution and tweets and find them to be very beneficial in learning and my day to day work.

Here are the Top 21-40 .NET Developers You Should Follow on Twitter

Steve Andrews
386 Followers
Jason Barile
82 Followers
Jeff Blankenburg
520 Followers
Marc Brooks
408 Followers
Michael Feathers
698 Followers
Justice Gray
322 Followers
Steven Harman
677 Followers
Evan Hoff
242 Followers
Scott Koon
1,354 Followers
Boyan Kostadinov
64 Followers
James Kovacs
222 Followers
Dan Mohl
18 Followers
Craig Murphy
398 Followers
Chad Myers
431 Followers
Ted Neward
516 Followers
Tommy Norman
65 Followers
Robert Pickering
53 Followers
Matthew Podwysocki
413 Followers
Alan Stevens
622 Followers
Chris Woodruff
579 Followers

Ohh, and you are welcome to follow me as well on Twitter :)

Wednesday, December 03, 2008

20 People .NET Developers Should Follow on Twitter

I have been tweeting for quite some time now and I have found it to be a very interesting way to stay top of the technical pulse of .NET, jQuery, and numerous other technologies and tools.

For those of you developers that have recently started using Twitter, here is a brief list of 20 people that I think you would gain a lot of insight from by following.

Please understand that there are many others that I could list, but for brevity I chose only the top 20. The following individuals are in alphabetical order.

Please feel free to add a comment with your favorite top developer twitter individuals. I would love to follow them and I'm sure others would as well.

*Note: My interests mainly revolve around Microsoft ASP.NET, ASP.NET MVC, ASP.NET AJAX, other .NET Technologies, jQuery, JavaScript, XHTML, CSS, XML, etc...

Wednesday, November 19, 2008

Tech Twitterings via jQuery & Twitter

Several weeks ago, I decided to start a weekly blog entry compiling a list of my technical tweets from Twitter. After the second week, I noticed that it was taking me much too long to compile the list, so I decided to create a tool to make it easier.

My current solution involves several Firefox add-ons, jQuery, and Twitter. Eventually, it would probably be much easier if I used the Twitter APIs directly, but for now I have found this solution to be a fun learning exercise :)

Steps to Create the Tech Twitterings Entry
  1. Search for my technical (#tech) tweets from Twitter
  2. Use the Firefox AutoPager add-on to automatically load the next several pages to capture all the tweets from the last week.
  3. Use the Firefox Greasemonkey add-on and run the Load jQuery Library script to load the jQuery library onto the Twitter search page
Load jQuery Library
// ==UserScript==
// @name           Load jQuery Library
// @namespace      http://webdevdotnet.blogspot.com
// @include        http://search.twitter.com/*
// ==/UserScript==

//Code taken from http://internetducttape.com/2008/05/08/greasemonkey-ninja-jquery/
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

function GM_wait() {
   if (typeof unsafeWindow.jQuery == 'undefined') { 
      window.setTimeout(GM_wait,100); 
   } else { 
      $ = unsafeWindow.jQuery; letsJQuery(); 
   }
}
GM_wait();
    
function letsJQuery() {
   unsafeWindow.console.log('The jQuery Library has been loaded'); 
} 
  1. Use the Firefox Firebug add-on and use it's console (F12) to run the jQuery Twitter Script
jQuery Twitter Script
$('li.result .msg .msgtxt .expand').remove();
var categories = new Array();
var categoryKeys = new Array();
$('li.result .msg .msgtxt').each(function(i,tweet) {
   var tweetText = $(tweet).text();
   var regularExpression = new RegExp('.*#tech.*(#\\w+).*', 'gi');
   var matches = regularExpression.exec(tweetText);
   if (matches != null) {
      var match = matches[1];
      if (categories[match] == null ) {
         categories[match] = new Array();
         categoryKeys.push(match);
      }
      categories[match].push(tweetText);
   }
});
for (var i = 0; i < categoryKeys.length; ++i) {
   var categoryKey = categoryKeys[i];
   console.log('<h3>' + categoryKey + '</h3><ul>');
   var category = categories[categoryKey];
   for (var j = 0; j < category.length; ++j) {
      console.log('<li>' + category[j] + '</li>');
   }
   console.log('</ul>');
}
  1. Copy & Paste the contents from the console into Blogger
  2. Surround the auto-generated HTML content in a div and prepend the JavaScript to convert Text to Hyperlinks.
Text to Hyperlink JavaScript
<script type='text/javascript'>  
$(document).ready(function() {
   $('#tt4').html(replaceUrlWithHtmlLinks($('#tt4').html()));
});

function replaceUrlWithHtmlLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,"<a href='$1'>$1</a>"); 
}
<div id="tt4">
<!-- Insert Autogenerated jQuery Twitter HTML here... -->
</div>
</script>