RSS
 

Shirikisha

03 Sep

Following my heart felt attempt to revive my interest in writing, and having felt over and over again that the tyranny of 140 characters makes perfect sense and that some tools complement instead of replacing each other, I’m going to talk about a project I’ve had for quite a while, that has sort of been neglected in it’s marketing and “commercial” aspect because, in all honesty, choices about time occupation and allocation needed to be made and I decided to get some code done instead of marketing it :) .

Mind you, this is not to be confused with a real, professional product page, I’ll get around to doing that, but this is my introduction of Shirikisha to the world, nothing more ;)

A bit of history

Shirikisha began as a project called CIARIS for the ILO/STEP programme, where the goal began as a rework for a simple static document based website, and as talks progressed the scope also grew to an online social platform with cooperative tools namely public profiles, blogs, Workspaces – an analogy for a set of tools made available to a group of people within a context – and a Library where publicly available documents where displayed.

The work began in 2006 with myself, Beverly Trayner and Pedro Custódio, we later had the pleasure to work with David Bluestein, Rory Carter brought business experience to the team, Luis Cavaco helped on the Design front, Carla Alcobia has been with us from the beginning testing the application and administering it for STEP  and Josien Kapma and Nancy White helped us test and brainstorm.

In 2007 we launched the beta version and later, after a test period, we opened up the CIARIS site. After the launch and initial development, we had further runs with STEP and with a few outside partners where we added and improved on the platform . At this point we negotiated and got the rights to the application itself and there, Shirkisha was born.

So, why Shirikisha?

The goal for Shirikisha was to provide a set of tools – for a wide and multilingual public – that would enable both individuals and groups. As with all naming that comes after a product is made, we took a while and searched the far reaches of the Internet to find a name, until we came across a Swahili dictionary on The Kamusi Project and as we went through it we found a single word that encompassed brilliantly both the meaning and the mood we wanted to set with the project, the word was Shirikisha and here are its meanings:

  • incorporate
  • allow to participate
  • cause to participate
  • make a member of a society
  • give someone a share in something
  • coordinate

Unquestionably we had found our name, we had our Shirikisha :)

Ok, what does it do then?

When we designed the tool that would later become Shirikisha, our main focus was to provide a platform for individuals do come together, under a certain context provided by the organization who “owned” the tool, and develop documents, projects, meetings, etc. These individuals would have their own identity and the platform should facilitate the meeting of equal minded people, finally since the workspaces – who are not necessarily public or visible -  could use the platform to produce written content, the creation of a curated display of such documents was also created in the form of a “Library”.

So, the platform allows an organization to have a publicly available website, with a simple content management system, people can sign up, fill their profile – which can be customized by the Organization in respects to certain fields that it should have – look up other profiles, create a personal Blog – this comes under the need to provide and empower certain individuals, but it’s quite simple and not mandatory – , search the Library for  community created and published documents and most of all, create Workspaces to develop their own work.

The Workspaces provide a set of tools for groups to communicate, organize themselves and create content/documents under the privacy of the workspace. A workspace blog is provided as a public tool, so the group can communicate with the world as a way to provide updates on the work in progress. The content produced by the workspace can later be published to the curated organization Library – following metadata input and approval by the organization administrators.

In summary, as beyond my possibly not so clear text ;) , the feature list for Shirikisha is following:

  • Site wide simple Content management System
  • Platform signup with custom profiles and optional approval system
    • Individual control over visibility of profile fields (Private, Friends only, Public)
    • A “people directory” to help people find .. well , people :)
    • An optional Personal blog
    • Messaging system between platform users
    • Notification system for almost every aspect of the web site, with a choice of Email updates or RSS feed (public and “private”)
  • Workspaces
    • Creation of visible or invisible Workspaces
    • Public Blog
    • Calendar with Event input
    • Threaded Discussion Forums
    • Multiple threaded Wikis (with PDF export capabilities)
    • File repository
  • Library for content produced on the Workspaces

A business?

