LiveRebel 2.0 is here.

We at ZeroTurnaround are releasing version 2.0 of LiveRebel today!

 

What is LiveRebel about, dude?

LiveRebel 2.0 is an out-of-the-box solution to end slow, inefficient production deployment processes that often happen at 3 AM by overworked operations staff.

With LiveRebel, now every single update is:

  • online
  • transactional
  • 100% reversible
  • fully automated
  • instantaneous in case of minor updates

What does this mean to you?

It means that when something does go wrong, as it inevitably does, there is a panic button to press that will make it all better.

It means that because your application stays online, your updates can be done during the day and businesses don’t have to hide from their customers or lose a cent of revenue.

LiveRebel 2.0 now supports multiple update strategies:

  1. Hotpatching strategy updates the application instance in-memory, without pausing for a moment.
  2. Rolling restart strategy takes each server down at a time for update, but the users don’t notice a thing as they are automatically routed to instance with their session.
  3. Offline update strategy will take all servers down and do a clean restart, the user requests will still resume when servers are up.

How to install it?

Nice walk-through is available here , but it’s simple. Just 3 steps:

  • Download the archive. It comes with 90 day evaluation license.
  •  Unzip it
  •  Run the command center

Here’s is a very short video, that shows the install process:

 

More info and screenshots?

Click on the image to see more.
screenshot

Read More

Troll as a marketing asset?

/The Troll Dad/

I was inspired by Lydia‘s talk during FOSDEM to share some thoughts about using trolls as a marketing asset.

Define

I am sure you know what is a Troll, but anyhow there it is, directly from UD:

A dumbass who makes idiotic posts in message boards newsgroups for the sole purpose of pissing people off, often lacking in intelligence. Sometimes compared to people who pass you by on the sidewalk then grab you in inappropriate places.

More “official” definition, can be found here at Wikipedia.

 

Trolls in action

I know couple of companies that are feeding the trolls, yes they have special policy and people to do that.

The reason is quite simple:

  • More trolls
  • More “discussions”
  • More page views,
  • More banner views,
  • More money in company’s pocket.

 

Trolls & flame-wars

I know some companies that are publishing flame-war blog posts to attract more trolls why?

  • More trolls = more content
  • More content ==  more developers to fight for their positions
  • More developers == more leads
  • More leads == More sales
  • More sales == More money in company’s pocket.

 

That’s it.

Read More

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.

Read More

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

(more…)

Read More

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.

Read More

Open Source GeoServer now coding Java at light-speed using JRebel for free.

Quite a while ago we decided to give free JRebel licenses to valuable F(L)OSS projects.

GeoServer is one of them:

 

GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.

Being a community-driven project, GeoServer is developed, tested, and supported by a diverse group of individuals and organizations from around the world.

GeoServer is the reference implementation of the Open Geospatial Consortium (OGC) Web Feature Service (WFS) and Web Coverage Service (WCS) standards, as well as a high performance certified compliant Web Map Service (WMS). GeoServer forms a core component of the Geospatial Web.

If you’re working in Java and you have redeploys, here’s a solution for you – Click here to download 1 month trial or see the features from here

Read More

Testing Zemanta addon for Firefox, while using it :)

I just discovered a great plugin, called Zemanta. The miracle it does is helping you a lot with your content creation while creating a blog post.

What to do?
0. Install the Zemanta plugin from Firefox repo.
1. Open your wordpress blog and start writing something. Let’s say about SOPA and how dangerous it is for the freedom in general.
2. You will see some cool link suggestions to include into your post, what I did.

 

3 Also you will notice the new Zemanta block next to your writing area containing images and news similar to the topic you are writing for.

 

 

4. You can add your own Blog to Zemanta via ‘My sources’ menu and to use it as an source and you can link it with easy. You can add other sources as well.

Cons:
- You must using your ‘Visual’ (a.k.a WYSIWYG) mode to compose message. Otherwise Zemanta will not work at all. This is a problem for me, but I may switch back.

- It’s not working well if you have couple of topics, like the current one. I am talking about Zemanta and SOPA. The content for SOPA is missing
- it actually sends parts of my content somewhere via Internet to be analysed and this may be a security issue for business bloggers.

Read More

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…

Read More

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!


Read More