model = MyModel()
model.order('-__key__') # descending sort
Friday, September 10, 2010
Sort by the key
Sunday, September 5, 2010
Monday, August 16, 2010
Play WMV, MP3 and other restricted formats in Ubuntu
Some audio and video formats are not included into Ubuntu by default. And to enable them in your system you must do it by your own.
Fix mouse clicks in Flash-player in Ubuntu
export GDK_NATIVE_WINDOWS=1so, the content in this file become
#!/bin/sh TARGET_OS=linux TARGET_ARCH=i386 export GDK_NATIVE_WINDOWS=1 . /usr/lib/nspluginwrapper/noarch/npviewerRestart browser and that's all.
Thursday, July 22, 2010
Restore grub2 after Windows installation
See "man sudo_root" for details.
ubuntu@ubuntu:~$ sudo fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x14311431 Device Boot Start End Blocks Id System /dev/sda1 * 1 29089 233657361 7 HPFS/NTFS /dev/sda2 29090 32129 24418800 83 Linux /dev/sda3 60304 60801 4000185 82 Linux swap / Solaris /dev/sda4 32130 60303 226307655 83 Linux Partition table entries are not in disk order ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt/ /dev/sdaInstallation finished. No error reported.
Tuesday, May 18, 2010
Checkbox select all jQuery plugin for a table
/*
* File: jquery.checkboxselection.js
*
* Plugin to create checkbox in the table
* It needs table has correct structure (at least with head and body) and
* there are checkboxs in row's first cell both in header in body
*/
(function($) {
$.fn.checkboxSelection = function() {
return this.each(function() {
var table = this;
var headCheckbox = $('thead th:first :checkbox', table).click(function() {
$('tbody tr', table).find('td:first :checkbox').attr('checked', this.checked);
})
var checkSelection = function() {
var trs = $('tbody tr', table).find('td:first');
headCheckbox.attr('checked', trs.find('input:checked').length == trs.find(':checkbox').length);
}
$('tbody tr', this).find('td:first :checkbox').click(checkSelection);
checkSelection();
});
}
})(jQuery);
HTML:<table>
<thead>
<tr>
<th><input type="checkbox"></th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="a[1]"></td>
<td>John Smith</td>
</tr>
<tr>
<td><input type="checkbox" name="a[2]"></td>
<td>Jack Daniels</td>
</tr>
</tbody>
</table>
Using:$('table').checkboxSelection();
Wednesday, April 28, 2010
How to limit joined records in MySQL
The solution is:
SELECT parent.*,
c1.*
FROM parent
JOIN child c1
ON c1.parent_id = parent.id
LEFT JOIN child c2
ON c2.parent_id = c1.parent_id AND c2.sort < c1.sort -- field to determine the order (maybe whatever you want)
GROUP BY parent.id,
parent.name,
c1.id,
c1.name
HAVING COUNT(c2.id) < 1 -- limitation of joined records
ORDER BY parent.name, c1.name;
I found it there.
Saturday, April 3, 2010
ATI driver problems after upgrading Ubuntu 9.10 to 10.04
apt-get remove xorg-driver-fglrx fglrx fglrx-amdcccle dpkg-divert --remove /usr/lib/xorg/modules/extensions/libdri.so dpkg-divert --remove /usr/lib/xorg/modules/extensions/libglx.so apt-get install fglrx
I thank Jean-Baptiste Lallement for help!
Monday, March 8, 2010
Check class
var hasClass = function(element,className) {
return (function() {
var classes = element.className.split(' ');
for(var i in classes) {
if(classes[i] == className) {
return true;
}
}
return false;
})();
}
Tuesday, March 2, 2010
CSS attribute selectors
[rel=value] — attribute equals to value
<h1 rel="value">Attribute Equals</h1>
h1[rel=value] { color: red; }
[rel*=value] — attribute contains value anywhere
<h1 rel="xxxvaluexxx">Attribute Contains</h1>
h1[rel*=value] { color: red; }
[rel^=value] — attribute starts with value
<h1 rel="value-link yep">Attribute Begins</h1>
h1[rel^=value] { color: red; }
[rel$=value] — attribute ends with value
<h1 rel="friend value">Attribute Ends</h1>
h1[rel$=value] { color: red; }
[rel~=value] — attribute contains value in space-delimited list
<h1 rel="friend value sandwich">Attribute Space Separated</h1>
h1[rel~=value] { color: red; }
[rel|=value] — attribute contains value in dash-delimited list
<h1 rel="friend-value-sandwich">Attribute Dash Separated</h1>
h1[rel|=value] { color: red; }
Table checkboxes selection
(function() {
// checkboxes in the table
var cbs = document.getElementsByName('checkboxes');
// header checkbox
var all = document.getElementById('header_checkbox');
all.onclick = function() {
for(var i=0;i<cbs.length;i++) {
cbs[i].checked = this.checked;
}
}
var cbClick = function() {
all.checked = (function() {
for(var i=0;i<cbs.length;i++) {
if(cbs[i].checked != true) {
return false;
}
}
return true;
})();
}
for(var i=0;i<cbs.length;i++) {
cbs[i].addEventListener('click', cbClick, true);
}
})();
Monday, February 22, 2010
Universal archive unpacking tool
### Handy Extract Program
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via >extract<" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
Поместить в ~/.bashrc или profileoriginal
Thursday, February 4, 2010
Setting up a network adapter alias
sudo ifconfig eth0:[0-254] 192.168.1.2 up.Instead of
eth0 you can use any of existing interfaces