Category: Code

A begining

I've been meaning to start this project for a while now so here it goes... Part of my daily routine is reading a couple of comics including Calvin and Hobbes, Dilbert, Foxtrot, Garfield, xkcd, vgcats, and The Watering Hole. Following the quick comic catch up I'll look through some various project blogs including Ampache, django, YUI, and facebook. But the highlight of my reading has always been what Google is up to. On this front my favorite blogs have been Google Operating System, Googlefied, and Google…

HOWTO: Displaying Blogger feeds with Python

This first HOWTO is going to cover how I did the basic structure of the posts section of gPowered: pulling from blogger. The main functions we'll need are to show a range of posts, a single post, and a function to get the total number of posts that are in the blog. The reason I try to get the total number is so the different pages can be bookmarkable. When retrieving a GData feed from blogger. Entry 1 in the feed is going to be the newest post so there is no 'id' that is going to be static, so we'll do a…

HOWTO: post code

Posting code is made quite easy by using SyntaxHighlighter. It's pretty easy to set up and works on any html sites, as well as blogger and wordpress. I'll be using it heavily throughout these posts. 3 easy steps: Include the SyntaxHighlighter.css file at the top of your page. At the bottom of the page, include the brushes and other js files you will need, as well as the function call to stylize the <pre> tags: Then, place the code you want in between these two steps using <pre> tags that the javascript will…

Picasa Web Api updates

Google Data Api's posted a few updates today, a few of which I've really been looking forward to; Community Search, Retrieving a user's recently uploaded photos, Retrieving recently added comments for a particular user, Searching a user's photos, Filtering by tag, Uploading non-JPEG photos, Downloading the original photo. (my fav) Downloading the original photo: You can now download the original photo, including all EXIF data. This is accomplished by retrieving the feed with the query parameter and value…


The design and domain have been set up (actually I finished it a week or so ago but work's been keeping me pretty crazy). All my examples will be implemented on as well as a copy of theses posts. Enjoy.

New Calendar API features

Google Calendar API posts new read and write features. They have added: owncalendars: contains the collection of calendars that a user 'owns' allcalendars: contains all the calendars that a user has access to Useful for listing all your calendars if you manage a lot of them, or changing their settings all at once (both features have read and write capabilities)

First Google Gadget

After being inspired about Google Gadgets from the Google Developer Podcast I came up with one that my old crew team can use. We have a shared google calendar that some of us use to keep track of races, meetings, etc. This gadget pulls and formats it nicely for the google IG or desktop. Add to Google Javascript code for the gadget:

HOWTO: Displaying Blogger feeds with PHP

This HOWTO is going to follow the basic structure of the Python one. To start out you'll have to grab the Zend Google data Client Library and then set the include_path so you can use it We then import the parts the we'll need: One of the first things we're going to have to do is authenticate with google services. There are two ways to do this: AuthSub proxy authentication which has a user login using their own credentials, and ClientLogin username/password au thentication where you send a username and…

Posting to Blogger from Google Docs & Spreadsheets

I had seen some posts in the past (like this one) and figured I would give it a try. The first thing I liked was it feels a lot less cramped then the traditional blogger interface. Secondly it feels more responsive which for me is pretty good for me as I'm on a 6 year old laptop a lot of the time. Tagging is a little harder. You can tag existing tags in blogger but I found it easier to post from Docs & Spreadsheets and then go back into the Blogger interface to tag. Blogger picks up the post title from the…

New Documents List API

Google Data API posts now you can import your spreadsheets and word processor documents into Google Documents using the new Documents List API. Until I write up a tutorial, check out the Documents List API

Quick Docs Api Example (python)

To use the gdata docs python client you need to upgrade to 1.0.7 or higher. First thing is to import the modules you'll need. Then, set up the usual authentication parameters for the client. The most basic query will just return all of your documents However, if we want to display just the spreadsheets, we build the query like this: Finally, we output the titles If we wanted to, we could also import the DateTime library and show when the document was last updated For me this outputs:

HOWTO: Getting a list of post titles from blogger (Python)

This will be a quick one on how to pull the titles from your blog. I'm using it to Lists the posts I have available on Firstly we'll set up our imports and call to the blogger service. For this query we're going to use the summary feed because all we really need for this is the titles, not the full posts: Then I just do a little counting so I can use the links on my site. All the information we need is in feed.entry

HOWTO: Pulling Google Bookmarks with Python

I love using Google Bookmarks (usually with the Google Toolbar) because it lets me get to my bookmarks at home on my laptop or desktop, at work, or anywhere. It's great. Now I'm using those bookmarks to power the links section of First we're going to need the httplib2 library so we can authenticate against Google and grab the bookmark feed and then the ElementTree to help process the rss feed. Then we'll setup the link to pull the rss from, authenticate against the request, and pull back the…

Site Update: Post list and Links section

I Added an easier way to go through the posts I'v put on blogger and the site. Quick tutorial on it is here. Also added a Links section that pull from my Google Bookmarks. HOWTO is here

My current fav Google Map Mashups

These are some sites I've found since people have started making Google Map Mashups either because they are really cool or I use them a lot. DiggMap - Diggs are shown in real-time on the map for users that have specified their location in their profile. Google Maps Batch Geocoder Google Offices - Shows Google Offices around the world Traffic and Weather Maps - Mashes Traffic conditions, road closings, construction, and weather. Not too useful to me as I don't have a car anymore but it was when I did ;) Walk…

C'mon Google! Get in Gear!!

As of this morning (or at least sometime before lunch), Zoho Writer turned on offline mode with Google Gears. If you haven't heard about Gears yet is a small application (and framework for developers) to enable Ajax applications to go offline. It uses a very small local server and database to grab all the data you would need should the application go offline (this has to be set up by the developers of the application). There is a great podcast about it [here](http://google-code-…

Gadgets now on Google Calendar!

Google Gadgets can now be added to your calendar. Previously the only gadgets I had on my calendar were Google Doodles, Weather, phases of the moon, and PicasaWeb Photo of the day. Now just about anything is going to be possible. I briefly played around with it this morning and added horoscopes and Sudoku to my calendar. Other new gadgets include Movie Release dates and famous people's birthdays. I expect that very soon there will be video game releases as well. Documentation is out for the gadgets, so get…

Google Mashup Editor Blog: New Tutorial: Using Picasa Web Album Feeds in GME

The guys over on the Mashup team have posted a new tutorial on how to use the Google Mashup Editor to mash Picasa Web Albums with a Google Map. The example is here. I started working on my own but I haven't really played with the GME before. Hopefully I'll have that tomorrow.

Google Web Toolkit 1.4 Release Candidate 2

Google Web Toolkit Blog: Google Web Toolkit 1.4 Release Candidate 2 Short post I know, but its getting late and I'm off call at midnight so... The latest release candidate for GWT is available for download. There are over 100 bug fixes included in this RC. Some of the enhancements include: ArrayList toArray(SomeClass[]) is now implemented SuggestBox value now gettable DateTimeFormat parse defaults to 00:00:00 for dd-MM-yyyy format The current browser event is globally accessible

Blogger resumes service

Blogger was down this morning from a little after 9:30 until a few minutes ago, but now, all is well...

View Google Groups posts in Reader

I don't know why I never noticed this before but you can subscribe to the mail sent to Google Groups through an RSS feed at the bottom of each group. I'm trying it out for a few groups, I might like it better then reading through the mail. I wonder if there is a way to subscribe to the rolled up versions of the posts...

HOWTO: Google Reader API Functions

I've been wanting an API for Google reader since I started using it, and especially since i started gPowered so I could display a list of the feeds I read on the site. The official word on an API for reader is "It's coming in a few weeks," but that was back in late 2005. The reason being that at the time, the URLs the API would use were going to change a lot. So, after a bit of research and coding I came up with some python functions to do the job. The first step was authenticating against Google accounts…

Zoho Writer using Gears (cont'd)

In a quick follow-up to my previous article; Google code blog posted a video talk about the experience the Zoho team had in incorporating Gears with their Writer. I hate to bring it up again, but like I said before, the Docs team better get moving... a Google product competitor using Google Gears first?

Blogger Update: Video in post is out of beta

Or out of "in draft" I should say. Not much to show in the ways of how to use this: A button has been added next to the add an image icon. Maybe I'll use this in my upcoming post about using spreadsheets and base as a database... hmmm...

New Digg Home Page breaks the Linux section on IE?

So I'm sitting here eating lunch and go to see if there is anything new on Digg. Saw the new layout, looks nice, haven't really had a chance to play around with it yet. However, when i got to the Linux/Unix section, it wouldn't show up in Internet Explorer (6). It works fine in FireFox. Does someone over at Digg have a sense of humor or is my browser just acting on the bunk?

Google is NOT working on a desktop OS for the public!!

This is really just a quick response to this Digg. How it made the front page is completely beyond my comprehension. The article itself is a year old and Google has denied countless times they are going to release "Goobuntu". Heck, I've been to a tech talk where its been stated that Goobuntu is just their internal OS that developers can use that comes with some snazzy Google tools. See below for some other confirmations that Goobuntu isn't coming out.…

Webmaster tools adds Internationalization support

You can now register domains in Webmaster Central with non-English characters in them by supporting IDNA (Internationalizing Domain Names in Applications). Originally only domains with a-z, A-Z, 0-9, or '-' could be used. I tested it out and it looks like its working good!

Old Google Design back?

Blogoscoped reports that some people have the old design (Google App links are above the search bar instead of the upper left). I checked at work on IE6 and firefox and at home on firefox (on Gutsy) and IE7 both logged in and logged out but still had the new interface. I wonder who has the old one...

Programmable Web hits 500 API's!

This isn't a Google post per say, but if you haven't checked out Programmable Web, I highly recommend doing so. They catalog API's, Mashups, Howto's, and host contests. Programmable Web has the following Google API's registered, next to them is each API's mashup count: Google AdSense 14 Google AdWords 18 Google Ajax Feeds 5 Google Ajax Search 25 Google Base 18 Google Calendar 19 Google Checkout 4 Google Client Authentication 2 Google Code Search 1 Google Custom Search 0 Google Desktop 8 Google Documents…

Codeless Embedded Maps

Google Maps released Embeddable Maps. It's as easy as embedding youtube videos. All you have to do is create your map, and then under the "Link to this page" menu, there is a new option under the link that has some HTML iframe code to add the map anywhere. Check out the next post to see the trip to Syracuse I took this weekend to go to the New York State Fair.

NY State Fair Embedded Map

It's really, really easy to put maps onto any site or blog now using Embedded Maps. I threw this together real quick to demonstrate. This past weekend I drove up to Syracuse for the New York State fair. A great time if you have never been. Plenty of fantastic food and drink. I also had to pick up my old roomie, and using Google Maps new multiple destination feature this was easy as well. First stop: Adding the second stop: Getting the code to embed the map by clicking on "Link to this page": If you want…

Google's Newest Data Center [Pics]

Information Week posted some photos of Google's newest data center near The Dalles' dam. Needless to say, I wouldn't mind access to this baby. Heck, I would want one, but there is no way I would be able to power it. I'm sure the proximity to the dam's power station and water supply were key factors in choosing the location.

HOWTO: Getting the Numer of Diggs from Digg (Python)

After 2 of my posts were on the Digg front page this morning (Thank you all very much to those that dugg them), I took my first look into the Digg API. I wanted a way to take a quick look to see how many Diggs certain stories were getting. In some ways it is similar to GData: make a call to a URL, get some XML back, parse it, etc. It does, however, feel lighter, probably due to its streamlined nature. It has one purpose, get information off of Digg. Using this, I've added a section in the Post List section…


Hi All, I'm leaving for vacation in a few. I'm going to be in Seattle, Washington until Wed morning and then San Fransisco until the following Sunday. I don't know if / when I'll be able to post anything but I'll try if I have some downtime ;) Hey look, an embedded map!! View Larger Map

HOWTO: YUI Tabview

A few days ago I added the Digg counts to the bottom of the Posts page on Although, the more posts that I add, the further down on the page this section will get, so I decided to play around with YUI's tabview control and put the post list in one tab, and the diggs in another. It turned out to be really easy: First we need a few dependencies And then we just need to organize some DIVs update: Diggs and HOWTO list

Quick update while I'm sitting here waiting for my friends in Seattle to get home from work, and its dinner time in NY, I need food! Anyway, I added the Digg count and HOWTO lists to the Post List page as YUI tabview tabs.

Google Reader adds Search Box!!

Finally!! No more using Yahoo Pipes to search the feeds! I'm sitting here waiting for my friend Eli to pick me up from his apartment for a nice lunch over at dreamworks, glancing over a few feeds (I have a LOT to catch up on when I get back to NY), and one jumped out at me, the Google Reader Team has finally added a search box to Google reader. This box will search all of your feeds! Also included in this release are: Ability to hide side navigation (I just tried it, it's very well done) Unread count is…

Back in NY!

Well as much fun as I had on the West Coast, there's no place like home and its good to be back. Highlights from my trip include Pike's Market, Tap House, Microsoft's campus, the Space Needle, and Mount Si in Seattle, and Dreamworks, Chinatown, and San Fransisco itself. Photos to come as soon as I have time to upload them to Picasa. As I posted while I was gone, my favorite thing I glanced at in reader was the fact that Google Reader added a search bar. This is great for me, there are so many times where I…

Last week recap

