Saturday, October 27, 2012

Detroit's filter

I enjoyed this short article on downtown Detroit, specifically this thought from George Royce, a bartender at Detroit Beer Company.
Royce acknowledges that Detroit is not for everyone.
“The people who live here usually have something going on,” he says. “They’re artistic, they’re handy, they’re self-starters. People who are finicky don’t come to Detroit. There’s a filter at work here. You’ve got to have self-sufficiency.”
One reason I really enjoyed living and working in Kenya and going through the Peace Corps was the ability to meet, learn, work and become friends with, etc the very interesting people that those types of opportunities attract. I've found that to be the case in Detroit as well and it's certainly one of the reasons I enjoy living here way more so than some of the well manicured and more well off cities where I've lived in the past. Royce's comment above perfectly captures the person Detroit is attracting and why that might be the case.

A city reimagined

Popular Mechanics takes an entertaining look at what Detroit could become by 2025 based on projects that are currently happening and the real people leading the charge.

I've always liked the idea of Detroit becoming the world's greenest city.


Tuesday, October 23, 2012

Sunday, October 21, 2012

"Today the league, tomorrow the world"

It's been six years since I watched (from a concrete hut in Nicaragua) Magglio Ordonez hit his walk off home run. The Tigers are finally back in the World Series and this time around I'm a proud city resident eager to watch 'em compete for the title. Today the league, tomorrow the world. Bless you boys!


Wednesday, October 03, 2012

Monday, September 24, 2012

Stik.com: Valley to Detroit!

