Social networking archived articles

Subscribe to the RSS feed for this category only

Identity management and Knowledge management and Social networking and Technology and The Web09 Jul 2011 at 2:21 by Jean-Marc Liotier

I have not read any reviews of Google Plus, so you’ll get my raw impressions starting after fifteen minutes of use – I guess that whatever they are worth, they bring more value than risking paraphrasing other people’s impressions after having been influenced by their prose.

First, a minor annoyance : stop asking me to join the chat. I don’t join messaging silos – if it is not open, I’m not participating. You asked, I declined – now you insist after every login and I find that impolite.

First task I set upon : set up information streams in and out of Google Plus. A few moments later it appears that this one will remain on the todo list for a while : there is not even an RSS feed with the public items… Hello ? Is that nostalgia for the nineties ? What good is an information processing tool that won’t let me aggregate, curate, remix and share ? Is this AOL envy ?

Then I move on toward some contacts management. I find the Circles interface is pretty bad. For starters, selecting multiple contacts and editing their Circles memberships wholesale is not possible – the pattern of editing the properties of multiple items is simple enough to be present and appreciated in most decent file managers (for editing permissions)… Sure it can be added later as it is not a structural feature, but still : for now much tedium ensues. Likewise, much time would be saved by letting users copy and paste contacts between circles. But all that is minor ergonomic nitpicking compared to other problems…

No hashtags, no groups… How am I supposed to discover people ? Where is the serendipity ? Instead of “Google Circles” this should be named “Google Cliques”. In its haste to satisfy the privacy obsessed, it seems that Google has forgotten that the first function of social networking software is to enable social behaviour… It seems that the features are focused on the anti-social instead. I can understand the absence of hashtags – spam is a major unresolved issue… But groups ? See Friendfeed to understand how powerful they can be – and they are in no way incompatible with the Circles model. It seems that selective sharing is what Google Plus is mostly about – public interaction and collaboration feels like an afterthought. This will please the reclusive, but it does not fit my needs.

Worse, the Circles feature only segments the population – it does nothing to organize shared interests : I may carefully select cyclists to put into my ‘cyclists’ Circle, but when I read the stream for that circle I’ll see pictures of their pets too. This does not help knowledge management in any way – it is merely about people management.

Finally Google is still stuck with Facebook, Twitter & al. in the silo era – the spirits of well known dinosaurs still haunt those lands. Why don’t they get on with the times and let users syndicate streams across service boundaries using open protocols such as Ostatus which an increasing number of social networking tools use to interoperate ? Google may be part of the technological vanguard of information services at massive scales, but cloning the worst features of competing services is the acme of backwardness.

Of course, this is a first release – not even fully open to subscription yet, so many features will be added and refined. But rough edges are not the reason of my dissatisfaction with Google Plus : what irks me most is the silo mentality and the very concept of Circles as the fundamental object for interaction management – no amount of polish will change the nature of a service built on those precepts.

I’ll keep an account on Google Plus for monitoring purposes, but for now and until major changes happen, that’s clearly not where I’ll be seeking intelligent life.

Military and Politics and Social networking03 Feb 2011 at 19:03 by Jean-Marc Liotier

In troubled times and under pressure from a government with powerful social networking analysis capabilities, the mere preliminary act of searching for co-conspirators and linking with them carries a lot of risk. Care in maintaining a anonymity reduces that risk, but the proper use of secure online communication tools is cumbersome, their use itself hints at subversive activity and the anonymous procurement of devices and mobile telephony accounts is yet another drag on the enthusiastic would-be clandestine operator.

In summary, proper risk mitigation techniques are beyond the casual level acceptable for fomenting mass action. As a result, frustrated citizens rising up fall back on existing social networks that were not designed for that purpose. The use of family relationships is the archetypal example though a dangerous one: even  if your government does not emulate Stalin by deporting your entire family after suspecting a single member, it makes tracing very easy using genealogy software as was the case during the USian occupation of Iraq. What is needed is an organization which is more distributed and capable of achieving critical mass fast.

This week, Algeria’s Football Federation has called off a planned friendly with neighbours Tunisia under the rather difficult to believe pretext that “the only two stadiums capable of hosting the match are both unavailable”. The real reason is actually the wave of massive protests that is currently rocking the Middle East. But what does football have to do with it ?

