How to control HTML5 slides with your hands via webcam

I had an idea to show kind of human computer interaction during my Fosdem talk. I may not use that, because I will not have time to polish it, but it works quite well if you want to use it.

The Idea
The idea is to control slides only by moving my hand, without any devices in it.

The plan:
0. My web-cam should detect my move
1. After detection an event should be triggered
2. As a final action the slide should move to the next one :)

Motion detect

$ git clone https://github.com/sackmotion/motion.git
$ cd motion
$ ./configure
$ make & make install

Configure it

Motion comes with a great almost working config file, so just copy it to make it “official”:

$ cp  /usr/local/etc/motion-dist.conf /usr/local/etc/motion-dist.conf

Open it, search for those values, edit them and read what are they for:

;on_event_start value
event_gap 60

to become:

on_event_start xdotool key Right /OR xdotool search "Mozilla Firefox" windowactivate --sync key --clearmodifiers Right/
event_gap 1

Event triggering

You may need to install xdotool using your package manager. This tool allows you to emulate keyboard action in different combinations, but I will need to emulate pressing the right arrow key.

How it works:

When web-cam detects movement an event emulating ‘right arrow’ key is pressed. Since I am using HTML5 DZslides from here, this allows me to move to next slide only with moving my hand in front of my webcam.

Run

Run it and move your hand in front of your camera. You may want to turn on the logging to see the motion detection and the event detection if it’s not working at first.

$ motion

If you have any questions, please let me know.

I am Wikileak’ed

A friend of mine just show me a info about my efforts to establish Pirate Party in Bulgaria published on Wikileaks:

(SBU) A Bulgarian Green Party leader and two other Bulgarian
activists have started a petition to establish a Bulgarian “Pirate
Party” which advocates for free downloading of copyrighted materials
among other things. Under Bulgarian law, 5,000 signatures are
required for a political party to be formally established. Given
the fact that Bulgaria’s Green Party has generally attracted less
than one percent of the vote in national and EU elections, it is
unlikely that the fledgling Pirate Party would surpass the four
percent voting threshold needed to win a seat in Parliament.
Nonetheless, if this new party begins to win support from the
general public, IPR enforcement and legislation could face political
obstacles in Parliament in the future.

P.S Bulgarian Green Party leader == me :)
Source

Rust Language – Hello World

What is RUST?

Rust is an experimental, concurrent, multi-paradigm, compiled programming language developed by Mozilla Labs. It is designed to be practical, supporting pure-functional, concurrent-actor, imperative-procedural, and object-oriented styles. /wikipedia/

How to install it on your Gnu/Linux box?
Pre-requirements:

  • g++ 4.4 or clang++ 3.x
  • python 2.6 or later
  • perl 5.0 or later
  • gnu make 3.81 or later
  • curl

Continue…

Fosdem protocol for Mozilla Firefox (fosdem:about)

I just uploaded for approval an Add-on that defines FOSDEM protocol.

What is FOSDEM?

FOSDEM is a two-day event organized by volunteers to promote the widespread use of Free and Open Source software.

Protocol?

This Add-on:

  • defines FOSDEM protocol  (see bellow)
  • it’s showcase how to create your own protocol for Mozilla Firefox

Supported commands:

fosdem:about – learn more about the event
fosdem:venue – learn more about the venue and transportation
fosdem:schedule – see the latest schedule
fosdem:2003 to fosdem:2011 – see the archive
fosdem:2012 – see the info about the 2012 event

Notice

If you are fan of Fosdem and Firefox – please install it (click on the link) to have fun and to help me develop it more.

A special “Thank you” goes to Mike Kaply and Wladimir Palant

See you at Fosdem in 2 weeks.

Bug tracking month for Bulgarian web L18n

We’ve started a campaign to make our locale better. More than 500 000 Bulgarian every day using localized content from Mozilla and we think they deserve a better quality. We cannot afford to pay big numbers as Google does for localization, but for every confirmed bug  you will get a @mozilla.bg email address and maybe something else, if the bug is very nasty one :)))

If you read/understand Bulgarian, Join our effort now., if not, why don’t you start similar action for your own locale – we can help you with some advices.

Bulgarian Mozilla community Rocks!