The Detroit tech movement continues to pick up significant steam, with the lastest news being the relocation of Stik.com from San Francisco to Detroit. Stik, which allows users to provide and seek business referrals via Facebook, was started by two Michiganders (one of whom was a friend of Brian Emeott's at Harvard!) and will be moving into the Madison building, bringing six employees and plans to hire more.

 I'm excited to have them in town. I had a chance to go to lunch last week with one of the founders, Nathan, and enjoyed hearing about their business as well as the thought that went into the decision to move to Detroit. From what I gathered, moving their company to Detroit wasn't simply a "I want to move back to my home state" decision, though that obviously played a role. Detroit indeed offered significant advantages over the hectic pace of San Francisco, particularly in finding and holding onto talent, and that advantage (especially if it bears fruit for Stik.com) bodes well for Detroit's startup community. Welcome to Detroit, Stik!

Check out their site to gather referrals from your friends for just about any professional service: Doctors, real estate agents, insurance agents, financial planners. And be sure to keep an eye on them as they grow their business in Detroit!

Tuesday, September 18, 2012

Dequindre Cut Extension

Good news for the Dequindre Cut - a plan to extend the pathway through Eastern Market and onto Midtown and Hamtramck will move forward in the City Council and has a $10 million federal grant to help pay for the costs. I don't known anything about real estate development but something tells me that a complex plan like this would have been already executed upon in a more progressive city. Nonetheless, if this plan comes to fruition the cut will be one of the coolest parts of the city.

Photo credit: http://photos.mlive.com/detroit/2012/06/dequindre_cut_walking_and_bike_5.html

Tuesday, September 11, 2012

Techonomy Detroit

Techonomy Detroit takes place tomorrow. It is Techonomy's first one day event designed to look at how technology can help address the US's most challenging problems and featuring a keynote address by the founder of Twitter and Square, Jack Dorsey. I really enjoyed this Forbes article answering why Techonomy decided upon Detroit as the host city, "We created Techonomy Detroit because we see a set of urgent issues for this city and the country that all of us need to better understand."
But we at Techonomy—and our speakers—believe we are in an era of technology breakthroughs that can enable any community to make rapid progress—if it embraces them. These tools can absolutely be applied in Detroit, or anywhere, to make a dramatic difference—faster than most recognize. That’s the message we hope to convey this coming Wednesday at the conference at Wayne State University. We see promising advances in education, health care, manufacturing, business structure and management, finance, entrepreneurship, urban planning, and yes even in transportation, Detroit’s historic strength.
While working in Africa, I was inspired by the amount of innovation using new technologies to address the continent's most urgent problems, particularly the problems of those at the bottom of the pyramid. It's disappointing to not see that as much in the states. Maybe it's happening here more than I think but probably not. The author makes a good point that even within the platforms and dialogues of our political parties there's a worrying lack of focus on technology and its capacity to rapidly solve problems. I'm happy to find a conference highlighting this; especially in Detroit, where the nation's most complex problems so clearly reveal themselves.

Monday, August 27, 2012

Detroit Labs futzing its way to success

This is a cool article discussing the growth and success of Detroit Labs as well as its desire to become an innovation factory, dedicating one day a week to product development. Detroit's tech story continues to pick up steam.
When asked how he counters Detroit skeptics, you can hear Glomski winding up into a less-than-mild-Midwesterner riposte. “Here’s where you’ll find a company like Detroit Labs, where in a year’s time we’ve done amazing things,” he says. “We won a Gold Lion at Cannes Creativity Festival. We’ve grown a talented group of 20 developers and designers that companies like Zynga and Facebook would love to have. We make real revenue; we’re profitable. How many startups in San Francisco or New York could you say that of in their first year?”

Monday, August 13, 2012

Dequindre Cut, Detroit

Dequindre Cut's newest graffiti addition. Check out the artist's website to see more.

Saturday, August 11, 2012

Hogshead

Walk into this bar 10 years ago and you'd likely find two American chaps tending bar. One would be wearing brown shoes colored black with a permanent marker. Both would likely eat the remaining food scraps from your plate.

Sunday, June 24, 2012

NBC Nightly News features Detroit

I make a very brief appearance around the 1:40 mark. A cool feature piece for other reasons too!


Wednesday, June 06, 2012

Birthright: Flint, Michigan

Flint's downtown as captured on May 22, 2012. Thanks for the shot, Luke.


Tuesday, June 05, 2012

Digging for Gems

I've been working on a project the last three weeks for a dev shop out of San Francisco. A lot of the work has been adding additional features to an already completed site, and it's been an enjoyable project. It's nice to see completed work, and I'm able to learn a lot when following someone else's code and picking up on new techniques I haven't seen before. For example, the Ruby if-statement on one line:
foo_bar.present? ? puts "foo" : puts "bar"
Beyond just exposing new syntax, this project has also turned up plenty of new gems to add to the toolbox. A few of my favorites:
  • friendly_id - take out the ugly Rails routes that include ids and instead use the blog posts' titles, for example
  • carrierwave - easy file uploads
  • rmagick - resize images
  • feedzirra - pull in a RSS feed and parse the data into blog titles, url, blog author, blog content, etc.
  • sanitize/htmlentities - strip out any html or harmful content
Working on this project, I've found that I continue to come across stuff in the code that puts me back in the Gemfile and researching the various gems. Which got me thinking - why can't I upload a Gemfile that then spits out a nicely organized list of the gems, a short summary of the gem, their github repos, their ruby gems page, and any railscasts tutorials that exist?

Sunday, May 13, 2012

PonyRide and Beehive

Tired of your Pandora stations? Checkout Beehive Recording Company, a Detroit company who records local artists and releases two to three tracks of their music for free download on the Beehive site. The Detroit News' article is a pretty good rundown on the company and also mentions that they are currently working out of Ponyride, another cool project worth learning more about here and in the video below.

Thursday, May 10, 2012

Develop Detroit

Mike and I met at a startup event in downtown Detroit. A chance run in that will start happening here more and more as the community of like minded professionals, technologists, and entrepreneurs continues to grow in the city. He told me he was creating a 12 week program to teach iPhone and iPad app development. I told him about my Code Academy experience. And then we started working together.

Over the course of a month or so I built the Develop Detroit website using WordPress, and we started to promote it last week. Help us spread the word!

Twitter: @devdet
Facebook: www.facebook.com/devdet



Friday, May 04, 2012

Make Money as a Developer

This is a good article on how to start to make money as a developer. He says the number one problem is one of "personal branding." When you still feel like you're a newbie developer, learning on the fly, it's hard to muster up the courage to call yourself a developer. Get over it, he says. You're a developer. A new one, but certainly a developer.

Now start making money.


Thanks to Tom and Jin for the link and gif.

Tuesday, April 17, 2012

How to create a hover intent function with Google Maps

Last week I wanted to fire a piece of code (div scrolling) when the user's mouse was hovering over a Google maps polygon. I got that working pretty easily with a simple Google Maps listener with the 'mouseover' event. Unfortunately, that created a different problem - if the user moved the mouse quickly over the map and crossed over many polygons, the div scrolling code I had within the listener was fired too much.

I ended up finding a jQuery plugin, hoverintent,  that only makes the call when the user's mouse is hovering over the element for a specific amount of time. This would have certainly done the trick on a DOM element but it wasn't going to work on my map when the polygon wasn't a DOM element, it was an overlay on the Google maps object. An even easier solution (no plugin required) emerged.

Javascript has a setTimeout() method that you can use to execute code in the future. So, in  my case, I set a variable, timer, to the setTimeout() method and the code I wanted called; I checked for timer when the user had the mouse over an element, if the timer existed, I set it to null and used the clearTimeout method and then reset timer to the a new SetTimeout. I added another Google Maps listener for the event 'mouseout' of the polygon and set timer to null while using the clearTimeout(). In this way, the div scrolling only happened when the timer reached a certain time, in other words, when the user's mouse was hovering over a polygon for  a certain amount of time.

google.maps.event.addListener(polygon, 'mouseover', function(event) {

            if (timer) {
              clearTimeout(timer);
              timer = null;
            }
//set timer so animation of scrollbar only happens when mouse is within polygon for longer than 500 milliseconds
        timer = setTimeout(function() {
            $('#side_content').animate({ top: -$('#div').top }, 300);
        }, 500);
});

google.maps.event.addListener(polygon, 'mouseout', function(event) {
          if (timer) {
            clearTimeout(timer);
            timer = null;
          }
});

Wednesday, April 11, 2012

Valley to Detroit

Detroit luring Silicon Valley professionals. What?!



The leaders behind the Detroit movement released this website on Monday, luring recently laid off Yahoo employees to Detroit where there are currently hundreds of technology jobs.
"Detroit is quickly emerging as one of the nation's best kept secrets when it comes to technology, Internet and mobile-related jobs," said Josh Linkner, CEO and Managing Partner of Detroit Venture Partners, a Detroit-based high-tech venture capital fund.  "We know that there is a great deal of talent inside of Yahoo – especially in marketing and web development, and we're encouraging those who have been impacted by job cuts to consider Detroit as the next stop in their career."
But it's not only about the jobs. As Bill Emerson correctly points out, taking a job in Detroit means seizing a unique opportunity that exists no where else in the country. The opportunity to play a pivotal part in reinventing an entire city.
"We are creating an exciting urban core for young, energetic and creative professionals who want to affect the outcome of an entire region," said Bill Emerson, CEO of Quicken Loans, who has consistently ranked in the top-10 of Computerworld's 'Best Places to Work in Technology' over the past decade.  "Not only does Detroit make for a great place to start or grow a business, but it's also a great option for those who want to be on the ground-floor of rebuilding and reinventing a great American city."
The Detroit conversation is changing from one of death to that of rebirth. Speramus Meliora; Resurget Cineribus (we hope for better things; it shall rise from the ashes)

http://techcrunch.com/2012/04/09/valley-to-detroit-motor-city-woos-laid-off-yahoo-employees/


Changing redirect after Devise signin

We use Devise to manage user sign authorization and authentication. This solution offers a lot of stuff for free, such as password resets and account confirmations, but it's also a little hard to navigate at first since most of the functionality seems hidden from view. Read up a little bit though and you'll find just about every customization you desire is written about on the Devise wiki, with instructions on implementation.

Yesterday, I customized the redirect after a user signs in. Initially, devise is set up to redirect to the root_url after sign in, but it's easy enough to override it by adding a after_sign_in_path_for(resource) method in the application controller. Because our signin "page" is actually a small menu that sits on every page, I wanted the user to stay on the current page after signin rather than be redirected to a specific page. For example, if a user is using our map and decides to sign in, I want that user to stay on the map after signin, not be redirected to a different page. Seems easy enough, and although it took me a little while to figure out a solution, the implementation for this functionality isn't all that hard.

The key for me was learning about Rails' request.fullpath, which will return path the user is on. (There is also request.uri, request.url, request.path, request.host and a few others). So, on my sign in form, I added a variable that I set to the fullpath returned from request.fullpath, and passed that variable to the user sign in path as a params. With that, I have the current page the user is on and can redirect them there after successful sign in.

<% current_path = request.fullpath %>
 <%= form_for("user", :url => user_session_path(:current_page => current_url), :html => { :id => "signin_form" }) do |f| %>


application_controller

def after_sign_in_path_for(resource)
 params[:current_page] || super
end


Sunday, April 08, 2012

Code Academy Interview

Check out a short profile of me on Code Academy's blog. Code Academy continues to grow and thrive, just completing their second class last week and pulling off a demo day with 500+ in attendance. Congratulations to the newest graduates and to the Code Academy program.

Learning Javascript

Though we're using Rails as our framework, Picket Report's code base is only 45% Ruby and 55% Javascript. I didn't have much experience with Javascript until the past month or so, and though the syntax is a little cumbersome at first, I've started to enjoy using the language, particularly creating and handling Javascript objects.

Most APIs that I've dealt with so far respond with JSON objects, but it wasn't until the last two or three weeks that I got more comfortable understanding how get to what I wanted within a response. Part of it was learning how to use console.debug() and thus being able to actually see the object and how it was structured, but most of my improvement can be chalked up to learning some basic Javascript - looping, if/then statements, creating objects for later use, etc.

A basic example from this past week. I created a marker ID object that kept track of each google maps marker on my map as well as a string of html content I wanted to appear in a map popup/infowindow when the user clicked on a marker. I organized the object by marker ID so that I could easily find that marker at a later point. I couldn't have done this a couple of weeks ago, and when it came together it was a nice reminder of how much I've learned and a big aha moment that seemed to open up a sense of possibility...


 markerIDObject[marker.__gm_id] = {};
 markerIDObject[marker.__gm_id].marker = marker;
 markerIDObject[marker.__gm_id].content = contentString;


 this.neighborhoodShowInfoWindowBounce = function(marker_id) {
    showInfoWindow(markerIDObject[marker_id].marker, markerIDObject[marker_id].content);
    markerBounce(markerIDObject[marker_id].marker);
  }


Friday, March 16, 2012

Coding!

While in Code Academy, we were really encouraged to blog at least once weekly about what we were learning. It was a nice marketing tool for them but it also served as a great way to track my progress and improve my understanding of general concepts. It was a worthwhile exercise and something I intend to try to keep up with now that I'm working on this stuff full time, improving my skill set and expanding my toolbox. The first 6 weeks have been awesome; I'm learning a lot.

Javascript - Though we use Ruby on Rails as our framework, the mapping feature is largely built in Javascript. Besides a few jQuery effects I managed to get working during Code Academy, I didn't have much experience with Javascript and even trying to read through our .js files was difficult at first. But over the last two weeks, I really feel like I've been starting to pick it up.

I'm updating our map using the Google Maps API which I've found to be a great way to start to learn. They have a ton of examples on how to build your requests and handle the responses, and if you can start to follow those, you're half way there. It's been fun figuring this out - I'm looking forward to using CoffeeScript next.

Chargify - It wasn't planned but I've ended up getting a lot of experience with different payment processors. I've used PayPal, Stripe, and now Chargify. We use Chargify to handle our subscription service to the Picket Report widget, and I found the API pretty easy to handle. It took me a while to handle the errors that Chargify sends back (turns out to just be an Active Record resource if you're working with the Chargify gem...you can use the .errors method and print them easily). Stripe is still the easiest and most elegant solution I've found, but it's nice to get some experience with a number of them. My main takeaway - avoid PayPal.