These are just a few highlights from while I was gone... Google Starts talking about a possible coding competition and gives some practice problems. Maybe I'll take a crack at them on the train on Friday... Google Mashup Editor had a feature release. Check out the post for the full list but my favorite new features include: Ability to edit XML, CSS and HTML files uploaded into the editor. New Tab styling and custom placement of tabs via CSS Documentation for new features Blogoscoped reported that iGoogle…

Slight delay in next HOWTO

I was trying very hard to get the next HOWTO online last night. I got it about 3/4 of the way done but then went to bed so I could go to the gym this morning, but then I ended up setting my alarm for 6pm instead of 6am.... so that was a waste I probably could have finished it. Tonight I'm going to test out Halo 3 on the Lincoln Center Imax Screen which should just be crazy. Until then here's a good article I read yesterday entitled Will The Google Bashers Please Shut Up? Till later, I'll see what time I get…

Playing Halo 3 on IMAX!

Completely off topic, but I had to share. Last Thursday I had the amazing privilege to play Halo 3 on the Lincoln Center IMAX Screen. It was amazing. For those of you that don't know, the Lincoln center IMAX screen is 70-something feet tall. The master chief was bigger then me. My buddy who got the tickets was on line around 6:30, I shower up around 8 or so (they were only letting the first 200 people play), and we got into the theater around 9pm. Joe Tung and Luke started off by running through a campaign…

GME 9/14 Feature Release

A new version of the Google Mashup Editor was released on Friday. Highlights of new features include: Ratings and Labels for external feeds Now uses GWT 1.4 (newest version) New "Save" event. List and item modules throw a save event when new entries are added to a feed Smarter loading of external libraries Documentation and samples were updated to support new features Bug fix highlights: Auto-complete can now be used when entry has a coma "nowrap" style for blue-theme CSS class was removed Documentation…

Google acquires Postini

Google has acquired Postini to better improve Google Apps. A blurb from Postini's website: _With Postini Solutions, you can secure all of your electronic communications email, instant messaging and the web – and manage your company's communication policies from one central location. Postini Solutions can also make it easy to meet your archiving and encryption needs._ Things I would like to see come out of this: The ability to encrypt Gmail messages and Google Docs without having to use greasemonkey A Google…

Rest in Peace Robert Jordan

Alas and woes, one of my favorite authors, Robert Jordan has passed away. RJ is the author of the magnificent The Wheel of Time Series. The series currently had 11 books plus a prequel. Jordan was feverishly working on the 12th and final book entitled A Memory of Light. My old Roommate Kit got me into it and though I had previously tried the series when I was about 10 I didn't get into it, this time around I instantly fell in love with The Eye of the World (first book). I put RJ's work on the same level as…

Google Books “My Library” Vs. LibraryThing vs. Shelfari

I love to read. I always have and I probably always will. When people ask me why I read so much or about how fast I can, I usually attest to the fact that when I was a child, the household rule was no television on weekdays, so, lots of books and reading. I still remember the first book I was able to finish on my own without any help from my mother; The Mouse and the Motorcycle. A few months ago when I was looking for a service to keep track of all my books (those I had read and those I wanted), the top two…

Using Blogger and Feedburner Sitemaps in Webmaster Tools

Blogger, good. FeedBurner, good. Google Webmaster tools, good. The 3 working together? A little more difficult. A few months ago blogger added support to have FeedBurner + blogger integration. No more editing template code, just change a setting in blogger, and viola, FeedBurner will track all your subscribers. However, this method did not go over so well with Google Webmaster Tools. Previously you could just add your blog's feed as a sitemap for you blog and the Google Bot would have no problem. If you…

Bring on the GDrive!

Do you want the GDrive? I know I do. Rumors have been flying around for almost 2 years about this thing, its been the brunt of an April Fool's joke, complete with official announcement and a Google Group (see below). Googlers use it, and if it ever comes out, it would change the way both home and corporate users think about file storage. Google is almost there, almost. When they integrate Gears into Docs they'll be one step closer. They would just need a few more features on the main Docs UI (bulk file… beta starts

The beta for has started (which I am part of), but that's all I can really say about it. If you don't know what CanGoogleHearMe is or what Aaron and the gang have been up to, check out the original story

Google Developer Podcast Ep 8 Summary

I got some time today on the train today to listen to Episode 8 of the Google Developer Podcast. Normally I'll listen to it at work when it first comes out but it's been way to hectic. Here are some highlights some commentary thrown in. ZohoWriter goes on Gears - See my opinions about this here. Google really needs to step it up and get Gears into their own services. The top two on my list being Gmail and Docs Embed Google Maps in a "youtube like way". Also the Drag zoom and custom marker manager controls…

Google Developer Podcast Ep 9 QuickCap

I got some time today to listen to this Podcast today on the way to and from one of our other buildings today uptown. I was attending SAS training which is a pretty cool data mining / report generation tool. This episode was an interview with T.V. Raman and his seeing eye dog Hubbell on accessibility in a developer's world. Quick recap: Why care about accessibility? (As a developer) You DON'T know your user try to build for the widest range of abilities Think about how people with different abilities will…

Ubuntu Gutsy Goes Beta

Ubuntu Gutsy Gibbon has gone beta and is on track for its October 18th Release. So, if you haven't been using it since tribe 2 like me, and want to upgrade from Fiesty Fawn, follow the below steps. Open a terminal. Type sudo update-manager -d Follow the instructions More information about upgrading can be found here If you want to upgrade from a cd or do a fresh install, ISOs are available here

By the Power of Grayskull.... I mean Google

Most of my friends got the reference to the "By the Power of Google" tagline that I chose to use for gPowered. Being a child of the 80's I had the privilege to watch some of the greatest cartoons ever created. One of those, was He-Man where one of the popular lines is "BY THE POWER OF GRAYSKULL." When I was throwing around taglines with "powered by" (powered by Google), He-Man's line kept popping into my head and stuck. If you don't know what He-Man is, check out the short summery from wikipedia. The show…

Google StreetView Going Global?

Or at least to London? A VW bug with a camera attached to the top has been spotted in London. Could be Google? Maybe expanding to areas around their offices in other countries? Nothing has been confirmed yet. I think this could pick up if Google started going to major Global Cities. Think about it, you could go site seeing without ever leaving your desk. The top cities on my list would be London, Tokyo, Paris, Venice, Dublin, and Hong Kong. I am hopefully going to two of these in the next 6 months (Tokyo…

Google Apps September recap

Its definitely been a busy month for Google Apps with the launch of presentations (finally). As a result, there is a new video as well as an updated tour. There is no API available yet but as soon as it comes out I'll post a HOWTO. Spreadsheets added new ways to pull external data. The external sources can include XML, a URL, HTML, or any feed based file. Spreadsheets also added autofill (type Dec and it can autofill December. Type Jan, Feb, Mar, and it will fill in the rest of the months for you. This also…

ProBlogger Birthday Bash: $54,000 in prizes!

ProBlogger's Birthday is here and Darren is running small contests throughout the week with over $54,000 in prizes. I missed the first few, thank you work and being on call, but the prizes have been pretty good so far. The first contest was for copies of Aaron Wall’s SEO Book and all you had to do was comment on the post announcing the contest. The second set of prizes were free listings on SeekZap and all you had to do was sign up! (This is the one I'm really bummed about missing.) The final prize for…

HOWTO: Use a Yahoo Pipe to filter feeds

One of my friends at work asked me today how I sift through volumes of news to find articles and information on Google and specifically on Google Code for my articles. The answer is simple, I don't. Granted, I DO read a LOT, but there just aren't enough hours in the day to read everything I want to. So, I have a Yahoo Pipe sift through the feeds for me. Pipes is "a powerful composition tool to aggregate, manipulate, and mashup content from around the web." Its fairly easy to use and doesn't require any code…

Comments turned on

For various reasons, I had these turned off initially when i started gPowered. I've now turned them on.

Displaying what you read from Google Reader

I've been wanting to share what I subscribe to in Google Reader and using the functions I wrote I was able to do just that. Check out the article for the full run down on the unofficial Google Reader API. This is written in python but should be easily portable to php. If i get around to it, I want to make a WordPress plugin so bloggers can share what they read with their readers. This will be followed (or in parallel depending on my mood) with a Javascript version so Blogspot users can do the same in the…

Picasa gets a blog!

Google Photos Blog: Ready for our close- up The Picasa team has gotten a blog in the form of the Google Photos Blog. I think this brings the number of Google blogs to 75 (including the international blogs). On the photo blog they will be posting feature updates to Picasa, photography tips, and the team's favorite photo albums. In addition to working on Picasa and the Web albums features, they are also in charge of hosting blogger's photo upload feature, which is powered by Picasa web, developing Orkut's…

NEW! Google Mashup of the Week

So I've decided to add a new feature to gPowered, the Google Mashup of the week. So many of these get created all the time using various Google APIs and services. Each week I'm going to search around find a dozen or so of the newest ones, pick out the one I like the best and why... with a possible runner up. As for when I'll be doing these, the new mashups will be posted sometime in between Saturday and Monday. Usually on the weekend unless I'm going away... like next weekend (Tennessee).... and the weekend…

Google Mashup Editor Blog: New Stuff - 10/4 Feature Release

Google Mashup Editor Blog: New Stuff - 10/4 Feature Release There was a feature release for the Google Mashup Editor and they also created a new blog for all updates and notices. Features include Geo encoding of any element in feed XPath helper in Feed Browser In memory feed - ${tmp} google.mashups.isUserAuthenticated(): method that returns true if and only if the user is authenticated centerOnLocation(address) method added to map module: Takes a string and centers on the geo encoded location that is…

How often do Google Blogs post?

Google has been using it's blogger platform to deliver news about it's products and services to the masses. Including the multi-language blogs, there are about 76 Google blogs out there. But how often do they post? I went through each one (of the English blogs) and figured out the average number of posts, per month, that they have for 2007 so far. If a blog wasn't around back in January, I took that into account also. The top two are the official Google Blog, and the Google Code blog, which makes sense as…

Top Secret Picasa Features

Google Photos Blog: Lesser-known (and secret) Picasa features Most people are familiar with Picasa's usual features; Editing, organizing, uploading, printing, etc, but Mike Herf, the Picasa Engineering manager is going to take us on a tour on some of the "easter egg-ish" features. He's going to be posting hidden features and tips on Wednesdays over at the Google Photos blog so check it out. The first up is search. While you might be familiar with searching for a filename, or a directory you know you put the…

My First Google API ticket has been fixed

My first ticket for the Google Document List API has been fixed. As I posted about [before]( python.html), the Document List API did not have the ability to just retrieve the documents from a given folder or tag. This has now been made possible, thanks API team! Original ticket: It would be ideal if we could pull back a list of documents from a certain folder. This would give more functionality and make the size of the data smaller if you only…

Ubuntu 7.10 Gutsy Gibbon is out!

Get it while its hot! (Or try to, the servers, as usual, are bogged. To upgrade, do the following: (note: you can only upgrade using this method if you are already using Feisty Fawn) Go to System -> Administration -> Update Manager Hit the Check button to check for new updates to your current install (Feisty) If there are any updates, hit the "Install Updates" button, this will install any updates for your current installation. A Message should appear stating there is a 7.10 release Hit "Upgrade" Follow…

Google Overheard in New York

If you haven't heard about Overheard in New York ( OHNY ), or don't subscribe to it, I can't recommend it more. It's absolutely hilarious. It's been around for a while and is constantly updated with a dozen or so quotes a day that people hear while walking / riding around New York City. You don't have to live in the city to enjoy it, though you might not get all of the humor. I used Google Reader Search to go through the feed looking for Google references. Here are a few, note: there were a lot more but not…

Mashup of the Week

It's been a little more then a week... Chalk it up to quite a bit of traveling. I'm around now until December, I promise ;) **This weeks winner: Mappington ** API's used: Eventful Flickr GeoNames Google Maps Kayak Microsoft Virtual Earth Technorati Weather Channel Yahoo Answers Yahoo Local Search Yahoo Maps Yahoo Traffic Yahoo Travel YouTube Why it won: Mappington is the most inclusive map / location information hub I have ever come across. "Mappington is a user created atlas of the world." It covers the…

New Blog Address

After doing quite a bit of reading over at Yaro Starak's Entrepreneur's Journey and Darren Rowse's I've decided to move gPowered onto my domain at Over the coming days/weeks I'll be updating the template on the rest of the domain to coincide more with the blog, as well as adding the top menu to the blog. The blog is still powered by blogger and the old address nicely forwards to the new one, posts included. I also updated the FeedBurner feed so if you use that to…

Google Reader stats out of Wack

First, Techcrunch came up with a list of the top blogs that users subscribe to using Google Reader. The top 3 on the list were BBC with 202,463, Google News wih 192,100, and ESPN with 189,274 . Remember, these are only the stats if the subscriber is using Google Reader, obviously there are blogs with a higher subscription count, such as the Official Google Blog (They still haven't moved over to eh?) with over 669,000 subscribers as reported by FeedBurner. It was all well and good that…

Google Overheard in the Office

A few days ago I posted some Overheard in New York Google Posts. Today is some Overhead in the Office. It's not quite as good as the orriginal, but the office posts are still really funny. If you like these, subscribe to the feed, enjoy! No Problem, Then Coworker #1 on speakerphone: How do I Google something? Coworker #2: Go to W-W-W dot Google dot com. Then just use it like any other search engine. Coworker #1: What's a search engine? Coworker #2: You know, like when you use Yahoo or MSN to look something…

Linux Distro Popularity According to Google

Over the years I've used a variety of Linux Distros: Mandrake, Red Hat, FreeBSD, Fedora, Gentoo, and Ubuntu. Distrowatch keeps track of everything we need to know about the distros, and recently there has been an enormous push in desktop Linux thanks to Dell putting Ubuntu on desktops and Compiz-Fusion bringing snazzy eye candy to even low end machines. Distrowatch gives some pretty decent stats on the main Distros but for a while I've wanted to know how Google sees their popularity; mainly by how many…

October Speedlinking

I haven't been able to post as often or as in depth as I'd like to have this past month. I chalk it up mostly to work, we all love 12 hour days right? But now that sign-off has passed and our last release of 2007 is calmly approaching (its on Friday), things have settled down a bit. Below are some great links from October, most of which I wanted to mention at some point and haven't gotten a chance to until now. Enjoy. The JavaScript Library for Google Calendar was released. This allows for authenticated…

gPhone, or lack there of

To be honest, when I heard that Google was going to announce whatever it is they have been working on with a "gPhone" I was really excited. The announcement of Android, their new open mobile platform is cool and all, but I was a little disappointed. Granted thats because might have been expecting something as cool as the iPhone, or that I desperately need a new phone. I've been following the openmoko project and its going to be intersting how Android compares to it. For the full Android story, check out…


Hi all, I've been away for a while and for this I apologize. It's been a combination of work, real life, and traveling (both for work and for fun). Since my last post I've been to Tokyo, Southern Ireland, Paris, London, and Colorado, the longest stint being in London where I was working for a while. Check out my photos below. A lot has happened in my absence. At the top of my list are Android, Open Social, the Social Graph, and many many more. Just this morning RIM released an eclipse plugin for their IDE…

Update Google Talk status with Twitter

I've had this idea in my head for a while and just got it to work this morning. Basically you send a tweet from Twitter and this script runs, picks up your current twitter status, and if need be, updates your gChat status. I'm working on a service version of this where you could use to do all this for you. Stay tuned =) If I change the version of the script that I have running in the service, you will be able to see the source code that I have checked in [here](…

Blogger adds bloggroll

[Blogger]( on.html) in draft added 2 new features today: a blogroll page element, and post scheduling. Post scheduling is pretty useful, you can write up your post, set the time (in the future) that you want it to post, and Blogger will do it automatically. The second feature, a blogroll, I would like a lot more if it was done better. The main thing I like about it is that it integrates with Google Reader so if I'm linking to my friend's…

test from my blackberry

If you are reading this. I was able to post from my work blackberry, neat (Waiting for a baby shower, I mean meeting, to start. Currently guarding the cake) Mmmmm cake

Best Android quote

Android handsets are poised to spread like wildfire across the open source and developer communities upon release. I can't wait. Verizon better have Android

Non Google AppEngine hosting

If you are like me, and are waiting to get in on the action, check it out:

Google Website Optimizer is out of beta

Google's Website Optimizer is out of beta. I'll be running the blog portion of gPowered through it to see what it thinks of a blogger generated page ;) Results to follow. Everyone have a good weekend! I know I need it!

Almost time for a new Ubuntu

Ubuntu 8.04, Hardy Heron comes out in two days Be ready for it. (Or install it now)

Upgrade Ubuntu to 8.04 Hardy Heron

Hardy Heron came out this morning and is very much down for the count You can Still update though, click here for the Google Cache version. Happy Updating! New Features in this release: Install on an existing filesystem without overwriting /home When I moved from feisty to gutsy, I decided to do a fresh install. One of the things I had to do was back up my home folder, and when I finished installing gutsy I just copied it back onto my computer. This new feature will allow people to install the…

But Daddy! I want and Andoid phone NOW!

A Microsoft Office editor should be available at launch and based on these screenshots, its going to be pretty useful. I'll have to fire up the Android emulator this weekend and see how this stacks up against mobile Google Docs and Spreadsheets. [![]( /s400/veruca+salt.jpg)]( AAAARzk/Z6ryO5Ce-mo/s1600-h/veruca+salt.jpg) Veruca Salt: Hey, Daddy, I want an Oompa Loompa. I want you to…

Fixing Nvidia 8600 GT on Hardy Heron

After updating to Hardy I got a white screen of death upon rebooting. After some research it turned out that this was more of an Nvidia driver issue rather then Ubuntu. This may not have been the most correct way to fix it, but it worked for me. Completely remove nvidia-glx-new Remove nvidia-kernel-common (this also removes linux-restricted-modules), (I am not sure if step 2 is required) install build-essentials Download the Nvidia beta driver that came out on April 10. You can get it here hit ctrl + alt…

Limit Google Search Results by Date

Tech Recipes goes into how how to restrict Google search results by date: Appending to a search will display a drop down that lets you choose how far back in time to search. A Greasemonkey script will also do this for you. Pretty useful if you are searching about a brand new issue. This would have helped me a lot when I was having a problem with Hardy

Distributing Ubuntu

... is much better then Windows ;-) In other news: I requested my Hardy Heron dvd =)

