Blog

  • Roku XDS Streaming Media Player Mini-Review

    Click to buy one!

    I’ve purchased four Roku devices so far: an XDS and XD for personal use, and several XDs as gifts. Given the relative affordability of Netflix and Hulu Plus services–as opposed to a cable or satellite television subscription–the XDS provides the missing link in the web-based television ecosystem, streaming solid commericial content across your existing broadband internet connection to your existing HDTV.

    Roku XDS (and similar XD) are impressively tiny, low power, inexpensive devices that ship with a simple yet functional remote. To make best use of a unit, you must have all the following:

    1. Broadband internet connection.
    2. HDTV w/HDMI. (Not required as both XD and XDS also provides RCA connectors, but the quality would be seriously old school.)
    3. Netflix and/or Hulu Premium subscription. (If you have neither, I’d recommend starting with a minimal Netflix plan.)

    I’ve tried the HTPC approach using PlayOn/Connect360 + XBox 360, AppleTV, PS3, laptop connection, Elgato EyeTV, MythTV, and gobs of other options, but Roku is currently my most frequently used set-top content solution. All the other streaming options are either constantly plagued by quirks (such as PlayOn’s fast-forward/rewind/resume bugs), or too vendor biased (such as the lack of streaming content sources on AppleTV and XBox 360).

    Roku Pros:
    • Inexpensive.
    • Just works.
    • Netflix, Hulu Plus (free accounts won’t work), Amazon VOD, Pandora, and lots of other channels. (Some are free, other not.)
    • Remote works well.
    • Fast-forward/Rewind, pause, resume etc. all work fine.
    Roku Cons:
    • Wireless goodness of the XDS is worthless if you’re using a wired ethernet connection.
    • Hulu Plus still has stupid ads. 🙁
    • Doesn’t connect to Media Center etc.
    • Very limited decoder options for media read off the USB disk.

    Roku’s biggest current drawback is the lack of real-world support for your own media: either files manually attached via USB drive, or even better, streamed your my home media server. Hopefully this will be added in the future with either a new channel option or firmware update. Regardless, purchase either an XDS or XD immediately if you’re currently plugging a laptop into a TV for Netflix/Hulu Plus support. Ditch the jankyness and go for a Roku.

    (If you’re going to buy one, please use this link to purchase the Roku XDS.)

  • Makerbot Thing-o-Matic 3D Printer Print Pictures & Product Review

    The Makerbot Thing-o-Matic, fully assembled and ready to print.

    [Update: Welcome back, Slashdot! 🙂  This site is in full lockdown mode, so comments may take a little while to appear, but please leave them anyway! You may also want to check out the previous assembly photos also featured on Slashdot.]

    Overview

    3D printing has attracted notable attention in recent years, capturing interests of both geeks and laymen due to the obvious potential of a machine that fabricates three-dimensional shapes at will. While clearly far from the visionary “replicator” technology of Star Trek: The Next Generation–which could recycle almost any object–the Thing-o-Matic (and the like) have already begun branching out from the 3mm ABS plastic spools used build the objects in the following pictures. (I’ve also included picture from a another project that requires custom mounting widgets for solar cells.)
    I’ve had my Makerbot Thing-o-Matic working for about a month, and I have to assume it only gets cooler from here. If you’re a hardcore DIY’er, or your technical dablings tend to involve small, intricate parts required of custom robotics, circuitry, metal/woodworking etc., read on, and seriously consider a 3D printer investment in the future.
    The Unboxening & Assembly
    Unboxing of the Thing-o-Matic kit. (See links for assembly pictures.)

    After a couple months of girlish waiting, my DIY Makerbot Thing-o-Matic kit arrived in December 2010. Pictures of the laborious assembly process went up several days after, and have been viewed by tens of thousands of people in the last few weeks alone. Makerboot does not ship a printed manual with the machinery kit, instead option for an online-only “Thing-o-Matic Assembly Instruction/Users Manual”: a living collection of wiki pages that is continually updated. A good thing, indeed! Take a look at the assembly pictures if you haven’t already gotten a feel for the level of assembly effort. (If you’re good with your hands, allocate about 16 hours.)

    Software Installation
    My 3D model of an identical pair of custom solar cell brackets, done in Google SketchUp.

    Once the machine is assembled, you’re ready to install the software, connect the machine via USB, and calibrate the system. Rough high-level steps are as follows:

    1. Install the Arduino driver, if not already installed. (Easy)
    2. Download and run ReplicatorG, and try making a software connection to the machine. (Easy. You’ll spend a lot of time in ReplicatorG.)
    3. Use ReplicatorG to manually control all the machines widgets, and test each one for proper function. (Medium.)
    4. Measure the the Z-axis height and change an obscure config file in your ReplicatorG software that you won’t understand for a few more days. (Medium.)
    5. Load up some plastic filament. (Easy.)
    6. Skeinforge interaction can be a frustrating chore.

      Within ReplicatorG, launch the embedded Skeinforge configuration application, which is used to take 3D design files in .STL and “slice” them in tooling paths that a machine can follow. This is necessary since 3D printers usually print in layers, starting with the lowest. Skeinforge is an extremely configurable system with an extremely shitty GUI. It is not immediately clear what most of the hundreds of settings do, and you’ll spend many trial iterations configuring options to dial in the best general settings. Even after calibration, you will need to periodically revisit Skeinforge to address build-specific issues. (Hard.)

    7. ReplicatorG build platform positional and orientation. Perfect!

      Use ReplicatorG to either upload a compiled .S3G files to the on-board SD card for disconnected printing, or stream the commands on the fly. (Easy.)

    8. Run the test job!  (Medium.)
    9. Go to #6. (Daunting.)

    The workflow is initially very daunting and cumbersome. It starts to make more sense after a while, but needs major work. This is technically not Makerbot’s issue, but given that it’s a necessary component of the overall system I would suggest major effort be placed in unsuckifying the interaction before ReplicatorG and Skeinforge.

    ReplicatorG
    Once many initial configuration jobs are complete, your time in software will generally be spent across two applications:
    1. 3D design software package such as Google SketchUp (free), which is used to design your own objects. Once you’ve designed an object, you export an STL file that is imported into ReplicatorG, which is then sliced by Skeinforge into .gcode files and then by ReplicatorG into .s3g files that the Thing-o-Matics onboard Arduino understands.
    2. ReplicatorG (and included Skeinforge application), tweaking, compiling, and babysitting.
    Materials
    The Makerbot MK5 plastruder turns 3mm filament into hot, sticky plastic goo.
    The mechanism that feeds, melts, and dispenses plastic on the Thing-o-Matic, Cupcake, RepRap and other 3D printers is called the “extruder”: often referred to as a “plastruder” for those designed to extrude plastic. Thing-o-Matic ships with the “Makerbot MK5 Plastruder“, designed to feed solid 3mm spool of plastic filament into a heating element that melts and dispenses a thin stream of melted plastic.  ABS is essentially Lego plastic, and solid at room temperature. (Grab a handful of Lego bricks to get a feel for the weight, texture, color of ABS.) At the melting point slightly above 220 degrees Celcius, ABS turns into a half-solid, half-liquid ooze that is melty enough to extrude into the shape of your choice, while remaining solid enough to hold form long enough to cool back into a solid.
    Many different colors of ABS filament are available. These 1 lbs. packages of red, yellow and green plastic were purchased for $15 each as part of a larger order.
    In my area (Phoenix, Arizona, apparently the 5th largest city in the United States by population), I’ve yet to find a local source of the stuff. I’ve called sales departments of several local plastics suppliers, and none have even known where to find it. I’ve also failed in contacting several other online suppliers; my requests for quotes have all gone unanswered. While happy with the two ABS shipments I’ve received from Makerbot, but it would be nice to have competitive options in the low-volume market. Makerbot sells 5-pound spools of “natural” (off-white) colored ABS for $45 (USD), and a variety of colors for $65 (USD) plus applicable taxes and shipping. And shipping is not free.
    Assessment
    Solar cell bracket revisions.
    Revisions 1, 2 and 3 of the solar cell bracket, from left to right.

    Given the complexity of the machinery, you have a lot to consider before making the investment.

    Thing-o-Matic Pros
    • Extremely cool. You will almost definitely be the only kid on the block with this toy.
    • Makerbot maintains the Thingiverse: a user-driven database of open source 3D objects.
    • Semi-automated batch jobs via the included Automated Build Platform.
    • All needed parts and come with the kit. (BYO tools.)
    • Supplies (such as ABS) are also available from Makerbot.
    • Some parts, such as this pair of brackets printed simultaneously, need trimming and/or sanding.

      Documentation is 4 of 5. The 5 is for comprehensiveness and getting me through the process, but -1 for ocassionally erronous images, ambiguous text, or omission of step.

    • Minimal soldiering, and much less than I’d anticipated.
    • Minimal number of “only one chance” assembly instructions such as cutting and gluing,
    • Open Source hardware design. You can print many of your own replacement parts if some break.
    • Science!
    Thing-o-Matic Cons

    Four solar cell bracket are shown partially assembled into a larger structure.

    • Generally not robust enough to run unattended.
    • Post assembly calibration gets fuzzy, as there is no 100% Right Way to do things.
    • I’m 90% sure that something about the Arduino driver is unstable. I regularly make my entire Mac greyscreen (the OSX equivalent of a Windows BSOD or a Linux kernel panic) during plug/unplug process of connecting/disconnecting the USB from the Makerbot to my computer.  Something, somewhere, is dying a horrible death and taking my whole operating system with it.
    • Skeinforge–the software that converts your 3D models to tool paths–has an absolutely atrocious (and ofter unstable) user interface. Few of the 100+ configuration options are clearly documents within the app, which is buggy to start with.
    • The machine can be somewhat loud and obvoxious. In my case, the XY axes aren’t bad, but the Z axis stepper motor can be very irritating.
    • If you do this, you are making a very big time commitment.
    • Questionable electronic sub-component failure rates, and one of my biggest complaints. The motor on my MK5 Plastruder was dead on arrival, and my power supply went out after less than a dozen prints. I could just be unluckly, though.
    Costs & Competition
    Lots of small custom components.

    Many small pre-fab printer shops have materialized in the last couple years, ranging from laser-cut wood frames (such as Makerbot), to clear acrylics, metals, and, of course, printed plastics. Regardless of your chosen path, the electronic components are currently not printable in any high-quality manner, are best purchased from a vendor. This includes mainboard microcontroller (the Thing-o-Matic uses as Arduino MEGA), stepper motor controllers, stepper motors, power supply, end stop sensors, extruder controller, cables etc. You can, of course, build these yourself, but in the case of highly available parts such as the Open Source Arduino, it’s far more cost effective to buy the $30 part than spend a day manually fabrication a PCB and hand soldier $20 of mail-order components.

    20mm Test Cubes
    Four iterations of the 20mm test cube: A, B, C and D.
    Makerbot’s pricing ($1K-2K per machine) targets the small power user. Competition is available, but thin and very fragmented. A RepRap kit from one company may not be 100% compatible with the electronics kit from another. That’s just the nature of Open Source hardware. I love the idea of Open Source standards implemented and supported by commercial vendors, and Makerbot’s staff has done a great job so far. (Special thanks to Ethan H. for being the unfortunately soul responsible for handling both of my failure reports as well as one incorrect shipment. You’re awesome, dude!) You can also grab an older model at significant discount.
    20mm Test Cube Print
    Another 20mm test cube being printed.

    In short, unless you have a Richard Stallman-level of commitment to F/OSS, try to buy all your components from only a few vendors. Makerbot is a good choice for U.S. buyers as though they only sell their own designs–a good thing, IMHO–but then, they don’t sell RepRap parts. If you want a RepRap, the choice is more difficult. I have not built a RepRap, but suspect that even with a larger vendor ecosystem it would be difficult to bring the total price tag for a laser cut or milled non-clone machine to under $1K for quality parts, electronics and components.

    Closing Thoughts & Recommendations
    The biggest barrier to entry is not price, but difficulty. No fabrication, assembly, software, design, calibration, of troubleshooting process is theoretically undoable by any able-bodied person, but the same can be said for rocket science.
    You need a decent understanding of robotics, hardware, software, electronics and mechanics, need a little hand dexterity and a ton of patience. (Without these skills, you’ll definitely get frustrated.) You can do it, but if you can’t sit at your workbench in 2-hour stretches assembling (and occasionally reassembling) a part, going through many print iterations (over the course of days) to get it just right, you may want to consider having a shop print parts for you, or looking into a commercial laser cutter or milling machine instead.
    Consumer 3D printing is still in its infancy, but the Makerbot Thing-o-Matic (and ancestry) are clear and decisive steps towards a day when all forms of matter can be assimilated from raw materials as easy as loading a coffee maker. Despite a few questionable design choices of electronics components, I give the Thing-o-Matic an overall 4-of-5 star rating and highly recommend either a fully compiled kit (like I did here), or pre-assembled kit for a few hundred USD more, assuming you’re comfortable with the prerequisite knowledge, time and money commitments.
    Score Breakdown
    • Documentation: 4 of 5
    • Ease of Use: 3 of 5
    • Coolness: 5 of 5
    • Price Competitiveness: 4 of 5
    • Support: 5 of 5
    • Quality: 3 of 5
    —————-
    Overall: 4 of 5
    Recommended for:  Hardcore geeks looking for a ton of fun in a challenging meta-project.
    Additional Media
    Thing-o-Matic First Prints
    Blurry Thing-o-Matic Up Close
    My power supply has an fatal failure after a handful of prints. Makerbot has sent a replacement free of charge.
    The blow-out seems to be a capacitor. I believe that the power supply may not have enough kung-fu to power all the components.
    I hacked in a new power supply with higher specs, but it didn’t fit perfectly. 🙂
  • MakerBot Thing-o-Matic 3D Printer Assembly Photographs

    Hello, Slashdot. 🙂 After 12 hours of punishment, everything seems to be back up and responsive. Enjoy the pictures!

    [Skip to the HD slideshow on Flickr.]

    After an estimated 16 man-hour assembly effort, my brand new MakerBot Thing-o-Matic is fully assembled. The extruder motor is bad so I can’t print quite yet, but assembly is complete and the MakerBot support folks have been cool about shipping the replacement part. The new motor should arrive early next week.

    The Thing-o-Matic is an Open Source 3D printer very similar to MakerBot’s earlier models (such as the Cupcake) as well as the RepRap, though MakerBot’s designs clearly depart from their RepRap origins. This is an extremely abbreviated set of high-level assembly pictures for those curious about the process. Assuming you already have a healthy assortment of common hand tools, the Thing-o-Matic “kit” version will set you back about $1,300 (USD).

    The assembly process is intense, to put it lightly. Instructions are generally correct and straightforward 90% of the time, but given the intimidating complexity of the project, insane number of parts and dexterity required for some of the assemblies, simply locating the correct widget can sometimes be challenging. As the online assembly guide progresses, the instructions increasingly rely on your prior knowledge of repetitious concepts. We’re talking sanding, soldering, cutting, punching, scrubbing, gluing, and screwing hundreds of bolt/nut combinations. Only attempt this project if you’re the type of person that wakes up with ideas on the order of, “I think I’ll build an air conditioner this weekend.”, and actually completes the task. Like I said: intense.

    [See the high-res slideshow version on Flickr instead.]

    [slickr-flickr search=”makerbot” sort=”date” type=”slideshow” flickr_link=”on”]

    [slickr-flickr search=”makerbot” sort=”date” items=”50″]

  • AmericanExpress.com: Tip On Configuring Your Web App

    For all you web application developers, I’d like to briefly note the following stack trace I received from the American Express website while clicking around:

    And here is the same trace in plain-text format:

    JSPG0036E: Failed to find resource /cardcenter/common/interstitial.jsp

    Root Cause:

    java.io.FileNotFoundException: JSPG0036E: Failed to find resource /cardcenter/common/interstitial.jsp
    	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:322)
    	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:284)
    	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3548)
    	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)
    	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:818)
    	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
    	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:126)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
    	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
    	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
    	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
    	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
    	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
    	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
    	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

    Most developers might say, “So what? You just clicked on a broken link somewhere. Go back and go about your business.”

    And that’s exactly what I did, since I just wanted to pay a credit card bill. But what if “my business” had been to gather forensic information about potential American Express website vulnerabilities? A stack trace may look innocuous, but we can be almost certain that this HTTP request was handled by a Java servlet. It uses Java Server Pages (JSPs) for view templating, and the application appears to be running on IBM WebSphere. Not only this, but we have line numbers for each stack frame, and the CSS appears to be some form of default styling.

    Large institutions such as AmEx tend to not upgrade to the latest versions of development libraries until a future interal release cycle where the new version(s) can be internally vetted, tested, QA’d and put through a due diligence process. (Or for older apps, dependencies might not be upgraded at all.) This makes stack traces extremely valuable to an attacker. Why? Because I can obtain all historical versions of technologies such as WebSphere, and map every specific call in the stack trace back to the code until I find the software versions where the line numbers match up. The attacker should at least be able to narrow down the software version numbers to a range, if not the specific release version. After gathering this information, the attacker may choose to fixate on the older packages, and consult databases of vulnerabilities in legacy software until a vulnerability is discovered.

    Long story short: turn off the rendering of stack traces in public-facing production applications. They’re convenient for validation of production errors, yes, but you don’t know what they may reveal.

  • Introducing RailRoady: The Rails 3 UML Diagram Generator

    I just released the first production version of the RailRoady gem about 5 minutes ago. If you’re a developer on Rail 3, you’ll definitely want to check it out. No more Vizio class diagrams! (RubyFlow announcement.)

  • LaTeX Broken On MacPort “texlive” Update

    I spent about 4 hours today troubleshooting a stupid, stupid issue with the “texlive +full” package as provided by MacPorts, which is required to run certain GUI LaTeX editors such as TeXShop. Several days ago I ran an innocuous-looking…

    preston$ sudo port sync
    preston$ sudo port upgrade outdated

    …and amongst many things that updated, texlive was one of them. Unfortunately, running tools such as the command-line “latex” command or GUIs such as TeXShop started giving me the following error:

    This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010/MacPorts 2010_0)
    restricted \write18 enabled.
    —! /opt/local/var/db/texmf/web2c/pdftex/pdflatex.fmt doesn’t match pdftex.pool
    (Fatal format file error; I’m stymied)

    After much fruitless searching and hair pulling, I stumbled upon this ticket that notes the solution as:

    preston$ sudo fmtutil-sys –all

    After running this, LaTeX seems to work properly again. Sheesh.

    (Note to product developers: I would personally pay at least $50 for a simple, clean, stand-alone OS X app that does LaTeX really well. TeXShop and TextMate both do a good job, but I’d really like a 5-star “just works” editor that doesn’t install a bunch of system-level stuff like MacTeX. Just sayin’. 🙂 )

  • Kindle 3G Upgrade: Mini Review, Recommendations

    The "Home", "Menu" and "Back" buttons are now to the right of the keyboard.

    I’ve previously expressed my love for the Kindle family of devices, and on a whim decided to upgrade from the Kindle 2 to the new Kindle 3G with 3G and wifi. For others contemplating the upgrade, here’s what you need to know:

    Pros

    • The new button layout is way better. Next/Previous button are on both sides of the screen, and Home and Menu buttons have been moved to the keyboard area, along with a new direction pad (“d-pad”) design that is easier to use, albeit different.
    • Smaller device footprint. Kindle 3 feels more compact and portable than Kindle 2.
    • The screen update time is noticibly better, but only slightly so. It’s definitely noticable and a welcome improvement, but don’t expect LCD-level performance here. It’s still e-ink.
    • Wifi! Not that on the more expensive model, you have both wifi support as well as the free 3G access.

    Cons

    "Next" and "Previous" buttons are now on BOTH sides of the device. A welcome change!
    • $189 for a bunch of marginal upgrades is a tough sell.
    • Keyboard is still ghetto. It feels like typing on a 1990’s scientific calculator.
    • The Next/Previous buttons depress easier than before, but they’re also smaller and don’t have any nubs to identify the button by touch. This seems stupid.
    • Sharper screen. It’s a subtle improvement, but definitely feels crisper.

    Recommendations

    • New users should go for it, and light readers should be perfectly fine with the Wifi-only $139 model.
    • Existing users with heavy usage patterns (at least an hour a day on average) should go for it. You’ll love the small speed improvements when highlighting and flipping pages.
    • Existing Kindle 2 owners with light usage patterns should skip this revision. Future models will certainly see further improvements and lower costs.
  • Spring 2011 ASU Webapp Course

    In Spring 2011, the College of Technology and Innovation at the ASU Polytechnic campus will again be offering CST 533/494: Database-Centric Enterprise Application Development. The calendar is not yet out, but should soon be listed as a Thursday evening class: one night per week for the Spring semester. The course will be available at both undergraduate and graduate levels for 3 credit hours.
    The course essentially teaches dynamic web application architecture concepts and development processes using Ruby (w/Rails), Java (w/Spring, Eclipse, and Tomcat), SQLite, MySQL, and other industry favorite technologies as a means to the learning process.
    • New technologists: If you’re looking for training and experience in this area, definitely check out the ASU Polytechnic campus.
    • Old hats: If you are an “old hat” software engineer just looking for the credit hours, this may provide a fun, project-oriented opportunity towards working on your degree.
    • Companies: I am always on the lookout for opportunities to expose students to industry perspectives. If you’re interested in any sort of corporate sponsorship or collaboration, please contact me directly.
  • Amazon Kindle Customer Service Experience

    Kindle 2 with M-Edge Leather Platform Jacket and optional e-Luminator 2 book light.

    About a month ago I noticed the top of my Kindle 2’s e-ink display starting to go out. Starting from the top of the screen, row-by-row slowly ceased to display “ink” until I could no longer see the battery indicator area. I could surely have lived with this, but given that the device is less than a year old I gave the Kindle support number a call.

    I purchase a lot from Amazon and have used pretty much every service they offer, including long-time Prime delivery service membership and I’m fairly certain that my Amazon book purchases would put me in their 99th percentile of perfered consumers–so perhaps the call handler knew to treat me better than the average Joe–but regardless, the process was a true 5-star experience. Abbreviated transscript of the call:

    Me: The screen on my Kindle 2 is going out.

    Rep: I’m very sorry to hear that. <additional scripted apologies designed to make me feel better> How about we overnight you a replacement?

    Me: Srsly?

    Rep: Sure. It’ll be delivered tomorrow morning.

    Me: Sweet!

    And that was it. The replacement arrived the next morning as stated. It took me less than 5 minutes total to deal with the issue. For a unit of anything under warrantee this is the level of service I would hope for. Bravo, Amazon!

  • TOMS Shoes

    I recently won one of a thousand pairs of TOMS shoes courtesy of a joint promotion in conjunction with Gowalla and AT&T to celebrate TOMS 1 millionth “shoe drop”. (It’s basically like the “One Laptop Per Child” program, but for shoes.)

    From the TOMS website:

    “TOMS Shoes was founded on a simple premise: With every pair you purchase, TOMS will give a pair of new shoes to a child in need. One for One. Using the purchasing power of individuals to benefit the greater good is what we’re all about. The TOMS mission transforms our customers into benefactors, which allows us to grow a truly sustainable business rather than depending on fundraising for support.”

    Thanks to TOMS, AT&T and Gowalla for the free shoes and I wish you the best of luck in the program!