2010
Vice President Biden: It Gets Better
Posted by Brendyn on November 18th, 2010

Does it get better, Mr. Vice President? Can we legally marry, visit our significant others in the hospital, receive the same tax benefits as heterosexual couples, serve openly in the military, not have to worry about hate crimes for walking down the street hand-in-hand with our loved one?

It hasn’t gotten better, that’s the lie here. We get older and wiser, but it doesn’t get better. We become jaded, stuck in our state of learned helplessness, and succumb to the heteronormative culture that surrounds us.

You, however, Mr. Vice President, and your boss, do have the power to ensure it gets better and you’ve done little since your election to significantly move our country forward on gay rights.

Location-based goodness
Posted by Brendyn on November 11th, 2010

Working on both the AIDSVu and medical society projects for my job, I’ve had the opportunity to scratch the surface of location-based technologies.

For AIDSVu, we built a locator for STD testing centers around the US. Using your IP coordinates as a starting point, the site looks up the nearest testing centers to you. If the IP coordinates aren’t right (which they likely won’t be, as they map to the ISP location), you can enter an address which is geo-coded using the Google Maps API. This was an impressive feature for our clients as it provided immediate value to their customers and users. It promoted content in a way that’s more personal, a continual goal of information technology.

With the medical society software, the locator is built to let patients search for physicians by term and location (e.g. Cardiologists in San Diego). The former isn’t that exciting–keyword-based search is as old as the Internet (not really, but it’s old). Combining keyword with location-based search, though, is new. For someone with a medical condition that needs the nearest help they can get, being able to find the closest doctor who specializes in treating their symptoms could be both a time and life saver.

Implementing both of these features was a blast. The GIS (Geospatial Information Systems) world is fun, complex, and deep. After a year dabbling in parsing geographic datasets, map plotting, data mash-ups and geo-coding, I’ve barely scratched the surface. But there’s a mountain of potential here and it’s progressively catching on.

With the emergence of mobile phones as replacements for computers when accessing information, the potential of GIS to change how we interact with the world around us is huge. Wherever you are, the phone knows your geospatial location. It can transmit that data to an endless supply of web services which return location-sensitive data, providing a new layer of interactivity to life.

Imagine this: you’re a bicyclist in a busy city. Part of every day involves subconsciously calculating the risk of an accident as you speed down the road alongside cars, trucks and public transportation. In your back pocket is your cellphone. As you roll along, your phone is using your location to query the city’s crime lookup service, searching for bike accident reports in your vicinity. As you near a particularly hazardous intersection, the phone begins vibrating in pulsations, warning you of the risk ahead. In this application, it could save your life. In others, it can simply, but powerfully, add a new dimension to how we process and apply the myriad information we consume daily.

Our primary challenge each day is to make the best decisions we can with limited information. But there’s far more information available to help us make decisions than we concurrently have access to. The issue is that it’s not easily accessible in a way that’s helpful to us right here, right now, wherever that may be. With the world of mobile computing on the rise, we’ll see more and more applications that mash-up data in ways that offer the chance to improve the quality of our decisions. This has monumental implications.

It’s going to be an exciting decade and beyond.

Symfony Framework’s Poor Documentation
Posted by Brendyn on May 24th, 2010

At the firm I work for, we recently made the switch from Zend Framework to Symfony. After evaluating the pros and cons of the available, and established, PHP frameworks (namely Zend, CakePHP and Symfony), we settled on Symfony for its pragmatic approach to development, ORM inclusion, and admin generator–being able to build a CMS around our database schema with just a few commands has proven an invaluable time saver so far. It also has a fairly robust developer and plug-in community.

One rather large factor we overlooked in adopting Symfony, however, was its documentation. At first glance, the example-driven approach they take seems sufficient. Rather than invest effort in documenting all framework components at their lowest level of complexity, they chose to aggregate components and document them through a sample application, from start to finish. Even after only a month or so of use, this approach has fallen far short of what a good framework needs in terms of documentation, and more pointedly what Symfony deserves.