Paul Woodward reports an interview by the prominent Egyptian blogger Alaa Abd El Fattah on Al Jazeera in which he made the interesting observation that the uprising’s most effective organizational strength comes from a quarter that has been ignored by most of the media: soccer fans known as ultras :

“The ultras — the football fan associations — have played a more significant role than any political group on the ground at this moment,” Alaa said. “Maybe we should get the ultras to rule the country,” he joked.

Cited by Paul Woodward, James M. Dorsey, an expert on soccer in the Middle East, writes:

Established in 2007, the ultras—modelled on Italy’s autonomous, often violent fan clubs—have proven their mettle in confrontations with the Egyptian police, who charge that criminals and terrorists populate their ranks.

“There is no competition in politics, so competition moved to the soccer pitch. We do what we have to do against the rules and regulations when we think they are wrong,” said an El Ahly ultra last year after his group overran a police barricade trying to prevent it from bringing flares, fireworks and banners into the stadium. “You don’t change things in Egypt talking about politics. We’re not political, the government knows that and has to deal with us,” he adds.

The involvement of organized soccer fans in Egypt’s anti-government protests constitutes every Arab government’s worst nightmare. Soccer, alongside Islam, offers a rare platform in the Middle East, a region populated by authoritarian regimes that control all public spaces, for the venting of pent-up anger and frustration.

This has not escaped Libya either, as this Google Translation excerpt of an Al Jazeera article mentioned by Zero Hedge attests : among other measures that are part of the state of emergency and security alert imposed since the outbreak of the revolution in Tunisia, the Libyan government abolished the league matches of Libyan Football Association which was to be organized during the following month.

When political organizations are crushed and political life driven underground and dispersed, only apolitical organizations remain – and they end up being politically involved because in the end, everything is political.

Mobile computing and Networking & telecommunications and Social networking and Technology30 Sep 2010 at 11:04 by Jean-Marc Liotier

Stumbling upon a months old article by my friend George’s blog expressing his idea of local social networking, I started thinking about Bluetooth again – I’m glad that he made that resurface.

Social networking has been in the air for about as long as Bluetooth exists. The fact that it can be used for reaching out to local people has not escaped obnoxious marketers nor have the frustrated Saudi youth taken long to innovate their way to sex in the midst of the hypocritical Mutaween.

Barely slower than the horny Saudi, SmallPlanet CrowdSurfer attempted to use Bluetooth to discover the proximity of friends, but it apparently did not survive: nowadays none of the likes of Brightkite, Gowalla, Foursquare or Loopt takes advantage of this technology – they all rely on the user checking-in manually. I automated the process for Brightkite – but still it is less efficient than local discovery and Bluetooth is not hampered by an indoor location.

People like George and me think about that from time to time, and researchers put some thought into it too – so it is all the more surprising that there are no mass-scale deployments taking advantage of it. I found OlderSibling but I doubt that it has a large user base and its assumed spying-oriented use-cases are quite off-putting. Georges mentioned Bliptrack, a system for the passive measurement of traffic, but it is not a social networking application. I registered with Aki-Aki but then found that it is only available on Apple Iphone – which I don’t use. I attempted registration with MobyLuck but I’m still waiting for their confirmation SMS… Both MobyLuck and Aki-Aki do not seem very insistent on increasing their user population.

Nevertheless I quite like the idea of MobyLuck and Aki-Aki and I wonder why they have not managed to produce any significant buzz – don’t people want local social networking ?

With indoor navigation looking like the next big thing already rising well above the horizon, I’m pretty sure that there will be a renewed interest in using Blueetooth for social networking – but why did it take so long ?

Code and Mobile computing and Social networking and The Web01 Sep 2010 at 13:58 by Jean-Marc Liotier

Twenty two days ago, my periodically running script ceased to produce any check-ins on Brightkite. A quick look at the output showed that the format of the returned place object had changed. Had I used proper XML parsing, that would not have been a problem – but I’m using homely grep, sed and awk… Not robust code in any way, especially when dealing with XML. At least you get a nice illustration of why defensive programming with proper tools is good for you.