Added a tag cloud

I haven't been to crazy about how Blogger's default tag/label list looks lately. On some of my shorter posts it was taking up most of the vertical space on the page. I looked around to see if I could find a more traditional tag cloud. I found a pretty good (and very easy) tutorial and just installed it. I have to play with the colors a bit but I like the way it looks.

Select Google I/O sessions to be posted online

I won't be able to attend Google I/O (It's a bit expensive on short notice for me) bit it's a relieve that some of the sessions are going to be posted online after the conference.

New Work Blackberry

Got a new blackberry at work today: The 8820. Much nicer then my old clunker which... err... broke... yeah we'll go with broke. Getting the curve when it comes out on Friday for Verizon. I can't install any applications on my work one, but as soon as I get my personal one, Google Blackberry app reviews will be pouring out =)

Got my Google appengine account!

But someone already registered gpowered =( ![]( /s400/no_gpowered.jpg)

Appengine Hackathon!

I'm heading to Google NY for the day for an appengine hackathon. I have a bazillion ideas banging around in my head. We'll see what I come back with. If anyone else is going to be there send me an email me or send me a tweet View Larger Map

Android Developer Challenge Judges and Top 50 Details

The Android developer's challenge has release most of the top 50 (a few opted to not be made public for now). A slide deck of the winners is available here. I've gone through some of them and they have been blowing me away. Lists are being put together with the websites for the winners. There is some really exciting work being done. Even though its the first one on the list, AndroidScan still blows me away. It uses the phone on the camera to take a photo of a bar code, look up the product in a database, and…

Why Microsoft will buy Facebook and keep it closed

Normally I don't just link to other posts, but Scoble's latest article is quite a read. It delves into Microsoft + Yahoo Search + Facebook giving Google and the rest of the open web quite a hard time. Definitely work the time to read.

twitter2gTalk Goes Live!

Get your tweets onto Google Talk! Twitter: A free social networking and micro-blogging service that allows users to send "updates" (or "tweets"; text-based posts, up to 140 characters long) to the Twitter website, via short message service (SMS), instant messaging, or a third-party application such as Twitterrific or Facebook. gTalk: (Google Talk) is a Windows and web-based application for voice over internet (VOIP) and instant messaging, offered by Google. twitter2gTalk: Takes your current tweet and sets…

AppEngine Pricing announced

These look pretty cheap for what you get, and if one of my little apps actually got popular enough to fall outside of the free range, I'd gladly pay for it Free quota to get started: 500MB storage and enough CPU and bandwidth for about 5 million pageviews per month $0.10 - $0.12 per CPU core-hour $0.15 - $0.18 per GB-month of storage $0.11 - $0.13 per GB outgoing bandwidth $0.09 - $0.11 per GB incoming bandwidth Google I/O started this morning, unhappy I am not there...

Google hosting popular javascript libraries

I came across this yesterday looking for the mootools download link. Google is hosting a bunch of the popular javascript libraries on their server for you. Pros: Use Google's Bandwidth Google takes care of keeping the files up to date Common include code across your apps Use Google as a Fast proxy Gadgets will have access to cached files Cons: Have to rely on Google to keep files up to date Probably won't include beta releases of libraries The main page is here and currently includes: jQuery prototype…

I/O: Android on the HTC Dream

You might see some random I/O posts popping up from me over the next few days... ;) In the keynote at Google I/O, the HTC Touch was demonstrated running Android. Touch streetview, and heck, when you move the phone, streetview moves with you! Video on Engadget and stills on Talk Android

I/O: Web Browser, Meet Google Earth

Enabling you to switch a Google Maps mashup or page to 3D Google earth with just a few lines of javascript

I/O: AppEngine is open!

Appengine is no longer limited to the first 10,000 people or hackathon attendees. Anyone can set up an account but each account is still limited to 3 apps. Guess all those extra gmail accounts will come in handy eh?

I/O: MySpace installs gears

Myspace unveiled a new search feature of their message center at Google I/O utilizing gears. As you search your messages, results are shown in real time, coming out of the local cache stored in gears. Hopefully this will give gears more publicity and other sited (ahem, facebook) will take a look at it ;) This almost makes me want to create a myspace account to go play with it... ALMOST...

5 Reasons Why RIM Should Make A BlackBerry That Runs Android

I'd really enjoy this. 1) I'm obviously addicted to my crackberry. 2) I'm not sure how I feel about lots of typing in a touch screen. I played with the HTC Touch over the weekend. It was cool, it was pretty, but the screen wasn't as responsive as I would have hoped. We'll see what HTC can do with the Diamond and the Dream

Diggnation filming at Studio B in NYC tonight

Kevin Rose is filming Diggnation in Brooklyn tonight for Internet Week. It starts at 6 I should be able to get out of work in time. Anyone else going? "Diggnation is a weekly video podcast produced by Revision3. It is hosted by Kevin Rose and Alex Albrecht, who had previously hosted TechTV's The Screen Savers together. Its main purpose is to discuss the top stories from Digg, the social bookmarking website developed by Rose and others. The format of the show usually involves Rose and Albrecht reviewing one…

Live Diggnation NY Photos

The show was absolutely nuts. Had a great time at Studio B. Sorry for the crappy photo quality, I forgot my camera and the blackberry doesn't do so well in the dark... I think the estimate for this meetup was about 2,000 people inside and 600 waiting outside in the rain? Great turnout, great show. Diggnation better come back to NY. (As they said at the show, NY creates/diggs the most content on Digg then anywhere else in the world, GO NEW YORK! [![](ht tp://…

Google Toolbar Available for Firefox 3

Finally, the Google toolbar is available for all those with the Firefox beta or RC releases. Just in time too... took them long enough... happy days are here again!

Google I/O session videos posted with slides

As I said earlier, Quite a few presentations from Google I/O have been posted for your viewing pleasure. I'll be glued to these this weekend while I'm on call. Topics include Ajax KML Sketchup Android OpenSocial Appengine Data APIs Theory Talks Youtube Gears Mashups Maps and more!

Social Badges

So, for whatever reason. I never added my social network badges to this site. I should have, a long time ago. Feel free to follow me on FriendFeed or Twitter, be my friend on Facebook or linkedin, see what I've Dugg or listened to, take a look at my photos, and more. Will definitly be seeing how this effects my social graph FriendFeed Twitter Blog Facebook Digg Google Reader ![Picasa Web Albums]( es/picasa.png) ![LinkedIn](http: //…

Mars Robot twittered from Space

The Mars Phoenix robot found water on mars and what does it do? Sends a tweet "Are you ready to celebrate? Well, get ready: We have ICE!!!!! Yes, ICE, WATER ICE on Mars! w00t!!! Best day ever!!"

gPowered Rated 8.2 on!