Well, yes, we created what we think of as a very complete, awesome (pardon my bias :) ) tool that we would love to continue to grow and see what our tool can make for people. Consider this a Request for Comments, we would love to hear from you, how you feel and what your thoughts are in regards to Shirikisha, we want to harvest a few smaller projects, individuals, commercial or ONG’s. I don’t want this approach to be considered a beta test, or a trial run, we have quite a long road with CIARIS and a few others, but we do want to go slow and personal before evaluating and opening up to everyone, so big or small (in size or in budget), don’t be shy and talk to us :)

You can contact me here, via the comments or by my Shirikisha Email : dramalho[at]shirikisha[dot]com  , in the mean time, check out the CIARIS site whether to take a look at Shirikisha or if you have an interest in Social Inclusion and want to join the Community :)

  • Share/Bookmark
 

links for 2010-09-02

02 Sep
  • On Time.is you can:

    * Find out what the exact time is right now at any of 7 million locations around the world
    * Check the accuracy of your clock
    * Compare time at different locations

    You will also find:

    * Sunrise and sunset times
    * Information about which time zone a location belongs to
    * Information about today's holidays and observances
    * Latitudes and longitudes
    * Integrated, full screen Google Maps
    * Population numbers
    * Key information about every country in the world

  • Share/Bookmark
 

PHotoImporter Script

02 Sep

Like all people who own a Digital Camera and thus have gagilions of pictures from possibly several machines/ mobile phones / etc (webcams? Your absolute best Chatrollete face? :) ), I like to keep the whole thing organized on the filesystem . To facilitate this, I’ve written a very simple script that goes through a directory (say your memory card filled with pictures) reads the files and their EXIF information and then plants them on another directory (say your external hard drive?) with a date structure, followed by Camera brand and Camera Model (keeping the original name).

./2010-08-22/Canon/Canon EOS 10D

A directory example

I’ve had this for a long time but only now did I get around to put it up on GitHub, should it be useful to anyone (or for public shame) :) . It uses the Exifer Library to read the Exif information and all you need to run it is PHP (CLI) installed (You can probably get away with PHP4 – if you absolutely must) , it has the bare minimum of parameters and doesn’t allow for much customization without changing the code, but if I’m putting it out there, I’m also making myself available for changes that might suit your need :)

You can Download it from GitHub and use it like this:

php PHotoImporter.php
**********************************************************************
** Script that organizes photo files acording to their EXIF tags
**
** -h --help            Help screen
** -r --recursive        Searches sub-directories for image files
** -s --source        Source path
** -d --destination    Destination Path
**
** Author : David Ramalho <dramalho [at] gmail [dot] com>
**
**********************************************************************
  • Share/Bookmark
 

A recipe for Timelapse Photography

31 Aug

Timelapse photography has always fascinated me, you have but to drop by Vimeo or Youtube and be blessed with impressive videos – I would mostly stick to Vimeo from the looks of the Youtube results ;) . Now, some cameras offer some type of timelapse settings, but from what I’ve seen (on a few cameras, I’m hardly a man with a deep knowledge of the market) they offer limited frame counts with not so short intervals (minutes, instead of seconds), so for a while I wasn’t very tempted or motivated to try and timelapse myself, but recently I actually found a good mix of software that not only revived my interest in timelapse, but empowered me and made an old camera come to life and be useful again :)

So , onwards to my simple recipe for Timelapse videos :)

Ingredients:

Digital camera + tripod

So, I’m a SLR fan and I admit, I tried to timelapse with my old Canon 300D but as the 99 Error Code of Unknown Death started to flash more and more often, I tried it once, and aborted at the though of the old and battered shutter simply dying for a simple test. Now, luck would have it that I was cleaning my closet and I found my old Canon Powershot S70, that for some reason (at the time) went bad and seemed to be non-working – it was taking terribly dark pictures, and no, it wasn’t me being silly .

I took it, charged the battery, found a USB cable, plugged it in and with the help of Mister Ingredient #2 .. BOOM :) it worked like a charm, and at least it’s one shutter I don’t have to worry much about :)

gPhoto

I had some computer troubles, a 3 year old Windows XP installation not filled with Spyware and Viruses, but certainly filled with a lot of other things developers tend to accumulate :) , and I felt the need to change and jumped onto the Ubuntu bandwagon – a post for later perhaps :) – with great success and personal joy.

