I would like to share with you my session that I have performed on multiple events: DrupalCon Munich 2012, UA Mobile 2012, Drupal Camp Kyiv 2012, Drupal Camp Lviv 2012, Drupal Cafe Donetsk #1.
Here is a video from DrupalCon Munich 2012 (English, with Fabian):
In one on my previous posts I wrote how to configure Drupal development environment in Ubuntu, in this post I am going to talk about performance on your localhost (PAE, APC and MySQL tuning). There is also another blog post about Tuning Drupal Performance for production which is a bit different thing.
My old laptop was broken last days so I quickly found a cheap replacement, which had a bit different insides: two AMD cores VS four Intell i3 cores and 4GB vs 3GB. I decided to try Linux Mint, which is said is better then Ubuntu. IMO for LAMP stack the name of the Linux distribution is not so important, because they are all working good now :) But you should decide which version of one to chose: 32 bit or 64 bit. In this post I found out that 64 bit Linux is better for development, but it could be not good enough for some applications, which could fail running on 64 bit Linux.
Memory utilization for 32 bit Linux
I decided to chose 32 bit version of Mint. But the first thing I noticed was 2.6GB of RAM was only available. That looked very weird and that was one of disadvantage of 32 bit system. When I was running full LAMP stack + IDE + Skype I saw almost almost all memory was used and some disk space were taken for swap. Fortunately good people wrote Physical Address Extension (PAE) which could be installed with the following command:
$ sudo apt-get install linux-generic-pae linux-headers-generic-pae
That worked good and then System Monitor showed 3.5 GB of RAM. Still not 4, but it could be a unit conversion issue. I am glad that swap is not being used and system is working faster now.
Configuring Alternative PHP Cache
A bit later I cloned a big project and I saw how hardly my machine was trying to handle requests, which used to slow down the system. So the way out was to install APC. Alternative PHP Cache is a free, open source framework that optimizes PHP intermediate code and caches data and compiled code from the PHP bytecode compiler in shared memory. In Mint or Ubuntu it could be installed with following command:
In this blog post I will answer on the questions above and demonstrate you simple mobile web application that allows to view and save textual posts. There is a Python backend, that stores information in the MongoDB and communicates with a front end using REST approach. Front end is built with the Backbone.js and jQueryMobile.
How often do you use dpm() function from Devel module? I guess, you are using it often, when you writing your own PHP code.
If you have ever printed a view object using dpm() function, you might know how difficult is to find anything in such big and recursive accordion.
I would like to show you one of the must-to-use module, called Search Krumo, which allows you to find a text in a Krumo accordion, printed by dpm() function.
After you entered the text to find, you can select, which Krumo object to use, and click the Submit button. Then you will get Krumo expanded with a highlighted text entries.
I held two sessions there. First one was about making Drupal distribution and second one was named "Open Source and You", which was presented by Yuriy Gerasimov and me together. We got much positive feedback right after this session, so I am pleased to show you the slides and hope it will help you to make first steps in the Open Source.
On 25-27th of November in Donetsk (Ukraine) there was DrupalCamp, an international event related to the content management system Drupal. The event gathered more the 170 people from Ukraine, Russia and Belarus. Venues of the DrupalCamp were conference-halls of Shachtar Plaza и Ramada hotels. While the conference there were 20 sessions, 5 BoFs, code-sprint and a party. Elloria rock band performed some Drupal songs, rock covers and their own themes. Slides and videos from the event will appear on the DrupalCamp website soon: http://donetsk.drupal.ua/.
There is no secret that in Facebook we have very useful feature to post messages in a group. And so many interesting discussions have been started there. But many of us often use Twitter, and would like to have same functionality there.
The solution is really simple.
- Group is an twitter account.
- User can follow group or add it into a list.
Entry into a group
- To add new user into a group, group should follow that user.
- Group can automatically follow back people who follow it.
In this post I am going to make a few notes about how reliability of Distributed Hash Table (DHT) can be improved. Distributed Hash Table is a decentralized peer-to-peer system that provides lookup service in the similar way how regular hash table does. One of the popular implementation of DHT is file sharing used in BitTorrent Protocol, it allows to download files without use of the tracker.
Let's take a quick look on how DHT Pastry works. All other DHT tables have similar implementation with a few differences. The main concepts are:
- Each data object has a unique identifier (key) which is calculated as hash of it's content.
- All keys belongs to 160 bit circular key space.
- Files are stored on a multiples nodes (equal PCs).
- Each node have random unique identifier in the same key space.
- Data object is stored on the working node which id is closest to the data object key. Special routing function is used to find such node.
- Once data object has been pushed it could not be deleted from the DHT.
- Replica function transforms key to another key, that could be used to store copy of data object.
I was very excited about attending DrupalCamp Kyiv 2011. It was awesomeness and the most fantastic Drupal event that I have ever visited in Eastern Europe. It had the same Drupal spirit as one was on DrupalCon Copenhagen 2010. Most of the slides were in English. Interesting sessions were performed by guys who worked in Belgium company Inuits, which was sponsoring students to attend this event.
I was visiting sessions about Services, MongoDB, Git, Varnish, participated in the small talk with Yuri Gerasimov about future of Menu Token module and performed two sessions. First one was about Best practices for cross-browser compatibility of Drupal website, which I prepared for DrupalCon Chicago 2011 and the second one was about OpenAcaDept – Drupal distribution for building academic departmental websites.
I was very happy to meet and to drink beer with some well known guys in Ukrainian community. They had made great contributions to d.o and at that time were seating in front of each other and having fun. I also liked talking to Michel and Safeen from MadCap.