CSS - I spent the first month developing the front end of our site. I've picked up a lot of awesome tricks on styling and can handle the jQuery effects pretty easily at this point. It's this CSS/front end area that I think I've improved upon the most and feel pretty comfortable now saying that I can do just about anything I'd like to do in terms of making something look a certain way. This is a pretty sweet improvement over the Rails scaffolding CSS!

Thursday, March 08, 2012

Building While Driving

Last night I went to the GrowDetroit and DNewTech sponsored meetup at Ann Arbor's TechBrewery to hear Dug Song talk about his current company, Duo Security, and startups in general. When I first started talking to people about moving to the Detroit area, Dug's name came up in just about every conversation as a suggestion for someone to try to talk to. He's a driving force behind Ann Arbor's tech community, a serial entrepreneur with a very successful track record, and someone willing to share insight and advice to anyone looking. A couple of points that came up in his talk last night that I liked:

  • Working at a startup is like driving a car while you're building it. He mentioned this kind of casually during his talk, but it struck me as a perfect way to describe my short experience at PicketReport. We're pursuing several different opportunities and avenues for our products, and because most of them are unproven there's a constant feeling of and a repeated office refrain of "we'll just have to figure it out." And yet despite the unknowns you just continue to push ahead in a direction that, at the time, seems appropriate. You've got three tires and two less spark plugs than you need, but you figure out a way to keep driving, while building and improving as you go.
  • The westside of Michigan's history and track record in design. I tend to not think too much about the west side of Michigan, but Dug brought up a cool point last night while suggesting that Michigan has all the components of talent that you'd look for when starting most types of companies. Ann Arbor = software/tech, metro Detroit = manufacturing/advertising, and West Michigan = design. He reminded me of Herman Miller, the design company you can thank for cubicles (or blame them for your sterile office environment) and one of the most notable designers of modern style furniture (he also mentioned Steelcase). That history of design talent still exists in West Michigan and there's a deep bench of top notch digital designers to draw from.