So here is a new update of latitude2brightkite.sh – a script that checks-in your Google Latitude position to Brightkite using the Brightkite API and the Google Public Location Badge. Description of the whole contraption may be found in the initial announcement.

The changes are :

% diff latitude2brightkite_old.sh latitude2brightkite.sh
69,70c69,70
< id=`wget -qO- "http://brightkite.com/places/search.xml?q=$latitude%2C$longitude" | grep "<id>" | sed s/\ \ \<id\>// | sed s/\<\\\/id\>//`
< place=`wget -qO- "http://brightkite.com/places/search.xml?q=$latitude%2C$longitude" | grep "<name>" | sed s/\ \ \<name\>// | sed s/\<\\\/name\>//`
---
> id=`wget -qO- "http://brightkite.com/places/search.xml?q=$latitude%2C$longitude" | grep "<id>" | sed s/\ \ \<id\>// | sed s/\<\\\/id\>// | tail -n 1`
> place=`wget -qO- "http://brightkite.com/places/search.xml?q=$latitude%2C$longitude" | grep "<name>" | sed s/\ \ \<name\>// | sed s/\<\\\/name\>// | md5sum | awk '{print $1}'`

I know I should use a revision control system… Posting this diff that does not even fit this blog is yet another reminder that a revision control system is not just for “significant” projects – anything should use one and considering how lightweight Git is in comparison to Subversion, there really is no excuse anymore.

Back to the point… To get the place identifier, I now only take the last line of the field – which is all we need. I mdsum the place name – I only need to compare it to the place name at the time of the former invocation, so a mdsum does the job and keeps me from having to deal with accented characters and newlines… Did I mention how hackish this is ?

Anyway… It works for me™ – get the code !

Jabber and Networking & telecommunications and Social networking and Technology12 Apr 2010 at 23:21 by Jean-Marc Liotier

This week-end I noticed Juick, an XMPP-based microblogging system with some nice original features. But Juick is not free and its author does not seem interested in freedom. So who’s gonna save XMPP-based microblogging ?

Enter OneSocialWeb, a free, open and decentralized XMPP-based social networking platform with all the federated goodness one might expect from an XMPP-based system. Sounds good doesn’t it ?

Laurent Eschenauer is a software engineer at Vodafone Group R&D and he is the architect of OneSocialWeb – the team also has Alard Weisscher, Lorena Alvarez and Diana Cheng on board. Today he posted great news about OneSocialWeb at Vodafone’s RndBackyard :

“Two months ago, we introduced you to our onesocialweb project: an opensource project that aims at building a free, open, and decentralized social networks. We explained the idea, we showed what it looked like, and we answered many questions. However it was only a prototype running on our servers, there was no such federated social network.. yet.

Today, we have released the source code and compiled versions of the core components of our architecture. With this, you are now in a position to install your own Openfire server, load our Onesocialweb plugin, and you will immediately be part of the Onesocialweb federation. We also provide you with a command line client to interact with other onesocialweb users.

As you see, we are not releasing the web and android client today. They will require a bit more work and you should expect them in the coming weeks. This means that this first release is mainly targeting developers, providing them with the required tools and documentation to start integrating onesocialweb features in their own clients, servers and applications.

This is a first release, not an end product. Our baby has just learned to walk and we’ll now see if it has some legs. We look forward to keep on growing it with the help of the community. Please have a look at our protocol, try to compile the code, and share your feedback with us on our mailing list. You can also have a look at our roadmap to get a feel for where we are going”.

Laurent only mentions Openfire and the OneSocialWeb plugin for Openfire is the only one currently available for download on OneSocialWeb’s site, but despair not if like me you are rather an ejabberd fan : “Its protocol can be used to turn any XMPP server into a full fledged social network, participating in the onesocialweb federation“. So if everything goes well, you may bet on some ejabberd module development happening soon. And who knows what other XMPP servers will end-up with OneSocialWeb extensions.