P.S If you will go to FOSDEM, feel free to attend my talk about communities and to eat some Belgian chocolate at the same time.

 

(Mozilla) Communities – Agile approach, tools, patterns and metrics.

I will be talking about that at FOSDEM in Mozilla’s room. (*)

Abstract:
We’re living in hard times right now. Most of the F(L)OSS projects suffers from lack of volunteers especially if they must donate a large amount of time to this project. My talk will show how you can plan better your community how to measure it, how to use tips and tricks from the commercial world and how to use some agile methods and tools to make you community kick-ass squad.

  1. How to plan your community for next couple of months; (ex. We need 3 more people to join our translation effort) and Create the Flow – how a bug report goes from bugzilla to the  the end of it’s life. (a.k.a kill the bug)
  2. Define how to do it (ex. Troll the forums, create twitter campaign, contact universities, or something else?)
  3. How to Measure it (How many retweets do you have, how many clicks, etc) and Why?
  4. How to find patterns into your community and how to use them. For example – Most of the answers I receive to my mailing comes during business hours OR Friday is not a good day to send emails
  5. What is Agile and how to use it to make my community life easier? ( Trello show-case )

(*) room U.218A (next to Chavanne)

Feel free  stop by, eat some belgian chocolate (provided by me) and listen to my thoughts and share yours.

P.S If you still don’t have place to stay during the FOSDEM, take a look on my blogpost here.

FOSDEM 2012 – hotels and useful info.

If you are going to Fosdem 2012, here is some useful hotel info.

  • Hotels near to Grand Place and to the Delirium Cafe (yes, the party is there). This location is near to all sights and it’s good idea to stay here instead near to the FOSDEM venue;
  • Cheapest hotels in Brussels.
  • Hotels near to the ULB – the venue
  • The nearest hostel to the Venue is Hostel Brussels Louise (Price is about 19E/person/day)

 

Personally I can recommend CitaDines apartments, because there is a small kitchen included into the price and you can make a dinner or breakfast. If you are more than 2 people, they can offer you a really great offer and it’s near to the bus stop for FOSDEM bus.

 

FOSDEM

FOSDEM is a free and non-commercial event organized by the community for the community. The goal is to provide Free Software and Open Source developers and communities a place to meet to:

  • + Get in touch with other developers and projects;
  • + Be informed about the latest developments in the Free Software and Open Source world;
  • + Attend interesting talks and presentations held in large conference rooms by Free Software and Open Source project leaders and committers on various topics;
  • + To promote the development and the benefits of Free Software and Open Source solutions.
  • + and to SHARE knowledge with each other

Sharing the knowledge and ideas is the most valuable think you can get during FOSDEM and it’s free. There is no excuse not to be there.

If you are worried about anything, just feel free to ask me and I will help you, especially if this will be your first visit. If you are living for Free software NOR Open Source – you must be there.

(cc) Image is under CC lisense by bertogg

How the Suits should assign tasks to Geeks

Not unlike the great zebras and lions of the wild, the “Suits” (Marketing, Sales, Creative) and “Geeks” (Dev, Ops, Infra) in an IT company often face misunderstandings. When highly-technical and less-technical employees in a fast-growing tech shop like ZeroTurnaround need to accomplish something jointly, good communication is clearly necessary, but it’s not a one-sided thing.

There is a symbiotic relationship at play; the Suits are at least partly responsible for propagating the Geeks’ natural habitat so that we can all work together in peace and take home a salary. The Geeks make the product and tell the Suits why it’s good. The Suits then turn this into revenue and we all have jobs. Yay!

So how does it work in a distributed work environment, where most direct communication occurs over Skype? In a company where people are working in different offices in different continents, communication becomes naturally less efficient. While technology has been responsible for making a successful distributed work environment possible, I’m continually noticing that, like anti-virus software, solutions to communication struggles are always a few steps behind the next emerging challenges.

Read this true story here and feel free to add comments.

JRebel and OSGi: Use the right tool for the right job