I recently received an email about someone submitting gPowered to []( google.html). To whoever submitted it, thank you so much!! _ Dear Timothy Broder, Our editors recently reviewed your blog and have given it an 8.2 score out of (10) in the Technology category of This is quite an achievement! []( We evaluated your blog based on the following…

New and Improved Google Personal Homepage (ig)

I unfortunately haven't had time to touch Google reader in almost 2 weeks now, but just caught on lifehacker that Google is rolling out a new personal homepage. Some of you may have it enabled by default. If not, head over to and sign up to get into the developer sandbox. If you aren't a developer, fake it. My favorite addition is definitely full screen Gmail preview, which I can't get to at work. I wonder how long until they block it.... ![](…

I'm not sure I like the new Facebook Design

Originally I had friendfeed taking care of all my Facebook status updates. I wasn't sure I liked this on the old profile and was experimenting. Now I definitely want it to go. But even working with other apps and feeds, I'm not sure the new profile can display what the old one could. These pics are from the new one. Some valuable information is missing from the posts, diggs, twitter isn't even showing up... I'll have to play some more. What do people think? ![](…

Heading on Vacation

Finally getting a vacation in, going down to the Jersey shore. Got a nice stack of books and comics. Can't wait to relax. My next project will be released a few days after I get back. It's almost done =) ![Got my stack of books for vacation at the shore. Bye world se... on TwitPic]( 67847ad849843df02601c352bc7ad4b0.488b2aa3.jpg)

Back from Vacation

I did as much relaxing as I could on Vacation down at the Jersey Shore. No computers at all. Just me, the beach and a bunch of books. Went on the Human Sling shot (spring shot?) which was a lot of fun, see the video and pictures below. Also, Check out Its a lot better then any of the other bookshelving services I've reviewed in the past. The reasons why will be in a future post in the not so distant future. [Widget_logo](http: // Vacation in WIldwood

T-Mobile Android slated for Oct 13th

Highlights pre-order will go until Oct. 3 at 5pm Phones will be received on Oct 13th Price: $199 $18 "upgrade" fee 2 year contract required $35 unlimited data & messaging plan $25 plan including 400 messages Phone Features Touch Screen Full Qwerty keyboard 3G/ WiFi Full HTML internet capabilities Easy access to all Google applications (Gmail, Gtalk, search) Maps Street view You Tube Phone IM/Text Email Camera 3.0mp Video (playback only, no recording) Music player & 1GB memory card pre-loaded Applications…

Javascript pacman clone

A great example of javascript to create a pacman clone. (Uses YUI)

New Android news

T-Mobile G1 phone images leaked! Android Developer Challenge Winners Announced Android App Market Confirmed. EAT IT IPHONE

Share your code at ‘Google App Engine Cookbook’

Google App Engine Blog: Our favorite recipes for App Engine, all in one place I'll be submitting some snippets in the near future. Said code will also be posted on here ;)

Chrome coming to Android?

Android Community and a few other blogs have stated that Chrome will be making its way to android, but aside from the processing stack and improved javascriptability (yes I just made up a word), is it really going to be the full chrome app everyone is playing with or just a tweaked out webkit (which we already knew was going to be the native Android browser)

Django 1.0 released!

No, you’re not hallucinating, it’s really here. NOW GO GET IT

Chrome: Don't Clog the Tubes!

A buddy at work mentioned this. There are also a lot more listed over at lifehacker ![]( /s400/clog.JPG)

Diggnation in your living room!

This could be a lot of fun. If you win, Kevin, Alex, Prager, the Hippie, and whoever else will come shoot an episode of Diggnation from your living room. I love Diggnation, either way, it will be a great episode. "In this once in a lifetime opportunity, Kevin and Alex will travel to a fan’s house to shoot an episode of Diggnation this fall. From now until October 22, every time you use the code “diggcouch” when you purchase something from Go Daddy you are automatically entered to win. Go Daddy will choose…

Adobe AIR Beta Now Available for Linux

Adobe air is out of alpha and can be downloaded here. Also check out Life Hacker's top 10 apps worth installing Adobe AIR for

Man I would love to do this

Official Google Blog: Running Hood to Coast "A 197-mile Oregon race that starts at Mount Hood, travels through Portland, and finishes on the beach in the town of Seaside. More than 1000 teams participate in the race, with 12 runners on each team running three legs each."

How to stream video to an Xbox 360 from linux

There are a couple of different methods floating around to do this, but I think this is the quickest and easiest to get set up. So far, I like this better then FTP'ing files over to my old modded xbox. Some notes about further investigating will be at the bottom. Note: this was tested on an Ubuntu machine. Make sure your 360 has all the current updates Install ushare "sudo apt-get install ushare" if ushare complains about a missing libdlna dependency, get it from here: **"wget…

Twitter enters the Porn industry

Just got this at work, I must have missed the memo... The site you have attempted to access has been blocked _If you feel access to this site has a valid business justification, we welcome you to submit a request to access the site which will be reviewed for compliance with [my company here] Policy. _ URL Requested: URL Category: Sex Date: 2008-09-23 14:20:25

Woohoo! Google Maps adds NYC transit directions

Finally! Took em long enough. It even has the New Jersey Path. I've been using GypsyMaps up until now if I needed directions, we'll see how they stack up against each other


Now, normally gmail's spam system picks up on these. I apparently was entered by using the "Googler" Search Engine. Oh well, next time it will know, and knowing is half the battle! ::hits spam button:: _This E-mail is to inform you that your e-email have emerged you a winner of £500,000.00 GBP (Five Hundred Thousand British Pounds) in our online Give-away 1Oth year Anniversary draws. GoogleUK has successfully organized for the second time a Cash Give-Away marking 2008 10th Anniversary in the UK. Over £2…

Digg and Facebook Heading to the Future of Web Apps expo

This sounds like a lot of fun, some good presentations (interesting topics and good presenters), a live Diggnation, and I LOVE London. Wish I could go Here's the lineup: Mark Zuckerberg - Fireside Chat Kevin Rose - The future of social news Dave Morin - A more social Web with [Facebook Connect]( Joe Stump - Languages don't scale To wrap up the conference there will be a live Diggnation on the main stage (Oct 10). Directly after that will be the wrap up party which…

September Madness

A little off the beaten path from what I usually post, but have at, we're taking bets here at work, winner gets to claim Alaska as their sovereign kingdom of awesomeness

Debate 2.0

Last week during the presidential debate, the country was a-twitter. There were a bunch of sites doing some sort of realtime web 2.0 shows of the debate, with a lot of these using twitter and hashtags. If anyone knows of any sites that I haven't listed below, please let me know We had the TV, a couple of laptops, and a few bottles of wine going and it turned out to be great fun. My favorite site was definitely Current's Hack the Debate It displays the video/audio of the debate, as well as real time…

How to turn any webpage into an RSS feed

Using a tool called Dapper and Yahoo Pipes, its fairly easy to turn any webpage into an RSS feed. Dapper is a powerful HTML scrapping system and Pipes is a handy data remixing tool. Head on over to and check to make sure someone hasn't already done what you are planning on doing (Do this by using dapper's search function.) If you can't find any, you are ready to go. For this example, I'm going to scrape which shows the comic books I'm interested in this…

GWTPHP = Google Web Toolkit + PHP 5

I know there is a pretty high number of programmers who haven't tried to dable GWT yet because out of the box, the back end is java only. PHP developers rejoice! _Unlike most of the other frameworks, GwtPHP is a framework for both client and server part. In GwtPHP you don’t need to hack JavaScript, you work with modern, object oriented languages. User interface (client) is programmed in Java, then compiled by Google Web Toolkit (GWT) to browser-dependent JavaScript. Server part uses PHP 5. _ Not yet…

Android Market now open. Full source released

The Android Market is now open, register to add your apps! ![]( /s320-R/market.JPG) The full source code for Android is now available:

Gmail adds voice and video chat

Is the death of Skype iminent? The plugin isn't out for Linux so I can't test it out just yet. Hopefully I'll be able to try it out on Laura's mac later. Until then, more info is available here. If you've tried it out, let me know.

Set / Change / Reset the MySQL root password on Ubuntu Linux (Ubuntu)