Anyone looking to get involved with the area's tech community (or more generally, entrepreneurial community), should definitely pay a visit to the TechBrewery. They have a weekly open happy hour every Friday at their office. Also check out A2NewTech, DNewTech, GrowDetroit, and A2Geeks.

Wednesday, March 07, 2012

Inc. Magazine - Detroit!

Inc. magazine has a great spread of articles on Detroit and what is happening here within the startup community. I like the attitude of those featured in the articles as well as the attitude I've experienced throughout the region over the last month. We're here, we're not apologizing for anything, we have a very unique and exciting opportunity, we're confident we're creating something great. But they say this much better in the articles. Read up, come visit, get involved.


--------------------------------
"It's not 'What are we going to do?'" Tatoris says. "It's 'wow, I can't wait to see what Detroit is like in five years." For the folks who have seen Detroit rise and fall over the decades, the view from Webward Avenue is one a city on the move once again. "I just don't know where the tail end of that is going to be," Smith says. "But I'm going to like the ride."  
---------------------------------
"I'm going to be telling my grandkids about this five-year stretch when Detroit got back its mojo."
---------------------------------
Something Bigger: It's rare to be in the right place at the right time, but when you are, the sparks just seem to ignite out of thin air. At this moment, Detroit seems to be "right," as it's experiencing a truly fresh start through revitalization. It's not just an up-and-coming downtown center that's drawing talent; it's the chance to help change the landscape of a region that is in dire need of it and the opportunity to make a long-lasting impact.
---------------------------------
 "When there are doubters, you work a little harder," says Jake Cohen, Detroit Venture Partners' Vice President. "Just the other day, I was on the phone with someone from Sequoia Capital and he was telling me which industries were attracting money on the West Coast--like somehow I wouldn't already know. I think a lot of us have a chip on our shoulder here. People think that our start-ups aren't real, and that we don't know what it's like anywhere else--they think we just got stuck here. But there are a lot of people here who could be anywhere else. It's a choice."