There were some news about OpenSocialWeb about two month ago, but that was unlucky timing as the project’s message got lost in the Google Buzz media blitz. Anyway, as Daniel Bo mentions : “Many years of discussion have gone into determining what a federated social network would look like, and the OneSocialWeb doesn’t ignore that work“. Indeed, as the OpenSocialWeb mentions, it “has been built upon the shoulders of other initiatives aiming to open up the web and we have been inspired by the visionaries behind them: activitystrea.ms, portablecontacts, OAuth, OpenSocial, FOAF, XRDS, OpenID and more“. Only good stuff there – an open standard built on top of recognized open standards is an excellent sign.

All that just for microblogging ? Isn’t that a slight overkill ? Did we say this was a microblogging protocol ? No – the purpose of OneSocialWeb is much more ambitious : it is to enable free, open, and decentralized social applications. OneSocialWeb is a platform  :

“The suite of extensions covers all the usual social networking use cases such as user profiles, relationships, activity streams and third party applications. In addition, it provides support for fine grained access control, realtime notification and collaboration”.

Two weeks ago, Laurent attended DroidCon Belgium and he explained how OneSocialWeb will enable developers to create social & real-time mobile applications, without having to worry about the backend developments:

“In my view, this is one of the most exciting element of our project. Beyond the ‘open’ social network element, what we are building is truly the ‘web as a platform’. An open platform making it simple to create new social applications”.

Here are his slides from DroidCon Belgium :

Is it a threat to Status.net ? No : being an open protocol, it can be used by any system willing to interoperate with other OneSocialWeb systems. @evan has expressed interest about that and I would trust him to hedge his bets. OneSocialWeb certainly competes with Status.net’s ambitious Ostatus distributed status updates protocol, but whichever wins will be a victory for all of us – and I would guess that their open nature and their similar use-cases will let them interoperate well. Some will see fragmentation, but I see increased interest that validates the vision of an open decentralized social web.

By the way, if you have paid attention at the beginning of this article, you certainly have noticed that Laurent’s article was posted at Vodafone’s RndBackyard. Yes, you read it right : OneSocialWeb is an initiative of Vodafone Group Research and Development to help taking concrete steps towards an open social web. Now that’s interesting – are big telecommunications operators finally seeing the light and embracing the open instead of fighting it ? Are they trying to challenge web services operators on their own turf ? My take is that this is a direct attack on large social networking operators whose rising concentration of power is felt as a threat by traditional telecommunications operator who have always lived in the fantasy that they somehow own the customer. Whatever it is, it is mightily interesting – and even more so when you consider Vodafone’s attitude :

“We by no means claim to have all the answers and are very much open to suggestions and feedback. Anyone is invited to join us in making the open social web a reality”.

“We consider it important to reality check our protocol with a reference implementation”.

They are humble, they are open and they are not grabbing power from anyone but walled garden operators : this really seems to be about enabling an open decentralized social. I have such a negative bias about large oligopolistic telecommunications operators that I would have a hard time believing it if I had not had my understanding of the rational behind one of them funding this effort against the likes of Facebook… But free software and open protocols are free software and open protocols – wherever they come from !

Daniel (a.k.a. Daeng) Bo
Jabber and Social networking and Technology and The Web09 Apr 2010 at 16:24 by Jean-Marc Liotier

I don’t quite remember how I stumbled upon this page on Nicolas Verite’s French-language blog about instant messaging and open standards, but this is how I found a microblogging system called Juick. Its claim to fame is that it is entirely XMPP based. I had written about Identichat is a Jabber/XMPP interface to Laconi.caStatus.net – but this is something different : not merely providing an interface to a generic microblogging service, it leverages XMPP by building the microblogging service around it.

As Joshua Price discovered Juick almost a year before me, I’m going to recycle his introduction to the service – he paraphrases Juick’s help page anyway :

Juick is a web service that takes XMPP messages and creates a microblog using those messages as entries [..] There’s no registration, no signup, no hassle. You simply send a XMPP message to “juick@juick.com” and it creates a blog based on the username you sent from and begins recording submissions.

  1. Add “juick@juick.com” to your contact list in your Jabber client or GMail.
  2. Prepare whatever message you want juick to record
  3. Send your message

That’s it. Juick will respond immediately telling you the message has been posted, and will provide you with a web address to view your new entry.

The simplicity of an account creation process that sniffs your Jabber vCard is something to behold – I makes any other sign-up process feel ponderous. This poor man’s OpenID Attribute Exchange does the job with several orders of magnitude less complexity.