A result of that jump was that I stumbled into gphoto -  yes, I admit it, apt-get ease of install actually makes me find new stuff more easily. Now, gPhoto is a “set of digital camera software applications for Unix-like systems” that supports more than 1300 cameras, and while this may sound vague, a quick look over the manual – or command line help – shone a light on me, a light in the form of “–capture-image” and “interval:)

So what basically happens is, I could now hook up a Camera via the USB port, call up gPhoto2 and tell him to capture images forever (or with a limit of frames) within a timeinterval that it will try to keep as long as the camera helps :) .

We have control, we get our computer taking care of our camera and telling it to take pictures from time to time, with settings that we control, but we’ll just have a bunch of images, so we need something else

FFMPEG

Now, as luck would have it I was in the middle of a project that involved video encoding and a fair amount of FFMPEG, so I knew this would be my non-professional tool last piece of the puzzle, as we can take a bunch of images and tell FFMPEG to make a movie out of them.

The project I was doing needed to encode files using VP8, so if you want that, please, visit this tutorial on how to get FFMPEG correctly installed, It Just Works ™ and you’ll be WebM’ing in no time

Preparation

The settings change according to what your needs, camera capabilities and type of scene, I’ll give you a general run down of the commands and pipeline I have, I’ll show you some examples but after that, please, let us discuss :)

So, take your Digital Camera, put it on a tripod (you won’t be holding it perfectly still for hours, now will you?), connect it to your PC (or Mac if that’s your fancy) and get a terminal open for …

gphoto2 --capture-image --interval 15

This will tell gphoto2 to initialize the camera and get it cracking pictures every 15 seconds. 15 seconds incidentally is no random number, for my Powershot, it’s the fastest I can go while taking pictures with enough quality for a Full HD movie export (1920×1200) , if I want more I need to go onto lower resolutions.

I’ll leave the camera up for a while, usually for as long as the battery lasts ;) , but the math is sort of easy to do, if you want a 30 fps movie, you need to take 30 pictures for each second of video. If, for instance you want a full minute that would mean 1800 pictures, at a 15 seconds interval that would mean ……………….. 7 hours and 30 minutes of picture taking :) , how cool is that? :)

So, next up, I download the pictures to my computer, put them in a directory and prepare them for FFMPEG. Now, this would be the time to mess around with the pictures, maybe resize them or crop them (FFMPEG can do that for you), but more importantly adjust Brightness, Contrast, Saturation, perhaps mess around with Levels, but keep in mind that you’ll probably want something that can be run against a batch of pictures so, don’t overdo it :)

Ok, preparing the files for FFMPEG means getting them with a sequential naming scheme so FFMPEG can cycle and encode them into a movie file. For this I use a bit of bash scripting that I found online (sorry, no reference :( ) and that looks like this

x=1; for i in *JPG; do counter=$(printf %04d $x); ln "$i" ./tmp/img"$counter".jpg; x=$(($x+1)); done

What this does is go through all files that have “JPG” inside a directory (my camera saves files with a capital JPG extension, but feel free to adjust this to your settings) and create a link inside a folder (tmp) with four digits (change this accordingly – %04d) . By the end of this, we have a nice little directory with 0001.jpg all the way to xxxx.jpg in sequential order for mister FFMPEG.

So, having this, all I need to do is tell FFMPEG to grab the files and pack them into a video file, a hd1080 WebM encoded file :) with the following command:

ffmpeg -f image2 -i img%04d.jpg -s hd1080 -r 24 output.webm

This takes a while, but by the end of it – assuming you had no errors breaking the process – you’ll have your very own Full HD – VP8 video ready to Youtube uploading :) .. or whatever you do with video files :)

Some Examples

I’ll leave you with three initial attempts, none particularly brilliant, I was furious about trying this out and I hardly remember the settings but it will give you an idea, and if you look at the kitchen one, you’ll see that different types of scenes require different settings, in that case the interval was too long (but I remember using 15s for it, so it needs to be much faster) for anything useful to come out.For city or outside scenes, I think doing it by night adds an interesting and much appreciated effect, slow exposure, you’ll get light streaks that make the scenes more fluid, in the day scenes it’s easy to spot objects jumping around.

Final thoughts

All of this is a first attempt at things, I think the pipeline is ok, but I think that either by using professional software or by adding something to the mix, we can generate some in-between frames to both enrich the movie but also make it longer and have a better control of the timelapse rate.

