Future of King County Metro – get free bus fare!

The new $20 car licensing fee will allegedly save massive cuts in bus service.  The free-ride zone is also being axed, but a new perk also popped up as I was reading this article: http://blog.seattlepi.com/transportation/2011/08/23/is-killing-the-ride-free-area-an-attack-on-the-poor/

Metro plans to hand out eight free bus vouchers when vehicles are licensed under a “Transit Incentive Program.”

Say what?  I assumed it was some green-inspired wage-against-car-esque initiative that I most certainly could take advantage of as a taxpayer, sure enough: http://metrofutureblog.wordpress.com/2011/08/12/congestion-reduction-charge-agreement-part-1-what-is-the-transit-incentive-program/

But of course, if you already ride the bus, or won’t take advantage, they hint that you should:

Alternatively, car owners will have the option to donate the value of the tickets to a program that supports low-income residents who depend on transit to access services in their communities.

No thanks, I’ll take my free $20 in bus fare.  Lets consider it an offset for the famed “Discover Pass” and it’s extra fees for buying it from a vendor (http://blog.thenewstribune.com/politics/2011/08/18/rep-j-t-wilcox-slams-30-parks-fee/), as well as the $5 for state parks Washington tries to automatically throw in.

And on an editorial note about getting rid of the ride free area.  This is a great thing for the bus tunnel.  Since light rail came through and now keeps it open late into the night, security is an obvious issue.  After visiting San Francisco, Washington DC and Philadelphia you realize you have to pay before you enter any transit “pavillion”.  I hope we take this step with the bus tunnel, put some pay boxes at street level, throw some turnstyles in:

  • Instant security
  • far less fare-evasion
  • increase efficiency in the tunnel by reducing people who don’t know what they’re doing when they get on the bus.

Posted in Rant | Tagged , , , , , , | Leave a comment

Human Cookie?: The Blockshopper Scam

This is something that came up not too long after I may or may not have bought a house a while ago.  Thought it was worth posting as there are still a large number of frustrated people on the internet.  When googling myself I found an interesting “article” about a home purchase titled:

“Media technology specialist buys in Maple Leaf”

Now, I am in the “Internet” industry, so I can appreciate a good service, hack, etc…  This one is obviously interesting and clever: data mining from public records, and joining to the “public” internet.  This guy would probably have made a shit ton more money if he focused on something other than such a sensitive topic as real estate, home purchases, and public records.  Instead he spent his time building a public-records scraper, that then joins to LinkedIn — and that’s it as far as I can tell.  Hopefully he doesn’t pay actual people to make the connections and write the stories… god forbid.

It was a pretty blatant connection as most of these “stories” have a direct link to the person’s LinkedIn profile.  It was very comprehensive as well, listing a current job, prior positions, previous employment and education information – everything that might have been on a LinkedIn profile.

The Catch

Long story short, I don’t like other people joining my public information together for others; that’s what I do to you when you piss me off – It’s an art.

After scouring through consumer complaints and stories of how to get it removed I found nothing concrete.  Then it dawned on me: They have NO right to assume that the same named person on LinkedIn was the same named person that bought the house! I work with data all day long, so I felt accomplished figuring this out: I call it an “erroneous join”.

Continue reading

Posted in Rant, Social Media, Write a Letter | Leave a comment

ADD NEW COLUMN TO GOOGLE SPREADSHEET

Yes, ALL CAPS, here is EXACTLY what I want to do:

Add new column to google spreadsheet using java api

Maybe now that term will be google-able? As with everything handy, it’s impossible to find what you need in the documentation, or on the broader internets. The fun part about google spreadsheets via the API is that its a lot like Amazon SimpleDB, since your “row” schema will be as large as your widest row. Because the only objects you have to work with are “List Feeds” (rows) and “Cell Feeds” (cells) there isn’t much of a concept of “Columns”, except in the ListFeed as the entry.getCustomElements().getTags() collection.

Bottom line, all I wanted was to see if a column existed or not, and if not, add it to the sheet. I haven’t seen any way to do it while in the ListFeed, so its apparent it has to be done from the CellFeed. You’ll have to do some ListFeed-ing, then add it in the CellFeed, then you can go back to your ListFeed and hopefully access your new column.

This post has the solution:
http://stackoverflow.com/questions/4348610/how-do-i-create-the-first-line-in-a-new-google-spreadsheet-using-the-api

As the only useable google result from “Add a column”, its about adding columns to a blank sheet – also very useable and solved my problem. So, that should fix the Google searching for them. On to my problem:

I have:

  • 4 mandatory/default columns in my sheet to start
  • a configurable amount of additional “template” columns I want to populate.

I want:

  • Update data in my additional columns on a regular basis using the data in the 4 initial columns.
  • To take my configurable list of additional columns and compare it to the columns that currently exist:
    • Check each time for my additional columns when I start updating
    • Add the additional columns if they dont exist

Continue reading

Posted in Code, Java, Note To Self | Leave a comment

OLAP: Make XML your bitch.

The bread and butter at work is all the magic that happens in OLAP, Microsoft Analysis Services in particular. Alot of people assume OLAP is going the way of the Buffalo, they probably also like buzzwords such as “nosql”, “bigdata”. I won’t argue that OLAP has a pretty high barrier to entry, as well as limited resources compared to a lot of other data technologies. And, you probably shouldn’t paint yourself into a corner with it and/or put all your eggs in one basket. I say shouldn’t because its pretty hard to avoid in BI solutions, and most places probably end up like us – asking the question of “how do I turn this into a cube?”.

My main complaint is that people often treat OLAP, especially SSAS as a giant “black box”. If it’s not in/done/accessible in the (Visual Studio) solution then its a dead end… It only takes a second to realize every solution file is XML, and that every item in a Cube or OLAP db can be expressed in XML (from management studio) -> turns out the XML for objects in the solution is about the same as when looked at in the deployed cube/olap db. What does this mean? VS is just a giant XML editor… Not that we’re surprised.

I was forced to learn this via necessity, mostly for the need to integrate Microsoft Analysis Services into an open source ETL tool. First it was just figuring out simple processing and synching, then into dynamic cube modification. Basically, I made XML(A) my bitch to get it done. I had to rely on the ascmd.exe command line utility that was part of the Developer Toolkit as a huge crutch, but I didn’t have to use SSIS anymore. Maybe I’ll go into more detail some day, when someone else cares.

The holy grail for shops tied to SSAS is integrating or decoupling as much as possible from the MS stack, into open source technology. All while maintaining the sweet XMLA/MDX support for things like ADOMD etc…

In some recent play projects at work we’ve used SQLite as a DB, and I began searching for possible open source OLAP projects that would allow me to build a “cube” on it. I found Cubulus:
http://cubulus.sourceforge.net/
http://sourceforge.net/projects/cubulus/
It’s pretty cool, built in Python, but its built with a drill-down UI tied right on top of the MDX parser. Probably the best starting point, but there’s still a lot of fun left to try and open it up to parse XMLA requests.

Obviously for enterprise-scale items there’s Mondrian, which everyone seems pretty shy of so far.
http://mondrian.pentaho.com/

However, CHECK THIS GNAR OUT (Xmla4js):
http://wiki.pentaho.com/display/COM/January+13,+2010+-+Roland+Bouman+-+OLAP+and+Analysis+for+web+applications+using+XMLA

It’s a javascript library for XMLA. Do I need to say more? I haven’t looked into it very far yet, but how could it NOT be badass.

Posted in Code, Note To Self, Rant | Leave a comment

Neighborhood Blogs: helicopter sightings

Have you found your local neighborhood blog yet?  They’re all the rage, informative, community-oriented, and often quite amusing.  One of the frequent “hot topics” is:

WTF Just flew over my house!?

Pretty much any low-flying object (including exotic birds) will warrant FULL coverage on your local blog.  I decided to scientifically collect some data on the keywords “loud” and “helicopter” specifically.  (using google site: specific search):

West Seattle Blog (412)(1,250) http://goo.gl/GqNPT

[edit]WS Blog’s Twitter thingy inflated results due to the mention in the Roosiehood tweet about the ‘copters… Advanced search to the rescue, still winners by a longshot[/edit]

My Ballard (67) http://goo.gl/XRx39

Capitol Hill (29) http://goo.gl/fM1Yy

Roosiehood (2): http://goo.gl/f7ZHI

No big surprise there, West Seattleites take the cake…  I wondered about this after a late-night ‘hood flyover of some millitary choppers. Thanks to the Twitter @RavennaBlog via Roosiehood, of course there was a morning follow up…

http://www.roosiehood.com/2011/05/31/ask-roosiehood-what-were-those-loud-helicopters-over-roosevelt-tonight/

And I think the Ravenna Blog deserves a special shout out for what I would deem proper “Social Media Hierarchy Waterfall” implementation.  They know the difference between what deserves an entire blog post vs what “belongs” on Twitter…

Posted in Blogs, Rant, Social Media, Twitter | Tagged , , , , , , | 1 Comment

Cross Domain Ajax – loading data outside your domain via Javascript “AJAX Monster”

I always figured I invented this technique way back in 2005, oh I was so clever…  So when  I saw how people were making real-time Twitter widgets in 2009 I was rightfully very angry that they stole my idea.

Today, it is no secret, and probably wasn’t back then either.  But it’s an awesome hack-y trick to build wall-less client-side applications.  This post describes the different ways you can try to accomplish getting cross-domain data into your site via the client: http://snook.ca/archives/javascript/cross_domain_aj .  Look, he wrote that in 2006, so obviously I still invented it, and fortunately its still relevant.  The example he links to is vague, and doesn’t really expose the actual practice

[edit] I did some post-post googling, found more examples, this one specific to jQuery: http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide .  God knows thats what everyone uses since we’re all just big jQuery sluts.

Continue reading

Posted in Code, Javascript, Web Development | Tagged , , , | Leave a comment

Internet house in order… slowly

Public facing, possibly updated, site for me is back.
Got tired of:

  • Running my own development server
  • Janky wordpress installs on Windows Shared Hosting
  • The thought of having to create mutliple WordPress installs for each of my possible internet properties…

So I:

Next:

  • Figure out broadcast/syndication across WP Multi-site (thought thats what I was getting!) (plugins to the rescue)
  • Make more blogs
  • All kinds of Twitter integration
  • Get $$$

Posted in Uncategorized | Leave a comment