Almost every interaction with Juick can be performed from the cozy comfort of your favorite XMPP client – including threaded replies which are something that Status.net’s Jabber bot is not yet capable of handling (edit – thanks to Aaron for letting us know that Status.net’s Jabber bot has always been able to do that too). And contrary to every microblogging service that I have known, the presence information is displayed on the web site – take a look at Nÿco’s subscribers for a example.

The drawbacks is that this is a small social network intended for Russophones, and the software is not free. But still, it is an original project whose features may serve as inspiration for others.

For some technical information about Stoyan Zhekov‘s presentation :


Social networking11 Mar 2010 at 11:05 by Jean-Marc Liotier

In a comment to a nostalgic utterance by Louis Gray, I found that Joelle Nebbe (iphigenie) expressed best what happens when participants in online communities move on :

“That’s the problem of online communities – they cannot move. It doesn’t matter how good the community is now, people just wont agree to move to the same place as one… They fragment, people move, new ones form, but large groups just never manage to move as one to a new platform. You get fond memories, and happy surprises when names reappear on another community later”.

The proverbial cat herding is well known to anyone who has had to deal with human change management, but in online communities not bound by any organizational structure the problem is even worse.

Online communities will continue to rise and fall, and with that there will always be fond memories and happy surprises !

Social networking and Technology and The Web10 Feb 2010 at 22:06 by Jean-Marc Liotier

Yesterday, while Google Buzz was still only a rumor, I felt that there was a slight likelyhood that Google’s entry into the microblogging field would support decentralized interoperability using the OpenMicroBlogging protocol pioneered by the Status.net open source micro messaging platform. I was wrong about that, but it was quite a long shot… Speculation is a dirty job, but someone’s got to do it !

I am also surprised that there is no Twitter API, but there is plenty of other protocols on the menu that should keep us quite happy. There is already the Social Graph API, the PubSubHubbub push protocol and of course Atom Syndication and the RSS format – with the MediaRSS extension. But much more interesting is the Google Buzz documentation mention that “Over the next several months Google Buzz will introduce an API for developers, including full/read write support for posts with the Atom Publishing Protocol, rich activity notification with Activity Streams, delegated authorization with OAuth, federated comments and activities with Salmon, distributed profile and contact information with WebFinger, and much, much more“. So with all that available to third parties we may even be able to interact with Google’s content without having to deal with Gmail whose rampant portalization makes me dislike it almost as much as Facebook and Yahoo.

I’m particularly excited about Salmon, a protocol for comments and annotations to swim upstream to original update sources. For now I wonder about the compared utilities of Google Buzz and FriendFeed, but once Salmon is widely implemented it won’t matter where the comments are contributed : they will percolate everywhere and the conversation shall be united again !

Jabber and Rumors and Social networking and Technology and The Web09 Feb 2010 at 12:29 by Jean-Marc Liotier

According to a report from the Wall Street Journal mentioned by ReadWriteWeb, Google might be offering a microblogging service as soon as this week.

When Google opened Google Talk, they opened the service to XMPP/Jabber federation. As a new entrant in a saturated market, opening up is the logical move.

The collaborative messaging field as a whole cannot be considered saturated but, while it is still evolving very fast, the needs of the early adopter segment are now well served by entrenched offers such as Twitter and Facebook. Touching them will require an alternative strategy – and that may lead to opening as a way to offer attractive value to users and service providers alike.

So maybe we can cling on a faint hope that Google’s entry into the microblogging field will support decentralized interoperability using the OpenMicroBlogging protocol pioneered by the Status.net open source micro messaging platform. Shall we take a bet ?

Don’t you love bar talk speculation based on anonymous rumors ?

Marketing and Social networking and The media and The Web15 Dec 2009 at 0:24 by Jean-Marc Liotier

Today I mentioned that 15 years late, I had finally put a name on a past adolescent problem : patellofemoral pain syndrome (PFPS). As far as I understood, it is a growth related muscle unbalance that solves itself when the body reaches maturity.

As usual with most of my microblogging, I dispatch the 140 chars to several sites using Ping.fm and then follow the conversation wherever it eventually happens. In that case, a conversation developed on Facebook. Friends asked questions and gave their two cents – business as usual.