I hope this can be useful in anyway to you, I know all these factors combined motivated and empowered me to experiment with timelapse, and I wanted to share it, but it’s only one way, and I’m sure there are countless, so if you know other techniques or have more ingredients to add to the mix, please please please, let’s talk about it :D

  • Share/Bookmark
 
 

Foreword to a new cycle

30 Aug

I’ve been going through a lot of personal life phases lately, for a long long time, in fact, I’m writing this post on the first vacation time I had for some 5 years – I’ve been to the Algarve, but I did my 10h work day either way, so that’s hardly … anything. My kid is almost 5 and we’re having a second one in late November (a second boy, boy oh boy :) ), I’ve had an incredibly – if such a word is adequate -  busy and roller-coaster type of life and yet I have little to show for, if you don’t take into to account the problems and challenges I had to (and still) face and this has also reflected itself on my online presence .

I’ve grown anxious, I hid myself for a while (outside of the problem scope, in that regard I believe in a in-your-face approach), depended and looked for low depth interactions on quick mediums – Twitter is my absolutely favorite and more “prolific” online presence, I neglected my blog, trying to feed it by purely online presence and activity (and having the occasional debacle with certain Lifestream + Twitter plugins) instead of taking care of it myself and it shows, both on the blog and on my attitude.

I want to tell my tale, and I will eventually talk about it, but I’m still in the middle of it and it’s the sort of thing that “entrepreneurs” sometimes go through – completely outside the glamor, fame and fortune that you might take for granted . Despite my shyness and silent mood, a few close – and not so close – friends recognized the general situation and helped me and my family in whatever ways they could, I am a richer person for having them and to them I’m grateful.

The fact that I’m back here now and that I start to acknowledge these … character and life problems is part of a roadmap I’m trying to build and follow, my life from 2007 to 2009 have been almost 100% based on problems, large scale non-health-but-scary-as-such ones, and while they are not entirely resolved, they have been addressed and put into a more manageable state, so now is the time for me to take care of myself and pick up the pieces again .. and at 31 :) – no longer will I be able to be a young millionaire like the Ad said :) but I’ll keep at it, if anything because I absolutely love what I do and because I absolutely love life :) – even if only know I’m acknowledging it.

  • Share/Bookmark
 
 

"There is to be no sexual congress. - That means talking about it, doesn’t it?(…) -…"

26 Aug
“There is to be no sexual congress. - That means talking about it, doesn’t it?(…) - No,that’s oral sex(…) - No, that’s listening to it”

- Terry Pratchett - Unseen Academicals
 

"Countries do not exist where I am from. The discovery of the Higgs boson led to limitless power, the…"

26 Aug
“Countries do not exist where I am from. The discovery of the Higgs boson led to limitless power, the elimination of poverty and Kit-Kats for everyone. It is a communist chocolate hellhole and I’m here to stop it ever happening.”

- http://crave.cnet.co.uk/gadgets/man-arrested-at-large-hadron-collider-claims-hes-from-the-future-49305387/#ixzz0xhh1od5C
 

links for 2010-08-25

25 Aug
  • About Hipmunk
    We make it faster and easier to find the flight you want.
    Most flight search sites haven't changed in years. They have an intimidating search page and endless pages of flight results. Finding the right flight often takes all afternoon—or all week.
    At Hipmunk, we make your experience a lot better. We're building better interfaces for searching, browsing, and filtering your flight search results.
  • Share/Bookmark
 
 

"-“Got anything to drink?” - “Water” - “l’ll drink water when…"

24 Aug

-“Got anything to drink?”

- “Water”

- “l’ll drink water when fish climb out of it to take a piss, but thank you all the same”



- Terry Pratchett - Unseen Academicals
 

links for 2010-08-21

21 Aug
  • Urbi is an innovative, simple to use, yet powerful universal software platform for robotics.

    It includes a C++ distributed component architecture, a parallel and event-driven script language for orchestration, and many modules and interfaces to other platforms or components.

    It is already compatible with many robots, including Nao, Aibo, Segway RMP, Spykee or Lego Mindstorm, and the number is growing!

  • Share/Bookmark