I’ve had my Pebble a few weeks and the stock band was on the last hole for me since I have a rather large wrist. I ordered a longer band from Pebble but they aren’t shipping until sometime in March and I didn’t want to wait that long for it to arrive. Since any standard 22mm band will fit I started scouring the web.
I wanted something that looked similar to the stock band but was long enough to be comfortable for me. I ended up browsing around on Modena watch and decided on this Seiko style band. I got the 22mm band and it only took about 2 days to arrive. I had a very positive experience with the site, it was my first time ordering from them.
I had no trouble swapping the band out although I did have to sand down the replacement band to shrink the space between the retention pin and the watch body. The new band was beefier than the stock and the pin wouldn’t each the pin holes in the watch. Once I had done that it snapped right in. The extra clasp side length and band length has me in the 4th hole from the end and a much more comfortable fit than the stock band. If your a large wristed person like me I can’t recommend doing this enough. You can see the comparison of the stock band with the newly installed band in the image below.
Since the clasp ends up resting on my laptop and is metal to metal I might do some searching around for a Velcro cloth style band ala iron man watches and see what I can come up with for another replacement later on.

I have been wanting to migrate the blog from kosertech.com/blog to the root of my domain at kosertech.com. When I first installed wordpress it wasn’t something I thought I could build out a whole site with and I didn’t think it was really mature enough to rely on. I had visions of building out a static site in the root of my domain and then leveraging wordpress for ongoing updates.
I think wordpress has come a long way since I originally installed it so I made the move over the last couple of days. The only issue that was a little tricky to resolve was that all my uploaded images in old posts pointed to the old directory kosertech.com/blog/wp-content/uploads which is a problem as I wanted to do away with that directory since I was migrating everything from inside the blog directory up one level.
I did some digging in the wordpress database and determined that the post content is in the wp_posts table in the post_content column. The basic job to do is find all occurences of “http://www.kosertech.com/blog/” and replace them with “http://www.kosertech.com/”. I did some digging and found the REPLACE command that is basically like a string replace from most programming languages. You supply it the source text (in this case the post_content database column), the text to replace and the replacement text and it goes to work.
You can wrap this all up into the following query replacing my urls with your own and run this directly against MySQL via command line client or through a utility such as phpMyAdmin.
UPDATE wp_posts SET post_content =
REPLACE( post_content, ‘http://www.kosertech.com/blog/’ , ‘http://www.kosertech.com/’);
That query should return the number of rows that we’re updated. I recommend copying your wp_posts table to a temporary copy and trying the updated on the copy first, and as always backup your database prior to trying any of these things.
Facebook has chosen to allow 3rd party advertisers to use of your uploaded pictures without permission as a default. Basically this means that your face/avatar may show up in a singles ad on your friends pages. It would have been nice if Facebook set the default to “no one” but they have chosen to enable this use of your photos by 3rd parties by default.
Managing your privacy on Facebook is a confusing difficult process and something you would do well to take a look at. There is a good write up at mashable on this subject.
You can disable the advertisers use of your photos by logging into facebook and selecting Settings -> Privacy, then choose News feed and Wall. There are two tabs there select the Facebook Ads tab and select “no one” and click save. Your photos will now not be shown in 3rd party ads.
I love my Griffin Clarifi, I’ve got about 8 iPhone cases and it’s by far my favorite one but I’ve recently acquired an inCase Power Slider so I removed my Clarifi for the first time in several months to put my iPhone into the Power Slider and I was disappointed to see that the Clarifi and given my iPhone a nice set of scratches.
You can see to the left of the lens in this picture (click for a bigger size) that the macro lens on the Clarifi sliding back and forth has put a nice set of scratches on my iPhone. I’m sure that the Clarifi on a clean phone is fine and doesn’t lead to scratches but after a bit of time in and out of your pocket/purse your phone picks up some dust. Since there is nothing between the sliding lens and the phone dust builds up in there and the sliding action plus the dust creates an ideal environment for scratches. I’d like to see a future iteration of the Clarifi put a plastic shield between the sliding lens and the phone body to prevent the lens from sliding on the phone body.
Below is a picture of the inside of the case where you can see the sliding lens back exposed to the phone body. As you move the lens back and forth that slides on or very near your iPhone body and small dust or dirt particles between it and your phone will create the scratches. As I said above a thin layer of plastic and push the lens out slightly further from the phone would solve this.
At any rate I still love my Clarifi and have and will continue to recommend it to many people with this one caveat.
UPDATE:
I got a response from Griffin via twitter which was a bit disappointing. My other 8 cases haven’t scratched my phone after using them for a few months. Anyway, I just wanted to include it here for reference sake.

As referenced in my previous post I’m a pretty big fan of TTYtter. I won’t go into it’s advantages here you can find that information in my previous post. I follow quite a few people so one of the first things I did when I started using TTYtter was to write a group add on library for it. The previous post and the TTYtter site have good information on how to enable these libraries and also how to write them. This library is pretty good size and performs quite a few operations that I thought would be a good example for someone else looking to extend TTYtter for their own use.
Operations:
The easiest way to get started is to install this and get it going. Download the library from svn and modify the one configuration item at the top of the library to set the group file storage path. Reference the library from your .ttytterc file or use the library command line switch.
Once loaded you might want to have a look at the command set supported out of the library, there is built in help accessible from within TTYtter
/grouphelp Group commands are as follows. /group [groupname] display stored tweets from group /groups list the current groups on the filesystem /grouplist [groupname] list the members of group [groupname] /groupadd [groupname] [username] add [username] to group [groupname] /groupdel [groupname] [username] delete [username] from group [groupname]
At this point you can add some users to a group via something like the following command which adds myself to a group called coders.
TTYtter> /groupadd coders vkoser
User vkoser added to group coders
TTYtter>
Once you have some groups built up it’s really easy to view them in TTYtter by using the /group coders command to list the last 20 tweets from that group. That’s reasonable if your activly using TTYtter but it’s much more useful to use something like GNU Screen to view multiple groups and assign one screen section per group. I typically set mine up with split windows and a large scrollback buffer configuration which lets me scroll back through pages of information.
I hope someone can get some value out of this as a learning tool and possibly expand it for your own use. It’s not overly error proof as an add on for my own use but it works pretty well. If anyone would like to submit changes or enhancements to the library just send them over to me or contact me on twitter and I’ll see about getting them migrated into the library.
The current release can be gotten here [TTYtterGroups.pl] from the svn repository.
One of my favorite twitter apps is @TTYtter and you can download it from floodgap.com. It’s written by Cameron Kaiser aka @doctorlinguist on twitter. Now before we get all crazy and discount TTYtter because it’s not a fancy graphical application with sliding panels and lots of things you can click you need to understand why this is a great tool.
There are many other features but if your prone to requiring a mouse to interact with a computer this might not be a good fit for you. It’s the idea of extensibility that I’m going to discuss in this post. TTYtter has a really nice way to extend it’s functionality or override it’s default behaviors. One of the things I like most is the ability to just change how it behaves. If your using an open source client you could just modify the source but then your stuck with what to do when there is an upgrade you have to integrate your changes into the new version if they weren’t something that was accepted back into the project distribution. TTYtter uses a user defined library that is loaded from your own file. You can specify a library at runtime that will be loaded with TTYtter that gives a user the opportunity through the use of a little perl to extend or alter the default behaviors. The big win for this architecture is if a new version of TTYtter comes out it still just loads your custom user library and you get all your customizations with the new version.
I’ve recently fallen back in love with iChat on the mac after finding a nice plug-in that allowed a unified contacts list and I’ve grown used to the time stamp format. I wanted to add this time stamp format into TTYtter. There is a default provided time stamp option on TTYtter but it places the time stamp on each tweet which really adds to the width of the displayed line. I had the idea to create a time stamp that inserted itself every 5 minutes or so that would give me an indication of 5 minute blocks of tweets and also let me find my place if I’m away from my desktop for a meeting or something so I can scroll back to unread items.

You can see in the above screen shot there are two displayed timestamps in the form of “–Mon Jun..”. The small library I’m going to discuss here inserts those time stamps into the listing of tweets. This probably isn’t the most elegant way to handle this but it does give you a preview of the type of alterations you can do to TTYtter with your own libraries.
Lets take a look at the code:
$handle = sub {
my $delayInSeconds = 60 * 5;
#load the Lib_past with current time on first run
if(!$Lib_firstrun){
$Lib_firstrun = true;
print "Seeding timestamp generator\n";
$Lib_past = time;
}
#if we have elapsed $delayInSeconds then print a time stamp
if($Lib_past < (time - ($delayInSeconds))){
$Lib_past = time;
print "--" . localtime time . "\n\n";
print "\n";
}
#this allows TTYtter to handle displaying the tweet normally
my $ref = shift;
&defaulthandle($ref);
return 1;
};
The above code is fairly self explanitory but lets take a look at whats happening. You want to save this code into a file, ichat.pl for instance might be a nice logical choice. Then when launching TTYtter you need to specify -lib=ichat.pl and this will load your library along with TTYtter. The above code will be called every time a tweet is received allowing you to customize and extend what happens at that time during code execution. The last two lines of code are of interest because those two lines allow TTYtter to handle the tweet display as it normally would. If you want to modify how the tweet is displayed you have full access to do so and override the default behavior. This is useful for modifying how details are shown, for instance you could add the source client information if you like. For this library we just want to display our custom time stamp so we’ll let TTYtter handle the tweet display.
You can read all about this advanced use of TTYtter at the website where it is documented. I encourage you to play around with it it really is quite fun to get things working just the way you like. I have a much more complicated library that allows me to group users and filter those users tweets into files. It also allows for group management within TTYtter via custom /commands. I’ll post details on that in the coming days and add it to the software download page.
Twitter has has the option to view @replies to only the people you follow or all @replies in the settings for quite some time. Last night unexpectedly they changed this to only allow you to see @replies to those people you follow. This change effects the API (all client applications) as well as the web. There is no longer a way to see replies to folks your not following unless you directly visit each users profile page.
I think that this is a change for the worse and there are others that would agree with me.
The reason I dislike it so much is I used it extensively when I first joined twitter in 2007 to help me find other interesting people to follow. Twitter states the change is to reduce confusion. Huh, normally when I want to reduce confusion I write some more documentation and try to educate users instead of removing a useful feature. Perhaps it was removed to reduce load on the cache from having to load up timelines with tons of @replies that weren’t normally associated with a persons followers list but I see it as an important change that impacts how some people were using twitter.
Twitter claims that less than 5% of the users were using the feature but lets say hypothetically that twitter has only 2 million users I’m sure they probably have more in reality but this unexpected change impacts 100,000 people of that hypothetical 2 million number. Doesn’t seem like such a small population to me. If it was confusing maybe they should have altered the default or done a sweep to turn it off for everyone but leave the option to turn it back on. As it is right now it’s a fundamental change in the way the timeline works for quite a number of people and impacts how someone might find new friends via twitter. I hope they will reconsider and enable this but I fear it’s a done deal at this point and won’t be coming back.
You will still see mentions inline in a tweet that isn’t a reply but the way I’m interpreting the functionality is anytime you specifically reply to someone that someone else isn’t following they won’t see the reply.
If I compose a new tweet though “Having lunch with my brosef @funkatron” then that will be visible to all users of my time line since it wasn’t a reply. But if @funkatron replies to that message and says “@vkoser we’ll talk about that new library your writing can’t wait to see it” None of @funatrons followers that don’t already follow me would see his reply even if they were interested in finding out more information about whatever cool new library I’m writing.
I’m with @funkatron, I don’t like it one little bit. Here is a link to the original blog post from twitter.
![]()
I’ve been struggling about the decision to get a Starbucks Gold card since they came out. My day job is working with customer loyalty platforms so I’m rather suspicious when anyone comes out with a loyalty program that you have to pay up front for. The Starbucks Gold program is $25 per year (really 380 days) and I thought it would be good to take a detailed look at what you get for that and if it’s a good deal or not. The first thing to consider is what are you going to get with Gold over regular registered card. The regular registered card is free as long as you put some balance on it and register it online.
| Standard registered Card | Gold registered Card |
|---|---|
|
|
So the main difference of ongoing benefit of the Gold card over the regular registered rewards card is the 10% off most purchases. If your planning to get an espresso machine or coffee maker in the near future this is probably going to seal the deal on it being worthwhile to get the Gold card. Also if you buy your whole beans at a Starbucks store it’s likely worthwhile to get the Gold card. The Exclusive offers and discounts can’t really be factored in due to there being no disclosure on what those are so we really need to assume those don’t exist or have zero value.
Strictly from a mathematical standpoint the determination of if the Gold card would pay off for me is easy to calculate. I purchase about 5 Cafe’ Americanos a week at $2.70 each for the Venti size. Don’t judge me it’s close to my work and a guilty pleasure. I’m no fan of the brewed coffee there but the Americano is actually a pretty decent cup of coffee and there are no other options for an espresso drink within 10 miles of my work place.
Lets determine how long it would take me to pay off the Gold card through normal purchasing habits.
$25 Gold Card fee – $2.70 for my first free drink with card purchase leaves $22.30 to make up. For each cup of coffee I buy with the Gold card I’m going to get $0.27 off of each cup. So if we divide $22.30 by $0.27 that means it will take approximately 82.6 cups of coffee to pay for the Gold card. At 5 cups of coffee a week that is 16 weeks just to make up the card cost.
There are 52 weeks in the year so that means I’ll be using my Gold card for 36 weeks after I’ve made up for it. The remaining 36 weeks will amount to 180 cups of coffee and multiplying that by the $0.27 a cup discount comes out to a whopping $48.60 in savings. This is a pretty decent deal even if I never buy anything but my usual coffee that I’m going to be buying anyway. I’ll be picking one up on Monday when I stop in for my daily coffee.
You’ll have to do the math yourself on your own normal drink and frequency of purchasing to determine if it’s a good deal for you or not. If you get a drink with Soy in it I think the upcharge for that is $0.40 so that may be more worthwhile than the 10% off you would be getting from using a Gold card.
To find out for yourself you can use our approximate Gold Card value calculator below. Simply enter the coffees you drink per week and the price of your normal coffee and press the button and it will tell you the numbers for your situation.
The math is approximate due to rounding but is a good representation of your savings. If you come up with a negative number then the gold card is probably not a good deal for you unless you buy lots of whole bean coffee or other items.
Emacs is a great text and code editor but it can be very confusing for someone trying to learn to use it. After you read this you should feel comfortable launching emacs and opening a file, editing the file and using copy/paste. Future articles will investigate installing add on lisp files such as a mode just for php or even a twitter client. Installing emacs is outside of the scope of this article but I’m going to direct you to the following two distributions for windows and OS X users in case you want to try it but don’t have it installed. Linux users should search out a tutorial for installing it on your particular distribution for Debian/Ubuntu its normally as simple as apt-get install emacs.
Before we begin a quick note on keyboard commands in this article as well as most emacs documentation. There are special keys designated as M and C which typically are the Esc and Control keys respectively. On older keyboards the M key was the meta key on most modern keyboards they can be used as the Esc and Control keys. The M is commonly referred to as the Meta key and if your keyboard doesn’t have it just use the Escape key. It’s a good habit to get into to use the Escape key anyway that way if you float from keyboard to keyboard you won’t be reliant on the meta key for quick command entry.
The easiest way to get started is to just launch emacs via your operating systems preferred method and then open a file. To open a file your going to use the key combination involving the control key. The Open File command is C-x C-f that means type control-x followed by control-f. After the open file command is entered you will get a prompt asking for the filename. You can either type the name of an existing file or a new name to create a new file. As a handy tip you can use the tab key for filename completion. You can for instance type “te” and hit tab to automatically fill in testfile.txt provided testfile.txt exists in the current directory.
![]()
Once you have the filename entered simply hit enter and it will either load or create the file and you’ll be ready for editing. The next thing you should investigate is how to move around in a file. Most emacs installations will allow you to use the arrow keys for movement but the basic method for movement involves using the control key and 4 directional keys. There are also more complicated methods of moving by word or page/screen.

Now you have a good basic understanding of how to open a file and move around in it we can take a quick look at how to save. Saving your file can be accomplished with the C-x C-s command, that is type control-x followed by control-s.
Copy/Paste is one of the things that I think confuses most people in editors like VI and emacs that don’t rely on a mouse. Emacs is fairly straightforward for copy/cut and paste. There is a fast way if you wish to just move an entire line do the following
C-k will cut everything from where the cursor is until the end of the line. It looks like you just deleted the whole line but what you actually did was cut that text as if you were placing it on the clipboard. To place the text back at a different location you can use the keyboard command C-y to yank that text back into your document.
To mark an area of text such as several lines or an entire paragraph you can use C-space to indicate the start of the selection area and then move your cursor to the end of your desired text and type M-w to copy that region of text. If you want to cut the text rather than copy it you would use C-w instead of M-w. Now that you have the text copied or cut you can use the same C-y to yank it back into the document at the location of your cursor.
To recap the copy a region and paste it elsewhere do the following:
If you want to cut rather than copy you can use C-w instead of M-w and when you type the C-w at the end of the region your selecting the text will be removed from your current location back to the location where you hit C-space.
If you get into trouble just type C-g a few times to abort whatever you have partially entered into the command area. Another useful item is undo which is C-x u that is control-x then ‘u’.
Getting started command summary:
The below image links to a quick one minute screencast of the information covered in this post.
You can find a handy emacs reference card here that I’d recommend printing out and keeping handy as you begin using emacs. In future posts I’ll further explore using emacs for more complicated things like spell checking and special modes for editing source code and using split windows.
I’ve been catching up on a few podcasts lately at bedtime and also listening to some music on my iPhone. One thing I used pretty frequently on my iPod nano was the sleep timer and I couldn’t quite figure out how to do this on my iPhone so unless I picked a play list the music would keep going all night.
Sometimes the oh so easy to use iPhone leaves me baffled….
A quick online search this morning on Google brought up some tips that turned out to work pretty nice.
If you want to do a type of sleep timer for music or quit an application after a certain amount of time you need to go into the clock application. The lower right icon is Timer as seen in the included image. This screen will let you choose an option to perform when the timer ends. This option can be to play an alert, handy for knowing when your load of laundry in the basement is done, or select Sleep iPod. If you select Sleep iPod this will close down the currently running applications be it the iPod application playing music or 3rd party applications. This is pretty much an all or nothing choice as it seems to end everything running and put my phone back to the state of just periodically picking up email or ready to answer calls.
I just started using this but it’s a nice feature and one of those things I wish I knew about 3 months ago.