And then an interloper cut in : “Jean-Marc we can help correct your patellfemoral pain syndrome. It is the mal-tracking of your patella. Check us out at mycommercialkneesite.com”. It is not entirely spam at first sight because it is actually on-topic and even slightly informative. But it is not really taking part in the conversation either because it is a blatant plug for an infomercial site. So spam it is, but cleverly targeted at a niche audience.

I does looks like all the blatant plugs that we have been seeing for decades in forums and mailing list – usually for a short time after which the culprit mends is devious ways or ends up banned. But there is an innovative twist brought by the rise of the “real-time web” : the power of keyword filtering applied to the whole microblogging world is the enabler of large-scale conversational marketing. Obnoxious marketers attempting to pass as bona fide contributors to the conversation are no longer a merely local nuisance – they are now reaching us at a global scale and in near real-time.

Marketers barging in whenever someone utters a word that qualifies their niche are gatecrashers and will be treated as such. But I find fascinating that we now have  personalized advertising capable of targeting a niche audience in real-time as the qualifying keywords appear. Not that I like it, but you have to recognize it as a new step in the memetic arms race between advertisers and audience.

Imagine that coupled with voice recognition and some IVR scripting. Do you remember those telephone services where you get free airtime if you listen for advertising breaks ? Imagine the same concept where during the conversation someone – a human, or even a conversational automaton – comes in and says “Hey, you were telling your boyfriend about your headache ? Why don’t you try Schrufanol ? Mention SHMURZ and get the third one free !”.

Even better, add some more intelligent pattern recognition to go beyond keywords. The hopeless student who just told his pal on Schmoogle FreeVoice telling about his fear of failure at exams will immediately receive through Schmoogle AdVoice a special offer for cram school from a salesdrone who knows his name and just checked out his Facebook profile. You think this is the future ? This is probably already happening.

15 years late, I finally put a name on my past adolescent problem : patellofemoral pain syndrome (PFPS) – growth related muscle unbalance.

Jabber and Social networking05 Nov 2009 at 15:02 by Jean-Marc Liotier

On 13th May 2008, Facebook announced ”Right now we’re building a Jabber/XMPP interface for Facebook Chat. In the near future, users will be able to use Jabber/XMPP-based chat applications to connect to Facebook Chat“. The news has been greeted positively in various places everywhere.

A year later, strictly nothing had happened, and that silence has not gone unnoticed. Facebook has not even issued the slightest announcement, except a wishlist bug report comment by Charlie Cheever mentioning that “some people are working on this.  It will probably be done in a few months. Sorry the timeline isn’t more clear“.

But today the people at ProcessOne noticed that preparations for an opening have reached an advanced stage that hint at the imminence of a public XMPP service :

It now seems the launch is close as the XMPP software stack as been deployed on chat.facebook.com, as our bot at IMtrends have found out: chat.facebook.com on IMtrends.

The biggest question that remains is whether federation is on the menu. By federating with Google Talk and the rest of the XMPP world, Facebook has an opportunity to make a huge splash in instant messaging with 300 million users at once and deal a heavy blow to Yahoo and Microsoft. Will the partial ownership of Facebook by Microsoft keep them from interoperating ?

I would love to be able to chat with all those Facebook friends who will never use a chat client that was not pushed by a mass market service provider. So far, Facebook has always chosen the closed way – opening its service to a federation would be a first. I’m eager to see if Facebook can take this golden opportunity to surprise us in a good way.

Code and Design and Knowledge management and Social networking and The Web21 Aug 2009 at 16:01 by Jean-Marc Liotier

LinkedIn’s profile PDF render is a useful service, but its output lacks in aesthetics. I like the HTML render by Jobspice, especially the one using the Green & Simple template – but I prefer hosting my resume on my own site. This is why since 2003 I have been using the XML Résumé Library. It is an XML and XSL based system for marking up, adding metadata to, and formatting résumés and curricula vitae. Conceptually, it is a perfect tool – and some trivial shell scripting provided me with a fully automated toolchain. But the project has been completely quiet since 2004 – and meanwhile we have seen the rise of the hresume microformat, an interesting case of “less is more” – especially compared to the even heavier HR-XML.