Often when discussing OSGi at events, conferences or forums, we hear things like, “Yeah, I like JRebel but now we are using OSGi”, or “Does JRebel support OSGi”, or “Isn’t OSGi the same as JRebel?”. Sometimes it happens that people start comparing OSGi to JRebel, which is kind of like comparing a Ferrari to a Skyscaper; thus, this article is designed to a) explain the differences on a technical level what JRebel and OSGi do, b) outline some ideal use cases for OSGi and JRebel c) clear up any grey areas or misconceptions between the two technologies. So, let’s go!

What is JRebel and what is OSGi?

JRebel is an anything-Java plugin that speeds up JVM-based development (Java, Scala, Groovy) by reloading changes made in your workspace into a running JVM, without restarts or redeploys, maintaining the state of the application while you’re coding.
In plain speech: When developers use JRebel, they see their code changes instantly without restarting anything, keeping their flow and maintaining state; JRebel supports various IDEs, app servers and over 40 Java frameworks.
OSGi is a module system and a dynamic runtime where modules (also called bundles) can come and go, but your code has to conform to the requirements of the module system — it is perhaps the only widely used framework for the JVM that enforces real modularity.
In plain speech: OSGi projects are inherently more modular than plain Java projects, as long as you follow the rules — for example, to use classes from another module, that module needs to declare that it exports the packages containing those classes.
Bottom line: JRebel is a productivity enhancer for anything Java, while OSGi is at its core a rather strict module system.

Read more…

Is Google Chrome next IE

I was trying to find an application to use Google Docs offline.

I don’t like to use 3th party services for my documents and I want the control to be in my hands, but the company I work for uses GDocs for some of the projects.

So, I am browsing to find a way to do that and I found it, but … surprise! it’s working ONLY on Google Chrome and Only after installing an application.

Wtf? (no it’s not where is the food :))

Is the next step to use Chrome when I browse on Google.com or when I access the Internet?

Is Google  becoming the next Microsoft-like “I want it all” company.? Of course!

The good news is there is always an alternative to closed web companies – Mozilla.

Put some Agile into your community

Finding a way to stimulate/encourage your community to do stuff can be a very difficult task.  I will show you an Agile-like approach to do that and actually it works pretty well, but remember:

Don’t try to control your community, try to manage it.

Create the infrastructure

  • Get an account in Trello.
  • Define your basic iteration period. Let say 2 weeks.
  • Define tasks.

Don’t try to find people who want to contribute.

“What? Are you serious?”

Hell yeah. Try to create tasks first. Put anything you think can be doable in the next 2 weeks (This is your main task).

You can start from “we need someone to tweet using our account” , “we need a new wiki” or something more interesting like “we need someone to be responsible for beer giveaways”

Ready?

Invite

Ok, now invite ALL community members to create an account and to look at the task.

Let them:

  1. Vote for the tasks.  See how community see the importance of the tasks.
  2. Add themselves to a task. It’s a common mistake project manager/leader/the big boss to assign someone to a task. Don’t do that!

Teams

Now you can see which people are willing to work together on a certain task and you can create a new board for them.

Let say you have a task website on the main board:

And there are 10 people that want to contribute to it. Move them to another board and let them create tasks, with a simple workflow:

Todos > Working on > Done:

Meetings

If you have well working community or some kind of core contributors, you can start every iteration with a meeting and to define all the tasks together.

Why?

  • This approach will help you a lot to do things faster. Remember define only tasks that can be done in 2 weeks (or 3 weeks). It’s much easier to create a simple skeleton of your website with most, most important functionalities (like who we are and join us) than to plan and create whole website in 2 months.
  • Step by step
  • Build a community and respect your community member’s skills.
  • Invite anyone to join and to help. It’s kind of easy to find someone to write a post in a forum or to contact a media representative, because this takes 3-4 minutes.
  • Get things done!


Velocity Conference @Berlin.

Velocity Conference is an that is in my check list since …forever.
This year the event comes to Europe and unfortunately I will not be able to attend, because I have another event scheduled at the almost same time.

If you’re web person this event is a must attend event :)

Velocity Europe is the convergence of performance and site reliability experts and rock stars who share the unique experience that can only be gained by operating at scale. Velocity gives you two days of critical training, best practices, and case studies from the web ops and performance ecosystem, about how you can make your site scalable, reliable, and fast.

Discount
I’ve got 19.99% discount code and can share it with you if you write me to shopov.bogomil@gmail.com