----------------------------------

And though this isn't from any of the articles, it's one of my favorites and seems appropriate for this post (feel free to substitute Chicago with your city).
"Do you want to be another yuppie in Chicago, or do you want to make a difference in Detroit?" - Michigan Governor, Rick Snyder

Friday, March 02, 2012

PicketReport.com relaunched!

Check out our new look and design. It's much improved from the previous version, and we're excited to start a big marketing/pr push in the next week or two. More news to come from that.

We also just moved into some sweet new digs on the ninth floor of the Compuware building with views of the Detroit River, Ford Field, Greektown Casino, and Comerica Park. We even have an outdoor terrace just past our desks. Not a bad place to spend a day.



What is PicketReport? Besides one of the top startups in Detroit and where I've worked for the past month, we're a neighborhood research tool for folks who are relocating. Play around with our map, particularly the Lifestyle information to learn more about the neighborhood you live in. Send me any feedback!

Thursday, January 26, 2012

Detroit, here I come!

While in Detroit the first week of January, I checked out Astro Coffee. At the time, I was meeting with folks in metro Detroit and trying to decide if I wanted to make Detroit my next move. Right inside the front door, Astro has a small shelf of coffees for sale, including the two below.


I don't think I believe in signs but this one was hard to ignore. Nicaragua and Kenya, two defining places I've lived in over the past few years, sitting next to each other in a Detroit shop, reminding me where I've been and where I haven't. Detroit's gotta be the next stop. Here I come.