Interestingly, both LinkedIn and Jobspice use hresume. A PHP LinkedIn hResume grabber part of a WordPress plugin by Brad Touesnard takes the hresume microformat block from a LinkedIn public profile page and weeds out all the LinkedIn specific chaff. With pure hresume semantic XHTML, you just have to add CSS to obtain a presentable CV. So my plan is now to use LinkedIn as a resume writing aid and a social networking tool, and use hresume microformated output extracted from it to host a nice CSS styled CV on my own site.

Preparing to do that, I went through the “hResume examples in the wild” page of the microformats wiki and selected the favorite styles that I’ll use for inspiration :

Great excuse to play with CSS – and eventually publish an updated CV…

Code and Mobile computing and Social networking and The Web17 Jun 2009 at 11:11 by Jean-Marc Liotier

I just released a new update of latitude2brightkite.sh – a script that checks-in your Google Latitude position to Brightkite using the Brightkite REST API and the Google Public Location Badge.

The changes are :

20090607 – 0.3 – The working directory is now a parameter
20090612 – 0.4 – Only post updates if the _name_ of the location changes, not if only the _internal BK id_ of the place does (contribution by Yves Le Jan <inliner@grabeuh.com>).
20090615 – 0.5 – Perl 5.8.8 compatibility of the JSON coordinate parsing (contribution by Jay Rishel <jay@rishel.org>).

Yves’ idea smooths location sampling noise and makes check-ins much more meaningful.

Thanks to Yves and Jay for their contributions ! Maybe it is time for revision control…

Code and Mobile computing and Social networking and The Web05 Jun 2009 at 21:43 by Jean-Marc Liotier

Tired of waiting for Google to release a proper Latitude API, I went ahead and scribbled latitude2brightkite.sh – a script that checks-in your Google Latitude position to Brightkite using the Brightkite REST API and the Google Public Location Badge. See my seminal post from yesterday for more information about how I cobbled it together.

Since yesterday I cleaned it up a little, but most of all, as promised, I made it more intelligent by having it compare the current position with the last one, in order to check-in with Brightkite only if the Google Latitude position has changed. Not checking-in at each invocation will certainly reduce the number of check-ins by 99% – and I’m sure that Brightkite will be thankful for the lesser load on their HTTP servers…

So grab the code for latitude2brightkite.sh, put it in your crontab and have more fun with Brightkite and Google Latitude !

There is quite a bit of interest for this script – it seems that I have filled a widely felt need.

Code and Mobile computing and Social networking and The Web05 Jun 2009 at 0:51 by Jean-Marc Liotier

Tired of waiting for Google to release a proper Latitude API, I went ahead and scribbled latitude2brightkite.sh – a script that checks-in your Google Latitude position to Brightkite using the Brightkite REST API and the Google Public Location Badge.

This script is an ugly mongrel hack, but that is what you get when an aged script kiddie writes something in a hurry. The right way to do it would be to parse Latitude’s JSON output cleanly using the Perl library. But that dirty prototype took me all of ten minutes to set up while unwinding between meetings, and it now works fine in my crontab.

Apart from Bash, the requirements to run this script are the Perl JSON library (available in Debian as libjson-perl) and Curl.

The main limitation of this script is that your Google Public Location Badge has to be enabled and it has to show the best available location. This means that for this script to work, your location has to be public. The privacy conscious among my readers will surely love it !

This script proves that automatic Google Latitude position check-in in Brightkite can be done, it works for me, and the official Google Latitude API will hopefully soon make it obsolete !

Meanwhile, grab the code for latitude2brightkite.sh, put it in your crontab and have more fun with Brightkite and Google Latitude… To me, this is what both services were missing to become truly usable.

