Skip to main content
 

My continuing adventures in MongoDB

I've been loving coding with MongoDB since I picked it up; I know there are worries, and I come into it with two eyes open, but so far it's been far more useful for my needs than MySQL.

Part of the reason for this is that applications I work on tend to be very document-centric, and where they're relational, they're relational in a way that lends itself very well to NoSQL (membership lists, etc). It's probably not an exaggeration to say that I'm querying the database 10x less than I would be with an Elgg-style entity-metadata-relationships table.

idno is MongoDB-based, including heavy use of GridFS, whereas the latakoo stack is not (I don't think this is the right place to write about latakoo's tech, but I may do on the official blog at some point). However, if my experiences continue to be great, I'll think about doing some more formal testing with the team. With the likes of IBM throwing their weight behind MongoDB (given their recent acquisition of SoftLayer, could 10gen be a target too?), this might be the right time to begin taking it more seriously.

· Posts · Share this post

 

· Statuses · Share this post

 

Huge congrats to cousin <a href="http://sarahdessen.com/">@sarahdessen</a> on her latest book, <a href="http://www.usatoday.com/story/life/books/2013/06/03/sarah-dessen-the-moon-and-more/2384789/">The Moon and More</a>, which she discussed on GMA this morning: http://gma.yahoo.com/video/bestselling-author-gma-super-fan-190943037.html

· Statuses · Share this post

 

Why the Obama Administration's stand against patent trolls should make a difference: http://www.groklaw.net/article.php?story=2013060413141463

· Statuses · Share this post

 

The state of professional video is the worst of computing: lots of vendors competing to lock in their customers. Pleased to be able to help.

· Statuses · Share this post

 

Paxman grills Scoble about Google Glass on Newsnight. Beautiful: http://www.bbc.co.uk/news/technology-22770908

· Statuses · Share this post

 

#indieweb checkins; trying to decide the best approach

Map readersI've been self-publishing my photos and status updates for less than a week, but I already wouldn't do it another way. Idno lets me post easily from my phone or laptop, and the updates show up on the sites I'm connected to. Right now, that means Twitter and Facebook, but sites like Flickr and LinkedIn are coming. (This is all available as open source code, by the way.)

Technical aside: when I post something new, it gets an Activity Streams object type and verb. Status updates are notes, blog posts are articles, and photos are images. Plugins then listen for when new, public content is created with those object types (and, right now, the "post" verb) , and syncs them to third-party sites as appropriate. That way someone else could write a better status update plugin than mine, and nobody would have to rewrite the plugins that synchronize content.

The other silo that I use all the time is Foursquare. Theoretically, taking the user's location isn't hard - did I mention I'd written a book on Javascript Geolocation? - but in reality, this is harder than just grabbing the user's current latitude and longitude and saving it to an Activity Streams place object. Foursquare maintains an extensive database of venues, that's so good that a bunch of third party services use it as well. I don't really want to have to duplicate that.

There are alternatives: OpenStreetMap has a downloadable free software database of locations. The downside is that you need to extract points of interest yourself - and the database, perhaps predictably, is over 28 gigabytes. That's far too much data for most individual sites to be handling themselves. It's certainly not something I'd like to deal with on my personal server.

For me, the perfect use case is this: I click "check in" in idno, the browser grabs my location, I'm presented with a list of nearby points of interest and I select one. The content is saved locally and then synchronized to location-centric services like Foursquare and Facebook Places.

Now, I could use Foursquare's database to populate that list of locations, but somehow that feels unclean. The purpose of me self-hosting is to own my own data, and using that database would make me dependent on Foursquare's service. Also, the flip-side of that also makes me uncomfortable: if my purpose is to put less value into Foursquare's service instead of my own site, I probably shouldn't be using the database they put so much investment into.

I'm not sure anyone else is syndicating their location to sites like Foursquare from their own sites, but if they are, I'd love to hear from them. Until then, I'm considering writing the simplest possible shim: a geolocation plugin that takes my physical location and lets me save a "hint" along with it, that will act as a way to gently nudge the third party synchronization plugins to pick the best venue. The hint wouldn't be publicly displayed, but for example, I could type "amendment" when checking into one of my favorite brewpubs in San Francisco, and that'd be enough for me to be checked into 21st Amendment on Foursquare.

Speaking of which, time to head over the bay and grab a pint ... Sadly, I won't be checking in just yet.

· Posts · Share this post

 

"You sold me to an old man, father. May God destroy your home, I was your daughter." Poetry of Afghan women: http://www.poetryfoundation.org/media/landays.html

· Statuses · Share this post

 

Difference between a terrible dentist and a great dentist in this town: zero wait and a two month lead time.

· Statuses · Share this post

 

<a href="https://twitter.com/philip_roberts/status/341641320416284673">@philip_roberts</a> I found <a href="http://lift.do">@liftapp</a> great for creating positive habits. Seems simple but really worked for me.

· Statuses · Share this post

 

Startups Anonymous is a support group for founders and employees of failing startups. http://www.startupsanonymo.us/

· Statuses · Share this post

 

<a href="https://twitter.com/brettprofitt/status/341609886251102210">@brettprofitt</a> Code completion is huge. So much so that when it doesn't work (eg namespaced functions in PhpStorm) it makes coding feel like a slog. Agree.

· Statuses · Share this post

 

<a href="https://twitter.com/brettprofitt/status/341609026834006016">@brettprofitt</a> I think you might be in a position to add those in ... also, if memory serves, don't they exist in addition to the magic ones?

· Statuses · Share this post

 

Uh oh. My friend <a href="https://twitter.com/bitoclass">@bitoclass</a>'s excellent sponsored Tube map - http://www.falu.nl/sillymaps/geoff-files/sillymaps/sponsors.pdf - could soon be a reality: http://www.bbc.co.uk/news/uk-england-london-22745677

· Statuses · Share this post

 
Untitled

· Photos · Share this post

 

I'm looking forward to the big reveal where it turns out that Soylent was made of people all along: http://io9.com/could-soylent-really-replace-all-of-the-food-in-your-di-510890007

· Statuses · Share this post

 

Lung transplant patients can't eat unpasteurized dairy products. Having a really hard time finding non-live yogurt. Any brand suggestions?

· Statuses · Share this post

 

First bed

First bed

A milestone.

· Photos · Share this post

 

Farewell, Matt, we hardly knew you. Who do we think will be the next Doctor? Idris Elba? Ben Daniels? Jenna Louise-Coleman? ;)

· Statuses · Share this post

 

The banality of "don't be evil", by Julian Assange: http://mobile.nytimes.com/2013/06/02/opinion/sunday/the-banality-of-googles-dont-be-evil.html This is an ideological challenge that we must get right.

· Statuses · Share this post

 
Untitled

The Cheese Board Pizza Collective is pure Berkeley and I love it.

· Photos · Share this post

 

· Posts · Share this post

 

<a href="https://twitter.com/mheadd/status/340896167040802816">@mheadd</a> Stuff like this gives PHP a bad name (sadly). The $_POST search is no better: https://github.com/search?q=extension%3Aphp+mysql_query+%24_POST&type=Code&ref=searchresults

· Statuses · Share this post

 

When I lived in the UK I could send money from one bank account to another, instantly, no matter which bank. Here they mail a check. Insane.

· Statuses · Share this post

 

Fairphone is a fairtrade smartphone. http://www.fairphone.com/ A really worthwhile experiment, at the very least.

· Statuses · Share this post

Email me: ben@werd.io

Signal me: benwerd.01

Werd I/O © Ben Werdmuller. The text (without images) of this site is licensed under CC BY-NC-SA 4.0.