About

mFabrik Blog is about mobile and web software development, open source and Linux. We tell exciting tales where business, technology, web and mobile convergence.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Sauna Sprint day #2 Monday: The recon team arrives the destination (photos)

Go to Picasa album!

Get developers  Subscribe mFabrik blog in a reader Follow me on Twitter

Sauna Sprint day 1: Sunday (technical & motivational)

Now it has begun: Sauna Sprint 2011 – an open source event in Finland for Plone & Python hackers and EESTEC students.

The first day of Sauna Sprint was spent introducing new EESTEC people to Plone. Almost everyone got Ubuntu installed, there was a short crash course for IRC and then we started installing Plone.

We had a bunch of EESTEC students as a test subject and our goal was to map obstacles in the process of installing Plone for local computer for development. We got some interesting results.

The data was collected on whiteboard where everyone was free to express any problem he or she had during the installation. The advisors also monitored the user group for possible problems and made notes.

Aperture Science test subjects installing Plone in hope they’ll get a cake if they success


Good job, but the cake was a lie.

Plone is #%!!”€&! difficult, but we can fix it

The comments below are collected from the whiteboard.

Don’t make assumptions in the documentation – people are tabula rasa (i.e. how to use cd command and so on)

Documentation needed to install gcc, PIL dependencies etc. on OS level

No good instructions how to set-up Python with virtualenv (was being fixed in the sprint). Buildout actually does not work with the system Python out of the box: you need to break your OS http://stackoverflow.com/questions/5818100/buildout-tries-to-update-system-wide-distribute-installation-and-refuses-to-run

People try to run buildout by “cd bin ; ./buildout” – it does not work and the error message is confusing

Unified Installer – ZEO installation is broken (need clarification what was broken)

Detect Python version in buildout and don’t try to run on incompatible version

When creating first Plone site input field has label “Path identifier” – people try to enter Plone FS path there

README.txt in Unified Installer needs updates

ZopeSkel template plone4_buildout should autodetect the latest Plone version (now was 4.0.1)

Update the out of the box Plone installation front page to contain more developer friendly instructions too

plone.org/downloads: Show add-on version compatibility as the first item on the page – if now compatibility set warn that the compatibility is unknown (same kind of warning if no updates for one year)

Have an easy way to report broken packages

Force a process to improve add-on documentation in p.org, especially regarding installation. Only 1/5 themes was successfully installed by the test personel without guidance, mostly due to lack of instructions and version incompatibilities.

Some work in progress on PiratePad regarding the installation of Plone.

Evening program

We had Sauna time in Hervanta, student style. EESTEC lived up to their reputation as party animals.

Delicious pizza was baked, though the audience loudly disagree when the pizza was burnt enough to be eaten

Magic Toni Sause

 

 

Get developers  Subscribe mFabrik blog in a reader Follow me on Twitter

One-liner to copy remote MySQL database to local computer

The following commands dump a MySQL database from a remote server and create a corresponding database on the local computer.

The instructions have been tested on OSX and Linux (Ubuntu/Debian). On-line SSH compression is applied, so transferring SQL files, which are text content and compress well, should be around 6x faster than normal.

(Well… actually the script is six lines, but because this is my blog I’ll decide it doesn’t count)

The script

  • Remotely runs mysqldump and puts the result to a local file
  • Creates a MySQL database and corresponding user with full access to this database
  • Reads the content of mysqldump to the newly created database
 ssh user@dserver.com -C -o CompressionLevel=9 mysqldump -u YOURDATABASEUSER --password=YOURDATABASEPASSWORD --skip-lock-tables --add-drop-table YOURDATABASENAME > YOURDATABASENAME.sql
mysql -uroot -p
create database YOURDATABASENAME;
connect YOURDATABASENAME;
source YOURDATABASENAME.sql
GRANT ALL ON YOURDATABASENAME.* TO 'YOURDATABASEUSER'@'localhost' identified by 'YOURDATABASEPASSWORD';

Leave out create database and GRANT for the subsequent runs – all data on the local computer will be replaced.

Get developers  Subscribe mFabrik blog in a reader Follow me on Twitter

Using GitHub with Eclipse (to update collective.developermanual)

Notes to self how to checkout and update Github projects with Eclipse EGit plug-in.

Delete the project if you have already the same project (collective.developermanual) imported Eclipse some other way.

Create a Github account (if you don’t have one) and put your SSH public key in the account settings.

Configure Eclipse to use your private Github SSH key in Settings -> General -> Network connections -> SSH2. Eclipse also offers a SSH key generation wizard.

Import collective.developermanual from GitHub using File -> Import -> Git and then use Clone button (not Add). collective.developermanual URL is git@github.com:collective/collective.developermanual.git Change protocol to SSH.

Click next next next until you see the project in your Eclipse workspace. Note that EGit puts projects to your home folder, not workspace (slight argh in this point).

Edit some files.

Right click the project to commit.

Then you can right-click to push. This is the tricky part. The dialogue looks like a USS Aircraft Carrier deck control panel. What you need to do is to

  • In Source ref drop down choose master [branch]
  • In Destination ref drop down choose master [branch]
  • Press Add spec button
  • Press Next
  • Press Finish

Then it pops up some dialogs which mean that the push was succesful.  Just keep clicking Ok to every window as you won’t understand them in any case.

 

 

Get developers  Subscribe mFabrik blog in a reader Follow me on Twitter