Most frameworks that I’ve worked with choose to document components at the simplest level, building examples around say specific function calls like $sf_user->setFlash(), outlining the complete list of ways such methods can be called, and providing tips for their use. This works well because it makes few assumptions about how any one developer is going to use this piece of the framework. Other popular SDKs and frameworks, from Zend to .NET, take this approach. It should, after all, be the end-developer’s job as a good programmer to stitch components together. High-level examples that do so for us have only limited use beyond a beginner level and, when the only form of documentation, and an anemic one at that, lead to much time spent searching through API docs (generated from short code comments) and around Google for answers, often to questions about simple usage.

To the latter point about searching Google, a lack of framework-provided documentation may not be a problem if developer community contributions fill that gap, and that contributed content is easy to find. That’s just not the case with Symfony. Most answers to searches on Google, in my experience, either refer to deprecated documentation on the Symfony site, or blog and forum posts, which require additional time to abstract away proper usage from the specific implementation of the original author (if their questions are even useful and timely to begin with). In the best possible scenario, this is a matter of SEO, which should make solving this even easier. But documentation discovery now is abysmal.

With Symfony 2.0 on the horizon, slated for release some time in 2010, I really hope they change their documentation story–I’ve even e-mailed the release manager for 1.3/1.4 requesting as much. It’ll be a rather large undertaking as there’s quite a bit of functionality, to the framework’s credit. But if this issue isn’t resolved, I could see it preventing adoption by anyone with realistic documentation expectations looking for a mature PHP framework.

Obama gives eulogy for West Virginia miners
Posted by Brendyn on April 25th, 2010

Isn’t this a risky precedent to set? Why are these coal miners any more deserving of a eulogy from the President than say those who died on the oil rig in the Gulf of Mexico, or those who died in the tornadoes in Mississippi?

What You Didn’t Know About The War
Posted by Brendyn on April 24th, 2010

Amidst the dull uproar over the veiled threats from RevolutionMuslim.com, I can’t help but agree with one point the controversial site made: They didn’t start the wars, we, America, did. This is tragic and unconscionable for a society that so often uses life, liberty and the pursuit of happiness as defenses. The question then remains, how do we transform our outrage into positive political action? I imagine contacting our representatives is a start, as is supporting anti-war organizations.

The Dunning-Kruger Effect
Posted by Brendyn on April 23rd, 2010
Case against Goldman is ‘very weak’
Posted by Brendyn on April 22nd, 2010

I don’t agree that all GS was doing was playing the bookie, or that they only realized what they’d done was a mistake in hindsight. They took out insurance on CDOs they didn’t even own (imagine taking out insurance on someone else’s car then profiting on it when they get in an accident) and re-packaged those CDOs into financial instruments which were then systemically disbursed. Then, to top it off, they made $13 billion in insurance when those CDOs went belly up while other financial institutions and investors crashed and burned around them.

Taken in the context of Goldman Sachs’ history, I don’t believe it’s possible to argue they were simply bookies. They knew what they were doing–they were in it for short-term profits, to get out before the melon hit the sidewalk, as RollingStone put it. That’s sleazy and, if not currently illegal, should be made so immediately. At the very least, GS and all those responsible should be stripped of their profits, because right now they’ve made off with billions of tax payer dollars, meanwhile the gulf between the rich and poor continues to grow. In the larger context, Mr. Zakaria, GS and other culpable firms are swindlers and robbers, not innocent victims of financial complexity.

Down and up the hill again
Posted by Brendyn on April 21st, 2010

Too much time has passed since I last wrote here. A lot has happened. Grad school didn’t work out, and that left me quite disaffected with politics in general. Fortunately, the fervor I was so used to has finally returned in full force. Government may not be my cup of tea academically, but I’m still as interested a citizen as I’ve ever been. It certainly helps civic engagement to have corporate criminals like Goldman Sachs about, but that’s another rant for another time.

I’m so looking forward to making this blog live up to its name. I strayed from my technology roots in favor of politics and now it’s time to blend the two together more. The tone will change, probably for the nerdier. Should be fun…stay tuned.