This came in veeeerrryyy handy just now... Stop the MySQL Server sudo /etc/init.d/mysql stop Start the mysqld config sudo mysqld --skip-grant-tables & Login to the server as root mysql -u root mysql Ser your NEWPASSWORD UPDATE user SET Password=PASSWORD('NEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit; туры на майские праздники днепропетровсквзять денег в долг срочно

Google Reader gets a facelift

It's now less "bubble" looking. I'm wondering if its pulling from my gmail theme, but I unfortunately can't check that from work. I really like being able to hide the stats in the upper left. The only one I ever look at is how many total unread items I have.

Finding unread gmails (or: the best gmail filter ever)

As the year starts to wind down, I figure I should start the year off with a clean inbox. I try to keep no unread messages in my inbox, instead I tag and archive. These past few weeks however, my inbox has gotten a little crazy. I found this filter to show me all my unread mail that is still in my inbox, hope it helps someone organize like it did me is:inbox is:unread Happy Holidays all

How to get brightkite photos into an RSS feed (to post to a blog)

I started another blog so I have a place to rant about comics or movies or whatever else I need to get off my chest, and I needed an excuse to play with wordpress (something I've been wanting to do for a while). I plan on posting how I did certain things on that blog on gPowered. One of the things I really wanted to do was have my twitter photos show up as posts on that blog. For a while I have been using twitpic, but have recently changed over to brightkite. Brightkite provides an rss feed of all your…

Installing Ubuntu Netbook Remix (with Jaunty) on an MSI Wind

I recently picked up a MSI Wind Netbook and love the damn thing. Ubuntu Netbook Remix brings in a great UI which makes navigating on the small screen much easier.I used Ubuntu Jaunty Jackalope Alpha 4 as the base install, mainly because I didn't want to go through the trouble of converting my ext3 partitions to ext4 when it comes out on April 23rd, and the driver support is more complete. I haven't had many problems with it aside from a few random firefox crashes. We're going to make a bootable USB stick…

Google Calendar gets offline access with Gears

4 of my 5 most used Google apps now have offline access through Gears (Gmail, Docs, and reader being the other). I use picasa heavily also but there is way too much data there for gears. Head over to your calendar to add the feature.

GrandCentral finally resurected

GrandCentral lives again, as Google Voice. Google voice is rolling out, although currently only open to current GrandCentral users. To request an invite when it is open to all, click here Features: Google number - One number for all your calls and SMS Features_thumb1 Call screening - Announce and screen callers Listen in - Listen before taking a call Block calls - Keep unwanted callers at bay SMS - Send, receive, and store SMS Place calls - Call US numbers for free Taking calls - Answer on any of your…

No Content Found

Test post from sms (now supported by blogger )

Google’s JavaScript/ Chrome Experiments Showcase

Google at released a showcase site for JavaScript experiments especially aimed as promotion to demonstrate their own Chrome browser’s capabilities. From games to 3D graphics, these demo's really show off what the chrome javascript engine can do

First Google Chrome Extensions

Extensions are coming for chrome. Google’s Matt Cutts in a blog post says: “Extensions currently have very Greasemonkey-like functionality: you identify which web pages should be modified, plus JavaScript to be added to those pages. By default, the extension’s JavaScript runs after the page loads, but you can specify that the extension’s JavaScript should run before the page loads. Right now, you can only load one JS file, but that could change in the future. You also can’t currently load Cascading Style…

Twitter Blog: Replies Are Now Mentions

Twitter Blog: Replies Are Now Mentions Hopefully this is a step towards official support of @reply (or @mention) notifications again

Big Appengine news: Cron, Java, Firewalled Data, DB Import

Java Support: This was the first, and most popular request in the bug tracker. Followed closely by PHP support. Google has merged the simplicity of appengine with the robustness of java, and added it to their Eclipse plugin to boot. Cron Support: The cron support works by calling a URL at a given interval. I'm not sure if cron jobs are also restricted by the timeout policy, hopefully they will be allowed to be longer. Secure Data Connector: An exampled of this would be accessing data behind a corporate…

How to manage podcasts in Winamp (screw itunes)

So I really have been digging the Windows 7 beta. However, Itunes does not sync podcasts correctly on the 64 bit version. IF syncing works at all, it takes a while. I had used winamp to listen to my music a while ago, but had switched to amarok when I started single booting linux (yes, I hated Vista that much). Now that I'm back to using windows a bit, I wanted my podcast experience to go flawlessly. As much as I dislike iTunes, they have got podcast management down pat search for podcast subscribe to…

Google Maps F-Bombs street names!

Good stuff. Link ![]( /s400/Untitled.jpg)

Diggnation NYC, June 4th!

Veeeeery excited about this. [Last year]( was a blast When? Thursday, June 4th, 2009 7:30pm Where? Webster Hall 125 East 11th Street, New York City, NY [view map](,%20New%20York% 20City,%20NY) Streaming? No Live Event? Yes Venue Website:

Quick Google Authentication in PHP

Here is a quick way to authenticate against Google and retrieve a protected feed. It does not use the supported ClientLogin method but it does allow you to get to some unsupported feeds (Reader, Bookmarks, etc) The Zend Gdata library is required

Wordpress Plugin: Displaying your Google Reader RSS subscriptions

I've been meaning to write this code for a while, and I really wanted to take a stab at writing a wordpress plugin so here it goes. The following takes in Google user credentials, and allows the user to display what RSS feeds they subscribe to on their wordpress blog Example: The RSS that I read Update: This plugin is now hosted by wordpress. click here

Android hacked to run on x86

I foresee this being my weekend project

Send To Tumblr And Track With Bitly Google Reader Custom Link

Testing the "send to blogger" button... Send To Tumblr And Track With Bitly Google Reader Custom Link: " Google Reader just launched a “Send to Twitter” feature that allows you to share links to interesting items in your reader with your Twitter friends.  First, awesome! Second, Google Reader has been getting lots of product development attention lately, and with all the awesome stuff they are adding, I spend all of my time there as opposed to,, or Tumblr Dashboard…

Tech Support Cheat Sheet

Tech Support Cheat Sheet: 'Hey Megan, it's your father. How do I print out a flowchart?'

Location, Location, Location

This will be pretty cool when it comes out Location, Location, Location: "Twitter platform developers have been doing innovative work with location for some time despite having access to only a rudimentary level of API support. Most of the location-based projects we see are built using the simple, account-level location field folks can fill out as part of their profile. Since anything can be written in this field, it's interesting but not very dependable. We're gearing up to launch a new feature which makes…

Fight Gone Bad IV

Anyone want to help me out by donating? Fight Gone Bad IV: On Sept 26th I am competing in Fight Gone Bad IV to raise money for Wounded Warriors and Athletes for a cure.  Fight gone bad is a CrossFit workout scored by the number of reps. Description from the CrossFit website 4.3. Explain Fight Gone Bad In this workout you move from each of five stations after a minute. This is a five-minute round from which a one-minute break is allowed before repeating. We’ve used this in 3 and 5 round versions. The…

Twitter get phone calls, Facebook gets voice chat

Twitter users on Thursday will, for the first time, be able to make voice calls directly to each other through the microblogging service. Look out, Facebook users: Here comes voice chat. Sometime in the next few weeks, the social network's tens of millions of users will begin to be able to have high-quality voice conversations, even as its third-party developers are able to start including voice in their applications.

Checking if a remote file exists in python

Normally, to check if a remote web file exists I would use urllib's getcode() but that is a 2.6 and newer feature. In Python 2.5 its a little more interesting. Thankfully, wget's spider command can help us out.

Firefox Keyboard and Mouse Shortcuts

Here is a list of Firefox keyboard and mouse shortcuts for each of the three major operating systems organized by topic.

Google Wave checker for firefox

I'm liking google wave so far (not loving yet, but there aren't that many people on it yet), but one of the annoying things was actually having to be in the app to see if I have new waves. Firefox plugin, problem solved!

Use Google Voice with your existing number

WOOHOO!!!! It's working on my verizon blackberry! "Up until now, if you wanted to use Google Voice, you needed to choose a new number (a "Google number"). Taking calls through your Google number allows us to offer features like call recording, call screening and getting text messages via email. But we know not everyone wants to switch to a new phone number, so it made sense for us to create a lighter version of Google Voice for people who are willing to trade some features for the ability to use their…

Google Wave as a Project Collaboration Tool

I'm a'bloggin on the company blog! (Alexander Interactive) Google Wave as a Project Collaboration Tool: If you aren't already familiar with Google Wave, check out some basic info, and a very in-depth video here. Wave is a new project from Google that reinvents email communication. Forget everything you know about email, it was invented back in the 70's, things have changed; technology is faster, we have cloud computing, web apps look fancier, and for a while, a large portion of email users are moving (back…

Google’s Christmas gift to America is free Wi-Fi at airports starting today (reblog)

Google’s Christmas gift to America is free Wi-Fi at airports starting today: google-xmas-wifi Those that hate Google but travel frequently might feel a bit conflicted over the next couple of months because of Google’s holiday gift to America. Starting today and ending on January 15th, Google will be offering up free, no strings attached Wi-Fi at 47 airports while Virgin American flyers will be getting free in-flight Wi-Fi as of the 18th. The In addition to this, Google has set up a way for travelers at each…

Online advertising moving to.... your car?

Another one of mine on the work blog - Online advertising moving to.... your car?: With the release of [Android 2.0]( on the Motorola [Droid]( Services/Mobile-Phones/Motorola-DROID-US-EN), the Google Maps for Mobile application brings turn by turn GPS navigation (with voice) to your car. A great feature by far, it actually made Garmin and TomTom's stocks [tank](http: //www.wiseandroid…

Take your batch into the cloud

From the work blog: Take your batch into the cloud: " About a year ago I wrote a webapp called twitter2gtalk, which simply takes your latest Twitter message and sets it as your Google Talk Status. Shortly there after I attended an App Engine Hackathon (GAE) at Google NYC. At the hackathon, I started porting the app over to app engine. At the time, there was no scheduling or cron support in GAE. I created a hybrid app running between GAE and my webfaction server. My webfaction server would handle the cron…

Google Wave Invites

I have quite a few Google Wave invites left, if you would like one email me, @broderboy me, or leave a comment below. In all cases, please leave the email address to send the invite to.

We fix while we eat

Hey, thats me! [We fix while we eat]( while-we-eat.html): " Ai's David Napolitan and Tim Broder fix a late night production bug

Sneak some advanced logic into a Django template

I was adding on an app to a Django project at work where I was overriding an existing template but did not have access to the view that called that template. I was left in a scenario where I had the variables that the view was originally set up with, but non of the new models that I had added. In a filter you can do whatever logic you want, and then pass information back to the view. Please keep in mind, this is probably a horrible practice, but it does have its uses. In this specific scenario I needed to…

Share Google Reader folders with friends

A quick rundown on how to share whole folders with friends so they can see what you are reading, there might be an easier way to do this but this was the quickest I found Click explore click "View all recommendations" click Browse click Create a bundle Fill out the form and drag folders or individual feeds. After this is done you can email the bundle to your friends

Django gets Multi-DB

For his Google Summer of Code project Alex Gaynor added Multiple Database support to Django, which just got pushed to Trunk. The Documentation is available here. Some of the offhand benifits I can see: Multiple of databases. Got some legacy systems you don't want to migrate but have access to the data? no problem Have a read and a write database. Want one of your databases to speed up by configuring faster indexes and disabling writes? done. Multiple TYPES of databases. This is the one I'm most excited…

Jack Vs Spider and Happy Holidays

Happy Holidays and thanks everyone for a great year. Check out my company's holiday E-card here Our VP of Security takes on an 8 legged intruder

Override QuerySet.delete() (one way of preventing cascading deletes)

We needed to override the default QuerySet delete function to deal with a client problem that we were facing Yes This is monkey-patching, and probably bad practice but if anyone needs to conditionally override the cascading delete that django does at the application level from a queryset, this is how to do it

Remaining character count in django admin

Update: This code also lives on Github Want to display the remaining characters on a text field in admin? (based off of maxlength or an override)

Get the admin url for a django model

Add this to your model to be able to get their admin change link from anywhere Useful if you want to jump to the admin screen of an object you are looking at on the front end

Django Admin inline preview

Update: This code lives on Github To get inline Admin Previews in the list view Inherit from PreviewAdmin in your ModelAdmin In your model's template directory, create a folder called preview, and create a template for that model's preview Example for model Article then edit Whatever is in article.html will be shown inline Access your Article object through {{ object }} in the template

Google Buzz? Facebook Email?

Google Buzz quetly came out, adds friendfeed like functionality to gmail Facebook is also launching email, interesting times ahead in the communication world.

Why Google Needs Buzz

Why Google Needs Buzz: " [![]( a6KVRROg:XtH5NORu2hI:V_sGLiPBpWU)]( =Ma-a6KVRROg:XtH5NORu2hI:V_sGLiPBpWU) [![]( rose?d=7Q72WNTAKBA)]( a6KVRROg:XtH5NORu2hI:7Q72WNTAKBA) [![]( ?d=qj6IDK7rITs)]( a6KVRROg:XtH5NORu2hI:qj6IDK7rITs) [![](https://feeds.feedburner…

Hide buzz without disabling it

If you want people to see your buzzes, but like myself want to keep checking people's google reader shares IN google reader, and see twitter in twitter, you can hide the Buzz label. Go into settings > labels > buzz > hide

IE9 platform preview

Interested in checking out the new Web platform capabilities of Internet Explorer 9? Download the Internet Explorer Platform Preview right now.

select foo, count(*) from bar group by foo in django

Every once in a while you need some old fashion SQL style queries in django. This is a common one for reporting and aggregation.  Its fairly easy to replicate in a queryset.  Say I wanted to get the authors and the number of articles they have written going back to the beginning of 2009 to the present: The result:

SyntaxHighlighter Evolved

I'm currently in the process of migrating over to this domain and onto wordpress. SyntaxHighlighter has been upgraded quite a bit since I last wrote about it.  I came across a great plugin to handle the code highlighting for me on wordpress.  I love the plugin, didn't have to go into the wordpress template. It doesn't support the old pre syntax that I had been using previously but it was simple to add in. Patch to add this to 2.3.8 is below, Thanks to Alex for the plugin

Displaying Custom Attributes on the Product Page in Magento

At some point you may not want to use the canned attributes.phtml groupings that magento provides, or you just want to cherry pick which attributes to show on your product listing page template/catalog/product/view.phtml is now

Hi all, some of you may have noticed this site is no longer on the domain.  I've been wanting to move onto wordpress for a while now and also do some additional writing beyond code stuffs which would be outside of the scope of gpowered.  I also unfortunately (or fortunately because I love my job) don't have as much time as I used to to research and post how to's.  Heavy django and magento going on lately, I'll try to post about those. There are two RSS links at the top, RSS has everything on…

Powering Chrome to Phone with Android to Device Messaging

Android Cloud to Device Messaging (C2DM) was launched recently as part of Android 2.2. C2DM enables third-party developers to push lightweight data messages to the phone. C2DM created a nice opportunity for us to pull together different Google developer tools to create a simple but useful application to enable users to push links and other information from their desktop / laptop to their phone. The result was Chrome to Phone - a 20-percent time project at Google. Chrome to Phone comprises a Chrome Extension…

Why VPS?

Lately the four main web hosting options are shared, VPS, dedicated, or a cloud based solution.  I'll follow up on this article at a later date with my experience with Amazon's cloud solution.  We are rolling out a magento install into the cloud in a few weeks and I'll be commenting on how that goes.  To start off, what is VPS web hosting? A Virtual Private Server (VPS) is a hosting environment that combines the benefits of both shared hosting and dedicated hosting. It does this by creating a virtual server…

Digg 4v and Hulu Plus invites to give away

If anyone wants invites to the new Digg site, or a Hulu Plus invite that can be activated right now, Post in the comments and I'll divvy them out

Gmail to real phone calling

We're playing with this at the office, pretty slick.  Seems like google just really wants to be skype though "Gmail voice and video chat makes it easy to stay in touch with friends and family using your computer’s microphone and speakers. But until now, this required both people to be at their computers, signed into Gmail at the same time. Given that most of us don’t spend all day in front of our computers, we thought, “wouldn’t it be nice if you could call people directly on their phones?” Starting today…

How fuc**d is your database?

Are you using PostgreSQL, MySQL, MSSQL, Oracle, SQLite, MS Access, or NoSQL?

Google Reader adds to trends view

Google Reader has added some more stats up at the top.  Number of subscriptions, 30 days summary, when you started using Google reader, and total number of articles read From your 233 subscriptions, over the last 30 days you read 1,227 items, clicked 6 items, starred 0 items, shared 62 items, and emailed 28 items. Since September 12, 2006 you have read a total of 72,380 items.

Using widgets outside of the CMS in Magento

Magento ships with widget functionality that lets you build out data models and then reuse them on product and CMS pages. If you want to use these in a custom template however, you are out of luck.  This can be done by extending the Widget Collection class. Create the following directory structure: Copy into your new directory The Mage_Widget_Model_Mysql4_Widget_Instance_Collection comes with a store filter but thats about it.  To be more usefull we are going to add a type filter, a title filter, and a…

Google goes Instant

Google Instant is a new search enhancement that shows results as you type. We are pushing the limits of our technology and infrastructure to help you get better search results, faster. Our key technical insight was that people type slowly, but read quickly, typically taking 300 milliseconds between keystrokes, but only 30 milliseconds (a tenth of the time!) to glance at another part of the page. This means that you can scan a results page while you type. The most obvious change is that you get to the right…

Some reading from django-nyc

Went to the django-nyc meetup last night, it was in Manhattan and much easier to get to then when it's at huge in bk.  Wrote down a few things to read up on: Celery - Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. Django ideas - Voting on things with limited numbers of votes to spread around, ala UserVoice Google tech meetup Google prediction api Nyc js Ben Firshman class based views Django con blip… url shortener goes public

Google's URL shortener service is now public, complete with QR code generation Check it out: It will be interesting to see how this stands up to

Magento: Want CKEditor to appear on Category edit pages in Magento?

It is pretty common to replace the TinyMCE editor in the Magento Admin with the CKEditor using this extension However, the way magento ajaxes the form fields into view on the category pages breaks this functionality. This snippet should help anyone trying to get it to work in in add this at the bottom but inside the script tag

Want to trace the call stack in Magento?

Update: This code is also available on Github as a Mageno module This has helped me immensely in situations like "Where is this getting called from??!?" Create a helper like so: That can be called from anywhere: ``PHP Mage::helper('stack/callstack')->toFirePhp(); Mage::helper('stack/callstack')->toLog(); .../app/code/community/Timbroder/Stack/Helper/Callstack.php line 16 calls get_callstack() .../app/design/frontend/mongoose/default/template/catalog/cms/bikes_bmx.phtml line 12 calls toLog() .../app/design…

Getting it onto the Kindle

Been loving my Kindle 3 since I upgraded from my sony reader. There are so many options for getting various reading materials onto it. Here are a few of the ones I like the best: Want to get some RSS feeds onto the Kindle? (12 feeds for free) KindleFeeder is the way to go. It also has a bookmarklet for capturing and sending whole pages from your browser.I use this to send articles in Google Reader that I want to read later to my Kindle. I use my starred items to do this. Starred items have their own RSS…

Firefox 4 landing

It will be updating on your current installs tomorrow. To download now: Windows, Mac, and Linux

New Digg reverse paywall coming

Interesting: _Welcome to the future of killing time on the internet, and getting paid for it: Digg is implementing a reverse pay wall! We believe this will greatly enhance the Digg experience. Early reaction from test users has been great. Can Duruk, developer at Digg, sums it up well:_ "I thought Rebecca Black's 'Friday' video was great now that I got paid to watch it!" Now, I used to be on Digg for at least an hour a day. then v4 came... and it kind of sucks now…

Moving Gmail Gadgets to the Right Side

I started using Remember the Milk recently but didn't want the gmail gadget to be so far down on the left hand side of my screen.  There is no built in way to move gadgets to the right hand side with the exception of chat (labels used to do this but was removed in favor of drag in drop back in late 2009). If you don't have anything in the right hand column, enable Right-Side Chat from Gmail Labs.  We are going to add in some custom css to gmail so install either [Stylist ](https://…

Extending a Magento Controller

We're ajaxing part of the Magento shopping cart so we need to modify/extend some of the cart controller functionality.  Sometimes when modifying controller's you have to worry about updating the routes. For this, we don't need to, we still want all the urls to be used the same way. app/code/local/Ai/Checkout/etc/config.xml: app/code/local/Ai/Checkout/controllers/CartController.php:

Skynet Becomes Self Aware Tonight

Terminator: The Sarah Connor Chronicles [![Edit Terminator: The Sarah Connor Chronicles section](]( April 21, 2011. Judgment Day. Kyle Reese and Derek Reese witness the launch of U.S. missiles while playing ball in their yard.[1] As a result of temporal interference by Sarah Connor, her son John, Miles Dyson, and the T-800[2] destroyingCyberdyne headquarters…

Jira Tabs: Open all those Jira's at once!

Update: Code lives on GitHub Ever want to open all the Jira’s on the screen in new tabs? Jess does, I do, and you should too! For firefox and chrome we now have the JiraTabs bookmark button. Go to this page and drag the link up to your bookmarks bar. Then, whenever you are on a filter or search view of Jira's, click the button and all the jira's on your screen will open up in new tabs Demo:

Creating a stateless request in Magento

Have you ever wanted to create a stateless request in Magento? Something that doesn't touch any of Magento's sessions?  We were having issues with some of the ajax calls on our cart and checkout pages mucking with the user's cart and had get stateless on these calls.  The issue we were having was our checkout page was loading, then a javascript include was going out and bringing code from a 3rd party relevance engine into our dom, which was in turn calling back an ajax request to our servers.  This issue…

What do you listen to? (podcast edition)

I tend to listen to a decent number of podcasts. Usually while doing the dishes, running, or something or other in the park.  Some are book/comic related and help me keep up to date with what's coming out and how some books were that I didn't have time to read.  Others are tech and help me get other opinions on the new libraries or trends.  I've found a number of fun libraries /how-tos from listening. Check them out below, what do you listen to? Tech Sitepoint - Web Dev news, tutorials, interviews http…

Sync side-loaded content between your Kindle and other devices

I read a lot of books on my kindle that I got from other sources, mostly Manning and O'Rielly, but these won't sync between my phone and my kindle.  Only books purchased from Amazon will sync between devices. [Again]( kindle.html), Calibre to the rescue. For this to work, the book must already exist on the kindle and be sold through Amazon.  The example book I'm going to use is Version Control with Git. Add the book to your Calibre library Update any needed…

Developing with multiple versions of Django on windows

At work, we have sites that use various versions of Django, so there is a need to switch packages.  On my mac I use virtualenv to handle this, but I've never quite gotten it to play nice with windows, and just switching Django versions has sufficed so far. If you can set up virtualenv, that's a much better solution Download junction (think symbolic links for windows). Put the executable somewhere in your path. I put it in my Python scripts folder Plan out your directory structure: Make sure you don't have…

Making virtualenv on windows with powershell a little cleaner

While I code on a mac at home, I can't live without my giant dual screens and solid state drive at work so I'm on a windows 7 box.  Most of the time it's fine, does everything I need, and I'm happy.  I became full of rage for the first time last week trying to properly get virtualenv to play nice with powershell.  (If you code on windows and are in the terminal a lot, switch to powershell, its great and comes with windows 7. There is a download for Windows XP) I'm not going to recap how to set up virtualenv…

Important Magento Security Update – Zend Platform Vulnerability

While doing routine sanity checks, on of our QA Engineers, Sammy Shaar, was alerted about an important Magento security update. The vulnerability potentially allows an attacker to read any file on the web server where the Zend XMLRPC functionality is enabled. This might include password files, configuration files, and possibly even databases if they are stored on the same machine as the Magento web server. To see if you site has been affected, please see this page. Luckily, Magento has released patches for…

Refreshing all the css on a page using jQuery

I have a client project where we let them customize some css attributes in the admin, show them the updates in a small preview area, then save the changes back to the server. The custom css attributes are in a small css file that is generated on pageload and then cached to the server. All of the admin functionality is done through ajax, so I wanted a good way to update the UI of the site without having to do a full pageload. The below function was a great help.

iOS Game Engines

After playing Rovio's new Amazing Alex game for a while, and seeing this article on BGR this morning, it made me remember some old success stories that I had read about, and I got to thinking about what it would take to develop a game for iOS. More just to see what options were out there than anything else; I know nothing about game programming. Side note: Amazing Alex is great. If you have ever played the incredible machine, you'll feel right at home. One success story I remember is Ethan Nicholas and…

Improve your Magento workflow: Use git or mercurial

Most of our new projects at work are on mercurial and I've moved most of my personal projects over to git.  We do, unfortunately, still have one Magento install that lives in our old subversion repository.  If you've ever tried to work with a project the size of Magento in SVN with branching, you know the kind of pain this can cause. My machine at work is no slouch. An i7, 8 gigs of ram, 256 megs graphics card, and an SSD. Perfect for any number of high performance or online games, compiling, or video…

Adding Done and Cancel buttons to an iOS number pad

There are some cases when you may want to have a "Done" or "Cancel" button on an iOs number pad when editing a text field. This doesn't come by default, but is easy to add. See the example snippets below, or check out the code on github. Sample Usage: DoneCancelNumberPadToolbar.h DoneCancelNumberPadToolbar.m Special thanks to [akozl ik]( el_buttons_to_an_ios_number/c5v4rpt) for the help with delegates.

Getting Started with Solr and Django

Solr is a very powerful search tool and it is pretty easy to get the basics, such as full text search, facets, and related assets up and running pretty quickly. We will be using haystack to do the communication between Django and Solr. All code for this can be viewed on github. Install Assuming you already have Django up and running, the first thing we need to do is install Solr. Next install pysolr and haystack. (At the time of this writing the git checkout of haystack works better with the Solr 4.0 beta…

Compiling Textmate

TextMate 2 recently went open source on github and a coworker friend of mine was asking if I had compiled it yet. Here's the quick and easy on how to compile it. Prerequisites Either homebrew or macports (I'll be using homebrew for this post) Xcode 4.4+ (make sure to open at least once and accept licence agreement) Now install the needed apps with brew: [shell] brew install ragel boost multimarkdown hg ninja proctools [/shell] ninja — build system similar to  ragel — state machine compiler boost — portable…

Get 18+ Gigs on a Free Dropbox account for $10-$20

Dropbox recently raised the cap on it's free tier to 18 gigs. But, you only get 2 gigs out of the gate. The rest is easy to get, but takes a little leg work. [![]( content/uploads/2012/08/dropbox01.png)]( content/uploads/2012/08/dropbox01.png) First, log into Dropbox and click on "Get free space!" at the top right. Then, do all the Facebook/twitter/social offers to get free space. Really bumping up your space involves Google Adwords.  You can max out your…

The top 10 best Wordpress plugins to get up and running with everything you need.

These are the top 10 best wordpress plugins I use to quickly get a wordpress blog up and running with everything I need.  I used these last week to get a new site going in about 2 hours.  Leave some time for analytics to catch up and you are all set. Google Analyticator harnesses the power of Google Analytics for your blog. See where traffic is coming from, where its going, as well as basic hit tracking. The plugin also comes with an easily customizable widget that can be used to display specific…

iOS: Multiple Lines of Text in a UITableViewCell

Have you ever wanted to display multiple lines of text in your Table Cell? It's easy to do in your UITableViewController. First, let's define the type of font we're going to use. We'll need this in 2 places: Next, calculate the height of the cell by using the height of a Label: Finally, we'll set some attributes on the cell itself to change the height and tell the text to wrap:

Generating an InlineModelAdmin Form on the fly in Django

I'm adding drag/drop uploading to the django admin for one of our open source projects called Stager. A blog post about that will follow, it's not screen-shot ready yet.  While doing this I knew we needed a pretty seamless transition after the upload finished, and that we would have to refresh the inline.  I didn't want a full page refresh, so let's ajax it in. For these examples just assume that we have a parent CompAdmin which has an model of Comp and an inline called CompSlideInline.  We store the…

Getting Started with Varnish Edge Side Includes and Wordpress

There are a lot of cases on blogs where once you write the post, the cache for that page doesn't really have to be updated all that often.  Comments can be powered by Disqus so you don't need to bust the cache every time someone comments. If you make a change to a post, it's page and any pages that display it (home, category, etc) should be updated automatically anyway; wp- varnish is the best plugin for that btw. Now, the sidebar. That's where it can get tricky.  On a lot of the content sites I work on, we…

How to Remove or Change the way Wordpress Links to Images in Posts

By default, WordPress will link directly to an image in the category or post view. In a project I was working on today I wanted to change that. On the category view I wanted the image just to link to the post, and in the post, I didn’t want a link at all. Useful trick I found below:

Adding a Delete Line hotkey in Xcode

When I switched from eclipse to sublime text 2, the first hotkey I moved over was cmd+d to delete a line. I use it pretty heavily.  After using Xcode for a few months it was driving me crazy that it didn't have delete line as an option under hotkeys. Thanks to stackoverflow for the solve. To add a new custom key binding, we have to edit the Key Binding plist file: (close Xcode) Add this text just ABOVE the close of the at the bottom of this file: Note that: This is inside the existing so there is a after…

Why Git?

A few months ago I gave a presentation at work about why we moved from SVN to distributed source and git. Totally forgot to put it in a post here. I also had a lot of fun playing with [reveal.js]( presentation/) for the slides and setting up github pages. I cover the following: What is traditional source control? How does distributed differ? Why Git? Git at Ai Check out the slides here

Automate Adding to Trello on iOS with Launch Center Pro and Pythonista

I love using Trello to organize my life and work. While I kind of like it's iOS app, sometimes navigating to a board to add a card can be a little time consuming.  I want this process to be faster. I also use Launch Center Pro to get some quick actions that I miss from Android. Mostly around quick communication, adding events, and now, adding to Trello.  LCP uses x-callback-urls for inter-app communication, but Trello doesn't have any that I could see. Inspired by Federico Viticci's article on automating…

Fixing YouTube embeds in Wordpress

In some wordpress themes, youtube embeds just show up as a black screen. As discussed here, the solution is adding a transparency setting to the iframe's src. However, the solution in that thread only works if the src is right next to the frameborder. Updated code below if you are running into this problem New thread in the wordpress forums can be found here. (The original was closed)

Gamasutra: David Framptons Blog - Postmortem: The Blockheads

The Blockheads is an extremely popular (and profitable) game. David Frampton does a great Post Mortem write up of what went right and wrong: The Blockheads is an exploration/mining/crafting massive world sandbox game released for iOS in January 2013 and only just launched for Android. To date it has had over 7 million downloads on iOS, and has a passionate and growing fan-base, rarely dipping below 100,000 daily active users since its launch 9 months ago. The Blockheads was entirely made by one guy - me… Why Care About 30,000 Notes?

Brent Simmons posts some interesting philosophy on sample data sizes. I'm definitely going to be using this thinking in my next app I’ve learned that I’m unlikely to over-estimate the amount of data people like to keep. via Why Care About 30,000 Notes?.

GarageBand for iOS 7 to Become Free with In-App Purchases as Apple Reveals Full Set of New iLife and iWork Icons - Mac Rumors

With all the discussion around pricing the past few weeks, it's very interesting that Apple is using a IAP model in one of it's apps GarageBand for iOS 7 to Become Free with In-App Purchases as Apple Reveals Full Set of New iLife and iWork Icons - Mac Rumors: Aside from the new icons, the updated page also reveals in a footnote that GarageBand will become a free basic download for all iOS 7 devices, joining the other five iLife and iWork apps that became free alongside the release of iOS 7. GarageBand will…

Why Android First is a Myth | steve cheney – technology, business & strategy

This article made me think back to when I switch to iOS to make apps. (I was a hardcore android proponent in general and at work).  I’m happy to have other validation with my choice [Why Android First is a Myth | steve cheney – technology, business & strategy]( In mobile, particularly in consumer markets, there has been an ongoing debate about when or if Android will become the first platform that sophisticated startups develop for. Often times, this…

Weather Notifications on Lifehacker!

OMG. I’m on lifehacker. [Weather Notifications Gives You a Forecast without Opening the App]( "iPhone: One of the problems with weather apps on the iPhone is that you have to actually open them to get the information you want. Weather Notifications is an app that'll send customized notifications to your lock screen for only the information you care about. At a glance, Weather Notifications isn't that different from the…

Motivation — Sam Soffes

This hit pretty home for me. I have motivation problems sometimes. Sometimes the TV just looks SO good. Motivation — Sam Soffes: "My friend has a great saying: I want to program wet and naked. — Ernie Miller I love this. He was talking about getting ideas in the shower and getting so excited that you get out and start programming before you can even dry off."

Google Bringing Chrome Apps to iOS and Android

Google today launched Chrome apps for iOS and Android, which will see Chrome-based apps encased in a native application shell that allows them to be distributed through the Apple App Store and Google Play. Currently, Chrome- packaged apps are written in JavaScript, HTML, and CSS, but are able to launch outside the browser, access APIs and work offline. I feel like this should just be called "yet another cross platform mobile solution." I'd like to say this will be crisp, feel native, actually work, or gain…

How I lost my $50,000 Twitter username

I had a rare Twitter username, @N. Yep, just one letter. I’ve been offered as much as $50,000 for it. People have tried to steal it. Password reset instructions are a regular sight in my e-mail inbox. As of today, I no longer control @N. I was extorted into giving it up. Another reason I am quite happy I recently moved all if my domains from godaddy to hover. (They even took my godaddy login and did it all for me). I'd like to cancel paypal but I just can't bring myself to do it

Hypercritical: The Road to Geekdom

Geekdom is not a club; it’s a destination, open to anyone who wants to put in the time and effort to travel there. And if someone lacks the opportunity to get there, we geeks should help in any way we can. Take a new friend to a meetup or convention. Donate your old games, movies, comics, and toys. Be welcoming. Sharing your enthusiasm is part of being a geek. Anyone trying to purposely erect border fences or demanding to see ID upon entry to the land of Geekdom is missing the point. They have no power over…

Interesting Lessons from Building a Pedometer - David Smith

It is a rare thing for a software developer to know that what I’m building is tangibly improving the health and lives of my customers. Such an awesome feeling. I can only hope my next app helps improve someone. This one won't help their health, but hopefully other parts of their life.

Quote of the Day: Marco Arment

“Emphasizing and rewarding length over quality results in worse writing and more reader abandonment.” – Marco Arment

Background fetch: An Unexpected Botnet

When enabled within your applications you are essentially building a massively distributed botnet. Each copy of your application will be periodically awoken and sent on a mission to seek and assimilate internet content with only the OS safeguards holding it back. As your app grows in popularity this can lead to some rather significant increases in activity. David Smith's article on the implications (and related cost) of background fetch gave me a few things to think about. I have a few parts of my new app…

House of Cards regex mute filter for Tweetbot

Some regular expressions if you don't want to see spoilers in your timeline Just the show name. tweetbot:///mute/keyword?regex=1&text=(%3Fi)%23%3Fhouse(%20%3Fof)%3F(%3F%3D%20%3Fcards) @housecards #houseofcards #housecards House of Cards House cards house cards Includes some cast member names and character names: tweetbot:///mute/keyword?regex=1&text=(%3Fi)%23%3Fhouse(%20%3Fof)%3F(%3F%3D%20%3Fcards)%7C(%3Fi)%23%3Fkevin(%3F%3D%20%3Fspacey)%7C(%3Fi)%23%3FFrancis(%3F%3D%20%3FUnderwood)%7C(%3Fi)%23%3FRobin(%3F…

Expansion Followed By Consolidation

David Smith: I wouldn’t be surprised, however, if the pressures of remaining a small, independent fish in this Big Fish Pond became untenable or undesirable at some point. :-/ That's a shame. Indie is something that's been on my mind to see of it was possible. We will see what happens over the next year for me as well

Quote of the week: Brent Simmons on terrible things

I have to design as if terrible things could happen — because by doing so I can better prevent terrible things from happening. via Vesper Sync Diary #8 - The Problem of Unique IDs.

AVSpeechSynthesizer's queue doesn't work

Sort of. It acts as a queue, but subsequent items have problems. Taken from the documentation of  Calling this method adds the utterance to a **queue; utterances are spoken in the order in which they are added to the queue**. If the synthesizer is not currently speaking, the utterance is spoken immediately. This is true. You can queue up as many AVSpeechUtterance objects as you want, and they will be spoken, in order.  The problem is if you try to act on the Synthesizer after the first Utterance has been…

How I use my Launch Center Pro homescreen

Recently there have been a few Launch Center Pro articles that have recaptured my attention. I had tried a few months ago to simplify my home screen, no luck. This time, it's sticking. A few people have asked me on twitter what flows I use in LCP so I'm throwing this post together. Please note my screens are very much a work in progress. There are some Actions in multiple groups, as well as on the home screen. I also just noticed I'm missing a browser. A lot of these are app launches instead of true…

Automating Layouts Bring Flipboard’s Magazine Style To Web And Windows

We automate the whole process of layout design and editing by slotting your content into custom-designed page layouts — like fitting puzzle pieces together. We start with a set of page layouts created by human designers. Then our layout engine figures out how to best fit your content into these layouts, considering things like page density, pacing, rhythm, image crop and scale. In many ways, that is the key to Flipboard’s signature look and feel: at its heart are the work of real designers. I've worked on…


On the plane last night I realize that I have quite a number of draft posts sitting in Drafts. These came in from Instapaper on the train. I probably read an unhealthy amount of things in Instapaper.  I’m going to try to be more diligent about posting these in real time. For now I’ve scheduled these out over the next few days

ReadKit article sorting: group by feed in Feed Wrangler smart streams

I upgraded to Version 2.4 of ReadKit the other day and found my new feeds—the ones in the RSS News smart folder—in reverse chronological order. I could’ve sworn I had them set up the other way in 2.3, so I hunted for a way to switch the ordering around. It’s not in the or under the menu. You have to right-click on the RSS News item in the left panel and choose from the popup menu. That brings up a sheet where you can set the ordering. Thank god. This was driving me nuts.

Quote of the day by David of 37signals

“But what’s the harm in over-testing, Phil, don’t you want your code to be safe? If we catch just one bug from entering production, isn’t it worth it?”. Fuck no it ain’t, and don’t call me Phil. This line of argument is how we got the TSA, and how they squandered billions fondling balls and confiscating nail clippers.

Tips and Resources for beginning iOS Development

While you are planning and building out your application, think about the user experience and interface a lot. Tweak, try things out, and above all, design something that avoids complexity. If you look at all of the top selling apps, they are the ones that have removed complexity, and distilled down the application idea into its most simplistic form possible while still maintaining a good range of functionality. There's a fine line begin being simple and being useless, and it's up to you to find that line… Azure Takes Over

There’s still a lot of the old Microsoft there, the Windows, Office, Exchange, and Sharepoint (WOES) company. It’s most of the company by far, surely. (I just made up the acronym WOES. It fits.) Brent Simmons talked a little about the new Microsoft CEO coming from the azure team and what it could mean. I love this acronym.

Begging For App Ratings

John Gruber recently suggested that users who are annoyed by “Please Rate This App” panes should leave one-star reviews. We have a “contact us” menu item under our Help menu, but if users decide to post reviews instead, we cannot provide any tech support. So we also can’t tell the other four people that their crashers should be fixed now, and they should update to the version on our website (or wait for the App Store approval). Apple’s customers are Apple’s customers, except we’re supposed to support them… Paul’s Talk on Core Data

it’s more that I’m eternally on the fence about Core Data. Brent Simmons goes into a few examples on the mind games you have to play when thinking about Core Data scenarios. We are all pretty wired for relational thinking. More recently we've learned to think more TKTK. Core Data and it's object graph is yet another way of thinking I'm learning Core Data as part of my next app and am enjoying it so far. Eventually I'll be tackling sync. I need to see for myself how bad Coe Data sync is. I've had some…

Brian on Data Migration

Pretty much any migration can be done without stopping the world. You migrate in steps, with double writes and double reads at some points. Here’s the general outline

NSA Said to Exploit Heartbleed Bug for Years

If an organized hacker ring sabotaged security standards and major tech infrastructure for years, compromising the security of hundreds of millions of people and many governments including our own (and potentially causing billions of dollars in damages when these exploits were found by others), and exploited any flaws they found or created to spy on millions of people in the world including our own citizens, what should they be charged with? Mass criminal sabotage, cybercrime, cyberwarfare, and computer…


Were the National Security Agency an agency charged with the security of our nation, it would have reported the Heartbleed bug immediately instead of exploiting it.

Build 2014

Justin goes over his experience at the Microsoft Build conference this year: With things like C#, the Roslyn compiler/frameworks, and the modern WinRT runtime, it feels like Microsoft is way ahead of Apple in the future looking regard. As a developer, I’m jealous of a lot of the technologies coming out of Microsoft. As a user? They’ve got a long ways to go before I consider using Windows over a Mac. That said, this is the new Microsoft. They don’t need me to use Windows or Windows Phone as long as I use…

Ember, iCloud & App Reviews by @dancounsell — Realmac Blog

The worst thing is we can't reply to those users. It makes me sad to see users that are having issues and know that we can help, but yet have no way of contacting them. This is one thing that needs to change on the App Store. I agree. I sometimes have luck with stalking people down on twitter. But, it breaks my heart when I could easily help someone if they have an issue with Weather Notifications

How to be an open source gardener

A good read on triaging issues using the Rails project as an example What are Issues? The very first thing your project needs to do is to figure out what Issues are supposed to be for. Each project is different. For example, in Rails, we keep Issues strictly for bugs only. Help questions go to Stack Overflow, and new feature discussion and requests go to the rails-core mailing list. For Rust, we have issues for feature requests, meta-issues… everything. For some repositories, closing all of the issues is…

Facebook Launches AppLinks To Make Deep Linking Between Apps Easier

So with this new scheme, you just pass the app a web URL and if a compatible mobile app is installed, it will automatically load that app instead of the web version. AppLinks will learn which links are handled by which apps. “We crawl the web for you. You don’t have to do it – but you can, you just don’t have to,” Sukhar said. Developers simply mark up their web pages with a few new meta properties. Facebook also offers a Parse module and an API to support these features. Nice. Not the better inter-app…

Poking at an AngularJS model from within an iFrame

Full Disclosure: This is dirty and hacky. You may feel unclean after reading. Grab soap. For a few infrastructure reasons I won’t get into, we have an iFrame on a page that Angular renders.  It pulls in a page that exists within our code base and on the same site. Thankfully, no Cross Domain issues to worry about.  The page within the iFrame needs some configuration from the parent page. When a user is done in the iframe and hits a button inside of it, the parent page needs some information from it.  This…

Up and Running with MindSea: Doing it the Right Way

I once worked with a company that told me if just two lines of code are repeated, then there’s probably a better abstraction that I should be using instead. A bit extreme, I know, but I took that to heart. I haven’t looked back and that advice has served me well. Ash Furrow talks about the benefits of abstraction and how it can aid in ramp up. A good, short read

The Old Reader on Good Ol’ RSS

It’s always odd to hear people say RSS is dead. The fact is, RSS is easily the most successful stealth, insurgent technology on the web. It is pervasive and is the engine for much of the Internet. Long live RSS!

Reordering a NSFetchedResultsController

I’m working with a NSFetchedResultsController backed UITableView.  Up until now I’ve just been ordering the items by the time they were added. I’m moving on to Delete and Edit.  Editing the content itself isn’t needed, once an item is added to this list, it can’t be changed. Deleting is straightforward in With reordering, I have a conundrum.  I have an approach for the actual re-order that will have the View and the data playing nice. But, now I need to persist the order.  I don’t have a property in Core…

Opening SourceTree from the Command line

SourceTree is my weapon of choice for a git GUI. I do most of my git work from the command line, but it’s great to look at diffs and branch trees. I was finding it tedious to open SourceTree with Alfred, then opening the correct project. I use this alias to open it right from my working directory: Then, just from where I am

Launch Center Pro to Trello via IFTTT

I previously wrote about automating adding to Trello from my phone using Launch Center Pro.  That method involved some scripting and Pythonista. It was fun to figure out, but cumbersome to update. Now that LCP has IFTTT integration, this process can be simplified. You can chain an event from LCP through IFTTT to email a card to Trello. Note: This will only work for 1 list per board. I haven’t figured out if there is a way to email to multiple lists on the same board. Set up the Launch Center Pro channel on…

Don't Be Scared Of Functional Programming

This [article]( functional-programming/) made a LOT of things click for me. I hadn't quite grasped the concepts of functional programming. (I hadn't really tried to). It's a little long. But, worth it. Functional programming can be daunting, but remember that it isn’t only for PhDs, data scientists and architecture astronauts. For most of us, the real benefit of adopting a functional style is that our programs can be broken down into smaller…


SwiftInFlux, a community-based project for cataloguing the changes that Apple is probably going to make to Swift before 1.0 ships I'm really happy someone is doing this. Even between seeds 1 and 2 there was a number of changes. The differences were buried in the Xcode release notes. I think they deserve their own diffs. If you agree, please file a radar

Whatever goes up, that’s what we do

This is a quite from a Facebook employee: We’re blind. It doesn’t matter what any individual person thinks about something new. Everything must be tested. It’s feature echolocation: we throw out an idea, and when the data comes back we look at the numbers. Whatever goes up, that’s what we do. We are slaves to the numbers. We don’t operate around innovation. We only optimize. We do what goes up. There is a flip side to this too, right? Facebook HAS that kind of data. What I wouldn't DO for that kind of data…

Format JSON and save to gist with Alfred

At work, we have an Angular app that deals with a lot of custom JSON. With a distributed dev team, we pass a LOT of JSON around.  Copying from Chrome’s net tab, formatting, adding to a Github gist for easy transport is a PITA when you are doing it 20 times a day. I have 2 Alfred workflows to help with this. My Use: Copy unformatted JSON to clipboard Alfred “JsonLint”. Formatted JSON is now in my clipboard Alfred “gist”. URL to raw gist is now in my clipboard One of these days I’ll chain these together To…

On Working From Home and Running a Business

Shawn Blanc talks about how he organizes himself and his company for working from home. One day... I cannot express enough just how absolutely critical it has been to have a budget — both for our company and for our personal household expenses. Did you know that most of America’s millionaires are people who earn low- six-figure incomes? They have a high net worth (between $1 – $10 million) because they live simply and budget their money. When we were saving for the down pay payment on our condo we were…

Apple's Swift Blog

This new blog will bring you a behind-the-scenes look into the design of the Swift language by the engineers who created it, in addition to the latest news and hints to turn you into a productive Swift programmer. I LOVE the new, open-er Apple. From the barriers between iOS and OSX coming down, some Apple devs being more open on twitter and in the dev forums, and now this blog. It’s an amazing time to be using Apple dev tools

Parsing sentences from a String in Swift

I’ve been looking at how to parse sentences from text recently. While I’m still looking for a more Machine Learning approach, I found NSStringEnumerationBySentences which can get me there faster (for now).  I need to get all of the sentences from a given String.  This could easily be an Objective-C category method.  But, I’m trying to learn as much Swift as I can. I haven’t played with extensions yet. Here we go. is what I’ll need, but I need the extension first: Fiddling with Swift’s closure syntax for a…

Playgrounds in Swift are Awesome

Man alive, I missed this from Python.  More live editing, less edit+build+run. 2014-07-12_1822

Functions or Read-Only Properties in Swift?

I’m not sure which is better.  If it's returning something that is directly tied to the class: a slice/dice of properties is already has, I'm leaning towards properties. Because of the many examples I feel like read-only properties are the way to do.  I’m not the only person [wondering]( property-vs-function-in-swift), so that’s validating. Property: Function:

Looping through subviews and downcasting in Swift

I've been playing around with Auto-Layout. This snippet was helpful to see what constraints were set on what views in my View Hierarchy. Getting the downcast right on the subviews Array took a few tries:

Coding Under Par

when it’s midnight and I’m on a perceived roll with some coding challenge, there doesn’t appear to be any stopping me. I “have all night,” or at least that’s what my monkey brain says. Of course, the smarter half of me knows I should be getting calling it a day and getting some much-needed rest. I hear this. As I get older, and keep to a rigid sleep schedule, I tend to find myself being useless after 9pm. I do miss the old days io burning through until 2am. Now that flux exists to take care of the circadian…

Why I turned off email notifications

Just about a week ago I had an epiphany: Email is a constant. It will never end. More often than not nothing is actionable I made a quick change — turn off all notifications for email. None shall pass. NO EMAIL NOTIFICATIONS. I've been doing this for about a year now on my phone and it's amazing. I've been doing it for 3 years on my laptop. I don't know why I didn't do it on all my devices sooner. (I don't get outlook or gmail notifications). It lowers stress and helps me focus on actual tasks instead of…

Creating a conforming delegate (UITableViewDelegate) in Swift

This tripped me up for a bit so I hope this helps someone. I started out with this class, thinking I could just continue on my merry way. This errors in Xcode with: "class does not conform to NSObjectProtocol” Hmm ok, but much there yet, what did I miss? This should definitely be a class; not a protocol (I have methods to implement), not a @class_protocol (wrong use, based on the docs), hmm. This obviously behaves different than in objective-c. What is inherent in the obj-c version of this that would…

Using PonyDebugger on a device

PonyDebugger is awesome. I use it mostly for Core Data debugging. Most of the time, I find it easier then firing up SQLite Professional. When using the simulator, hitting localhost:9000 is fine. On a device, not so much; you need to hit your machine. xip.ioto the rescue! What it is: is a magic domain name that provides wildcard DNS for any IP address. We use this heavily at work if the machine we’re on isn’t hooked up to a subdomain or [Vagrant Share]( preview…

Dismiss a Modal UIViewController created in Interface Builder

There are a number of posts on this subject on Stack. They involve re-instantiating (this seems slower to me) or yanking the view from a UIButton (this feels dirty). I’d rather just update the UIBarButtonItem that I already have: 2014-07-27_1826 All I needed to do, was attach the appropriate target and action to the UIBarButtonItem:

How to Restore a Time Machine Backup From a Synology NAS

My Sunday morning started off like this: “There’s an error with the EFI system partition’s file system.” Well today’s off to a great start // @siracusa — Tim Broder (@timothybroder) August 3, 2014 My laptop wouldn’t finish booting. All I got was a backlit, black, screen.  I went through numerous combinations of booting with option, cmd+R, cmd+shift+R, un-mounting, ejecting. In all methods, trying in vain to get the Disk Utility to verify and repair the hard drive. I tried from Recovery Mode and a fresh OSX…

UITableViewCell Action Swiping in iOS8 and Swift in iOS7 brought swiping cells to the inbox. The iOS8 beta added a 3rd button to it.  Apple has also introduced an API to assist with creating this effect: UITableViewRowAction. Prior to this, I used SWTableViewCell. Below is how to get the basic functionality working. Please note that you have to implement the 2nd function whether it has a body or not I can’t get the (-) delete indicator to appear when I put the table into edit mode though. Setting UITableViewCell.shouldIndentWhileEditing = NO is…

“make” time

We’re often told you need to “make” time, a phrase that rankles me. Drives me nuts as well. Our days are already packed. "Making time" isn't making it; it's prioritizing time. If you make time for something, you are acknowledging that the thing you are making time for has a priority at the expense of something else. That’s why it’s important to know how long something takes, or to break it down into micro projects. By doing so, you may discover that you can reclaim time “might” by being more efficient, or…

Podcast Reruns

Last year, I had been plowing through old episodes of a few Tech podcasts. I was able to get through all of Developing Perspective (they are short) and was working on Build and Analyze.  I’m halfway-ish through B&A, but my listening has died off in leu of new episodes of other shows. I’ve missed listening to it.  The reason it dropped of is playlist related. Everything I listen to is in one playlist that I prune from time to time. I didn’t add B&A to it because I didn’t want to have to download each episode…

On Morning Rituals

Rituals are important. I’m a creature of habit. But, I had never characterized some of the things I do as rituals.  I read some posts by Casey Liss and David Smith that were not unlike some of the things I do.  I like repetition. I like not having to think about a decision or even make one to begin with.  Similar things for breakfast each day. If I cook a big meal I’ll have the leftovers for subsequent meals until they are gone. Having these rituals help me get my day going. They let me know that all is…

A Tale of Two iPhones

I wrote up my thoughts on picking a new phone over on the Tekside Network. It’s almost upgrade time. Normally this is an easy decision: get the new phone. Apple threw us a curve ball this year by launching two entirely new phones. Now every Apple fan has a choice to make and it's a much, much harder choice than the 5s vs. the underpowered 5c last year.  This year’s choice boils down to screen size. Yes, granted, the 6 Plus has better battery life and a better camera. Those two things will influence the…

My Packing List

I’ve been traveling for work a bit this year.  Sometimes with little notice and it’s helped me to have a go to packing list.  I also use it for personal trips as well. I just need less things.  I was originally managing this in clear. Lately I’ve been managing it in Listacular. I like that this app syncs text file todo lists over dropbox. Easy to update on my Mac. Aftershave Air bed  Ball Bathing suit  Belt Big headphones Boots  Charge ipad  Charge kindle  Charge laptop  Coffee  Deodorant  Dress shirts…

A Tale of Two iPhones: Part 2

My iPhone decision, posted on The Tekside Network Size matters, and it’s all in how you use it. In my last post, I went through my thought process of picking a new phone. Since then, I’ve had a lot more hands on time with the 6 Plus, and came to a decision. Quick recap: Big screens are pretty, big screens are harder to fit in pockets, I read a lot, I should get a big one as a developer device. A coworker of mine has the 6 Plus and was gracious enough to let me use his for some lengths of time. We were both…

Apple Pay and Magento

The Business of Apple Pay (Alec Simonson) On the outset, Apple Pay is very cool and could very well be the wave of the future. A lot of this hinges on “what’s under the hood” in terms of Apple’s contract with the leading credit card companies who helped with the development. If everything is open, and companies like Samsung can let their customers pay with NFC technology as well, I could see this as something that will be successful, adopted, and an example of Apple leading the way. However, if Apple goes…

Contributing to Magento2

The Magento2 dev team is now using Github in the traditional sense: They have an internal repo that gets pushed out to github at the end of their sprint. All commits stay intact. This is WAY better than the previous method of pushing a giant commit with everything each sprint. Ben has a good walkthrough on submitting a pull request to the repo. He links to a few resources to get up and running on the new platform.  Alan Kent goes into more detail on the “why” of the change. It’s not just code that has been…

Equality in the Apple Blogging Scene

Long time Mac developer, Daniel Jalkut posited a question last night on Twitter. I find it far easier to follow brilliant women on Twitter than in blogs. Do women in the Apple scene not blog as much, or am I missing them? — Daniel Jalkut (@danielpunkass) [January 10, 2015]( This question came out of some of the responses to Marco Arment’s “hot” post last week about the state of Apple’s software ecosystem. Daniel got a good number of replies. I’m…

Mongular, a Content Delivery System

Mongular is something to keep a close eye on. We’ve had a number of projects at work where we might want something… other than a CMS. Where content is king and that content is decoupled from the system using or displaying it.  Other solutions that we’re excited about are Prismic and Contentful. Systems like this would let us do whatever we wanted with the site. Not being tied to the confines of a particular CMS’ way of doing things could be freeing. These systems offer much more powerful ways to relate…

PHP7 Vagrant Box

I’m keeping a close eye (or as much as I can anyway) on PHP7 and what it means for the future of the language. Installing in your local dev machine is risky, especially if you have ongoing work. As usual, Vagrant comes to the rescue! Rasmus Lerdorf has put together a Vagrant box to ease in the setup and isolate your testing. If you use Atlas, check out the box here. Otherwise, the readme is available on Github

Testing UIViewController Transitions with Quick and Swift

The examples below are using the Quick test framework, but the principals we're going to talk about can be used in any setup. We have some complicated logic further down our user registration flow. I want to make sure that the right UIViewControllers are appearing when they are supposed to. I've been reading a few different approaches on how to handle this. Below is where I've ended up, and I'm pretty happy with it. For simplicity's sake, I'm going to show how to test if the user has tapped "Login" or…

Jira Filter Subscriptions

I'm working in a Jira that I don't have admin access to. It's been a while since that's happened! I wanted a way to get notified if anyone in the system opens a new ticket, so I could decide if I wanted to watch it or not. Jira makes this fairly straightforward with filters and subscriptions. First, create a filter that picks up any tickets created in the last hour. I named mine "Recently Created" Then, click details, and new subscription Setup the schedule to be every 30 mins, 24 hours a day, and to not…

How to Get Notified if someone stars, forks, or follows your Github

I've been using GitNotifier for a few weeks now. I get a weekly report emailed to me of who has starred or forked any of my repositories, as well as follow/unfollows. It's a nice little touch to put on top of Github's already great service

Trying to Mock a Self Booting Laravel Model Trait

Bootable Model traits are pretty nifty. I'm using them to register certain events for the models using my Trait. However, I've run into an issue trying to mock models that are using the trait. Specifically, when a Mockery version of the model is instantiated, it's boot code agrees that it should have a bootMyTrait method, but can't find it when it tries to call it. Sample Repository for the below, with commands to reproduce. As an example, here is a trait: And a model using it: Instantiating the model…

Sketch Git Plugin

A Git client built right into Sketch. Generate pretty diffs so that everybody knows what are the changes! Designers can use git too!

Setup and Teardown the Database Once Per Test Suite in PHPUnit

I'm working on a series of integration tests where I want to set up and reset the database for each run. This could easily be done in the setUp and tearDown methods, but doing the full db each time is slow. Yes, I could just do the tables I need, but I was curious, and now I don't have to worry about which tables are setup in my testing DB. In this example, I'm using Laravel's migrations and SQLite as the test DB. UPDATE 05/05/2016: As Sebastian points out below (thanks!) there is a much more appropriate…

Open source everything

Great 2 part series by @jesse_squires on the importance of documenting everything and the gains of working in open source. I picked up a few tricks, especially VVDocumenter-Xcode for docblock generation. But, more importantly is the ethos in which he approaches his work Swift Documentation Open Source Everything

Github File and Link Tricks

2 tricks I learned today that I'd like to share: reliably linking to a specific line and searching for files using fuzzy matching. Reliably link to a specific line Say you are on the master branch, and you want to reference a line in a file. This could either be for a conversation you are having at that moment, answering a question in a PR, or adding information to a ticket. At that point in time, your link will work great. But, what about when that file gets changed tomorrow? More lines get added higher up…

Opening iTerm2 Tabs at Specific Directories

I love iTerm2. I can customize the stock just about as much, but it's much easier in iTerm. I find myself always opening the same 3 or 4 tabs when I get into coding mode. Luckily iTerm2 has great scripting support The 4 tabs I always open for Kidfund are: Our iOS project Our Laravel project. Usually where I run artisan commands Our Laravel project; Tails most recent file in the log directory Our Laravel project; I jump around from here. Usually CD-ing to 1. the realm directory to pop it into…

Using iOS 10 devices with Xcode 7

Peter Steinberger started a GREAT gist on Using Xcode 7.3.1 and iOS 10 devices. Below is what worked for me to get a few extra test devices (my carry phone runs the 10 beta) working with Xcode 7. Can't upgrade to 8 just yet. Working with a contractor and don't want to move too many pieces. My Setup Xcode 7.3.1 and Beta 6 iOS 10 beta 6 (Beta 7 is out, after getting this to work, I don't think I'm upgrading just yet) Steps iPhone: Settings > General > Reset > Network Settings Reboot iPhone (after it wakes…

Using an Encrypted Realm in a background or notification processes?

Note: This post's primary purpose is to help me think through this problem. I have no prescribed solution at the end of it. The conversation will continue on Stack Overflow. I will update this post once I have a final approach. Realm has a great write up and sample code for encrypting your database. This documentation and sample work as intended, until you try to decrypt realm when: A user has a password on their phone The device is locked Your app is trying to do work with Realm when a remote notification…

Adding Smart Speed to any audio file with Audacity

The Overcast podcast app by Marco Arment has a killer feature called Smart Speed and it has ruined all audio listening for me outside of the app. Smart Speed dynamically shortens silences in talk shows; it saves you time, and makes them feel tighter and more produced. I wish I had it everywhere. Tekside is a podcast network I'm part of, and while some of our shows are heavily edited, many are not. While doing some audio work for something else, my wife noticed that Audacity (cross platform) has a crud…

Feb 23 was a security day

Busy day yesterday: Cloudflare leaked secrets Google cracked SHA-1 Dropbox opensourced Securitybot: Automated Security at Scale