Of course, doing it with “XEP-0080 – User Location” via publish-subscribe (“XEP-0080 – PubSub” would make much more sense than polling an HTTP server all the time, but we are not there yet. Meanwhile this script could be made more intelligent by only checking in with Brightkite if the Google Latitude position has changed. I’ll think about it for the next version…

Code and Debian and Free software and Knowledge management and RSS and Social networking and Systems and Unix18 May 2009 at 12:15 by Jean-Marc Liotier

If you want to skip the making-of story, you can go straight to the laconica2IRC.pl script download. Or in case anyone is interested, here is the why and how…

Some of my best friends are die-hard IRC users that make a point of not touching anything remotely looking like a social networking web site, especially if anyone has ever hinted that it could be tagged as “Web 2.0” (whatever that means). As much as I enjoy hanging out with them in our favorite IRC channel, conversations there are sporadic. Most of the time, that club house increasingly looks like an asynchronous forum for short updates posted infrequently on a synchronous medium… Did I just describe microblogging ? Indeed it is a very similar use case, if not the same. And I don’t want to choose between talking to my close accomplices and opening up to the wider world. So I still want to hang out in IRC for a nice chat from time to time, but while I’m out broadcasting dents I want my paranoid autistic friends to get them too. To satisfy that need, I need to have my IRC voice say my dents on the old boys channel.

The data source could be an OpenMicroblogging endpoint, but being lazy I found a far easier solution : use Laconi.ca‘s Web feeds. Such solution looked easier because there are already heaps of code out there for consuming Web feeds, and it was highly likely that I would find one I could bend into doing my bidding.

To talk on IRC, I had previously had the opportunity to peruse the Net::IRC library with great satisfaction – so it was an obvious choice. In addition, in spite of being quite incompetent with it, I appreciate Perl and I was looking for an excuse to hack something with it.

With knowledge of the input, the output and the technology I wanted to use, I could start implementing. Being lazy and incompetent, I of course turned to Google to provide me with reusable code that would spare me building the script from the ground up. My laziness was of course quick to be rewarded as I found rssbot.pl by Peter Baudis in the public domain. That script fetches a RSS feed and says the new items in an IRC channel. It was very close to what I wanted to do, and it had no exotic dependancies – only Net::IRC library (alias libnet-irc-perl in Debian) and XML::RSS (alias libxml-rss-perl in Debian).

So I set upon hacking this script into the shape I wanted. I added IRC password authentication (courtesy of Net::IRC), I commented out a string sanitation loop which I did not understand and whose presence cause the script to malfunction, I pruned out the Laconi.ca user name and extraneous punctuation to have my IRC user “say” my own Identi.ca entries just as if I was typing them myself, and after a few months of testing I finally added an option for @replies filtering so that my IRC buddies are not annoyed by the noise of remote conversations.

I wanted my own IRC user “say” the output, and that part was very easy because I use the Bip an IRC proxy which supports multiple clients on one IRC server connection. This script was just going to be another client, and that is why I added password authentication. Bip is available in Debian and is very handy : I usually have an IRC client at home, one in the office, occasionally a CGI-IRC, rarely a mobile client and now this script – and to the dwellers of my favorite IRC channel there is no way to tell which one is talking. And whichever client I choose, I never missing anything thanks to logging and replay on login. Screen with a command-line IRC client provides part of this functionality, but the zero maintainance Bip does so much more and is so reliable that one has to wonder if my friends cling to Irssi and Screen out of sheer traditionalism.

All that remained to do was to launch the script in a sane way. To control this sort of simple and permanently executed piece of code and keep it from misbehaving, Daemon is a good way. Available in Debian, Daemon proved its worth when the RSS file went missing during the Identi.ca upgrade and the script crashed everytime it tried to access it for lack of exception catching. Had I simply put it in an infinite loop, it would have hogged significant ressources just by running in circles like a headless chicken. Daemon not only restarted it after each crash, but also killed it after a set number of retries in a set duration – thus preventing any interference with the rest of what runs on our server. Here is the Daemon launch command that I have used :

#!/bin/bash
path=/usr/local/bin/laconica2IRC
daemon -a 16 -L 16 -M 3 -D $path -N -n laconica2IRC_JML -r -O $path/laconica2IRC.log -o $path/laconica2IRC.log $path/laconica2IRC.pl

And that’s it… Less cut and paste from Identi.ca to my favorite IRC channel, and my IRC friends who have not yet adopted microblogging don’t feel left out of my updates anymore. And I can still jump into IRC from time to time for a real time chat. I have the best of both worlds – what more could I ask ?

Sounds good to you ? Grab the laconica2IRC.pl script !

Next Page »