Home
Boroda place
Заметки программиста

Boroda aka Hamster
Date: 2010-03-06 17:17
Subject: Ken Burns Effekt
Security: Public
Tags:development, javascript, tech

Я не очень люблю элементы флэш на страницах с информацией, однако спокойный ролик в котором камера как бы наезжает на фотографию, потом плавно перемещается из стороны в сторону мне очень нравится, как оформительский прием.

Я не занимаюсь монтированием видео и поэтому не знаю, что у этого эффекта есть название: Ken Burns Effekt. Ken Burns – кинорежиссер-документалист. В исторических фильмах часто основной материал, это фотографии. И он пользовался таким увеличением, чтобы оживить картинку.



Все это можно сделать и на JavaScript! )

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-02-22 14:50
Subject: CSS и яндекс
Security: Public
Tags:css, tech

Яндекс устроил себе новую верстку и применил интересный прием.

При количестве блоков измеряемом тысячами, традиционная практика работы с селекторами CSS приводит к медленной работе. Поэтому для каждого вида блоков делают отдельный стиль. Т.е. Вместо

.b-my-block .title a {....}


Делается

.b-my-block__title__a {....} /*Двойное подчеркивание — признак того, что это элемент блока*/


Такая верстка потом прогоняется через конвертор, и все классы заменяются на двухбуквенные псевдонимы. Например:

<class="ac">

5 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-02-15 13:49
Subject: Замена TiniMCE?
Security: Public
Tags:development, javascript, tech

Интересный проект визивига на jquery: jHtmlArea


Компактная и гибкая библиотека. Заявлена поддержка ие7-8, фф, сафари. Опера не заявлена, но работает. В Хроме пишут, что работает.

Live Demo
Визуальный редактор jHtmlArea (статья на Хабре)
jHtmlArea - The all NEW HTML WYSIWYG Editor for jQuery by Chris Pietschmann.

2 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-02-03 11:53
Subject: даунгрейд на php 5.1.6
Security: Public
Tags:development, hosting, php, tech

Думаю, что лучше. Адаптировать свои скрипты, рассчитанные на php 5.2.x к 5.1.6 или попросить деньги обратно и искать другой хостинг, т.к. проект только начался.

На виндовой машине получил такой сюрприз: php 5.1.6 не работает с mysql 5.0.88, c 5.0.24a работает. Под убунтой еще не смотрел, что будет.

Теперь, что нас ждет с точки зрения языка.

1. Если что нужно из Zend Framework использовать версию 1.6, дальше он требует 5.2.4
2. JSON, необходимый для аякса, надеюсь, можно будет заменить на Zend_Json
3. В CachingIterator не пользоваться режимами TOSTRING_USE_INNER и FULL_CACHE, последний параметр в общем-то был удобен (без него итератор делает лишь упреждающее чтение, а с ним помнит все, что пробежали).
4. Самый неприятный момент. __toString() в 5.1.6 автоматически вызывается лишь для echo и print, а после 5.2 стал вызываться в любом строковом контексте. И вот тут полная беда. Надо везде проверить это приведение типов. Автоматом никак, только руками. Ну да есть тесты, но геморройно... Самое обидное что если Объект используется в строковом контекте, то он в 5.1.6 не ошибку или ворнинг кинет, он будет представлен, как Object #xx. Пойди отлови еще.

Хочется повыть.... ага.

5 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-02-02 13:33
Subject: магически не проходимый php 5.2x
Security: Public
Tags:hosting, tech

Русониксы откатились на "шаред" тарифах обратно на php 5.1.6. Говорят глюков в пользовательских скриптах немерянно.... омг. Что я делаю не так, что у меня нет глюков? Может битрикс не работает и из-за этого сидим на допотопных версиях?

Вот нашел некоторую проблему:
http://dev.1c-bitrix.ru/community/forums/forum6/topic16364/

Настройки работают так, что конфликтуют между соседними сайтами....

Но на 5.1.6 ну очень тоскливо. Я туда клиентов сажал в рассчете на 5.2.х... да оно до сих пор в тарифах указано так.... ну ррррррр

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-31 14:11
Subject: php-ffmpeg
Security: Public
Tags:php, tech

Для работы c ffmpeg у php есть интерфейс. Чтобы его использовать нужно соответствующее расширение.

Найти сборки этого расширения под win, не так уж и просто.

Вот здесь статья, как собрать и собранные файлы, которые работают с php 5.2.11 (thread safe).
Сборка расширения ffmpeg-php (php_ffmpeg.dll) для PHP 5 на Windows

еще одна статья, но что-то предлагающиеся для скачивания dll-ки не заработали или я не внимательно что-то делал:
Сборка расширения ffmpeg-php (php_ffmpeg.dll) для PHP5 на Windows

В 2004 году Спольски писал:
It's so important for Microsoft that the only reason they don't outright give away development tools for Windows is because they don't want to inadvertently cut off the oxygen to competitive development tools vendors (well, those that are left) because having a variety of development tools available for their platform makes it that much more attractive to developers.

И действительно сейчас базовый компилятор доступен бесплатно:
Visual Studio 2008 Express

Правда даже mfc использовать нельзя.

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-31 13:33
Subject: Тонкости работы с ffmpeg
Security: Public
Tags:tech

1. У новой версии кодека Lamemp3 при использовании с ffmpeg под линуксом есть странное сообщение об ошибке:

[libmp3lame @ 0x1cf037c0]lame: output buffer too small (buffer index: 9404, free bytes: 388)
Audio encoding failed

Чтобы пофиксить надо откатиться на предыдущую версию или просто не обращать внимания -- аудио конвертируется все равно.
http://drupal.org/node/376012

2. При конверсии из одного формата в другой через ffmpeg слетают метаданные. Их нужно строить заново с помощью утилиты flvtool2

flvtool2 -U video.flv

На CentOS она ставится через yum

yum install flvtool2

Под виндой надо скачать утилиту с rubyforge:
http://rubyforge.org/frs/?group_id=1096&release_id=9694

Набор рецептов для работы с ffmpeg:
Convert video files to FLV using FFMPEG command

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-25 20:16
Subject: Windows XP, командная консоль и UTF
Security: Public
Tags:tech, windows

В командной консоли кодировки у нас доисторические. Даже не 1251.... А из скриптов уже хочется печатать utf-8

Рекомендуют в свойствах окна указать уникодный шрифт, стандартный lucida console подойдет.
и в окне запустить команду
chcp 65001

однако с PHP это не работает.

а вот если взять PowerShell,
да скомандовать там внутри
chcp 65001

вооот тогда оно заработает. причем не в консоли, а в PowerShell ISE (Windows PowerShell Integrated Scripting Environment. Performs object-based (command-line) functions).

Супер!

5 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-25 10:25
Subject: Бесплатный кроссплатформенный скринкастер
Security: Public
Tags:publishing, tech

Бесплатный кроссплатформенный скринкастер

DebugMode Wink

Бесплатен для персонального и бизнес использования, но не BSD, GPL -- если хотите распространять, -- получите разрешение у автора.
Кроссплатформенный: Win и Linux (x86 only).
Аудио: Можно писать голос во время скринкаста.
Входной формат: Скриншоты с PC или изображения в форматах BMP/JPG/PNG/TIFF/GIF.
Выходной формат: Flash, EXE, PDF, PostScript, HTML, картинки.
Smart Capture Tools: Снимает скриншоты, основываясь на движениях мыши и вводе с клавиатуры, экономя время.

Навигационные кнопки, чтобы листать слайды. Для кнопок можно использовать свои картинки (поддерживается прозрачность и альфа-канал).
Выноски разных форм, для текстовых пояснений. Встроенный редактор выноски.
Интуитивный drag-n-drop при правке слайдов, выноски и пр. элементов.
Продвинутые фичи: шаблоны, правка курсоров, палитры, фоновые картинки, панели и прелоадеры для флэш.
Обещают очень хорошую компрессию при выводе во флеш.

Гайды по использованию.
Скринкаст про superabbreviations в JEdit

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-23 14:51
Subject: еще один подход к GIMP
Security: Public
Tags:tech

Вроде немного освоился с GIMP, жить стало можно.

Еще один момент, где GIMP архаичен. Это слои. Нет групп слоев, нет прикрепленных к слою эффектов. Как во времена фотошопа 3 скрипт эффекта просто делает новый слой. Слои в папки не объединяются, -- связь между слоями сплошная. Т.е. нельзя связать вместе несколько связок слоев -- набор связанных слоев только один. С этим борется плагин, и в будущем группы слоев будут в gimp изначально.

Кроме того еще два хороших плагина:
1. Layer Effects улучшенные эффекты слоев вроде теней и пр. Тада! там есть превью при работе с настройками!

2. Liquid Rescale GIMP plugin

Умный ресайз картинок на основе Seam Carving. Такое появилось только в новейших версиях фотошопа.
Посмотрите, что это такое:
Ютуб-ролик )

В общем если не кроссплатформенность, то проще купить на Ebay подержанный фотошоп-7 за 50 баксов, чем корячиться с GIMP, хотя местами там есть приятные и удобные моменты.

NB.
Тюториалы:
GIMP Tutorials
gimp-tutorials.net

6 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2010-01-23 14:34
Subject: FFMPEG на Русониксе
Security: Public
Tags:development, php, tech

Для работы с видео файлами на сервере нужна программа ffmpeg и библиотека для связи с php. Поставить этот набор на VPS не так уж и сложно.

1. Нам понадобится yum, ставим его
2. Ставим ffmpeg и ffmpeg-php
если будет конфликт версий, то делаем
yum update

для тех библиотек, где есть такой конфликт. (Мне хватило yum update alsa-lib).

-------------
Примечания:
1. Таким же путем можно обновлять php:
yum update php

2. Или поставить Imagemagick:

yum install ImageMagick.i386
yum install ImageMagick-devel.i386
pecl install imagick

echo "extension=imagick.so" > /etc/php.d/imagick.ini
/etc/init.d/httpd restart

php -m | grep imagick

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-12-04 15:50
Subject: WindowsXP, жизнь не под рутом
Security: Public
Tags:tech

Ну я решил попробовать жить, как надо.

Завел еще одного юзера, добавил его в группу продвинутых пользователей, перекинул ярлыки програм из стартового меню в настройки для всех юзеров и зашел в систему.

Все мои файлы остались под владением администратора, так, что править их я не смог. Зашел в админа.
Переключился в продвинутый механизм доступа к файлам через
мойкомпутер->сервис->свойства папки->вид->галочка "Использовать простой общий доступ к файлам" (выкл)

Выделил нужные мне папки (т.е. весь диск D), свойства->безопасность, добавил своего пользователя (добавить->поиск, выбрать из списка), дал ему все права. Для того, чтобы он стал владельцем нужно им зайти и назначить себя владельцем, т.е. chown сделать нельзя в один присест.

Залогинился обратно. Обнаружил, что удобно запускать тотал-коммандер, от лица админа и править системные тесктовые файлы вроде /windows/system32/drivers/etc/hosts.

Для работы в консоли сделал однострочный батник

sudo.bat
------------
runas /user:Root "%*"

------------

Единственно, теперь бат файлы приходится упоминать полностью:

sudo phpswitch.bat 5_3
или
sudo deploy.bat patсh

Если бы в ярлыках можно было бы прописывать от чьего лица нужно запускать прожигалку дисков Nero, было бы совсем хорошо, однако можно лишь указать, что при запуске нужно спросить пользователя и пароль, и нужно лишний раз пользователя выбирать, но это уже мелочи.

UPD. Все-таки можно и назначить юзера

UPD2. И постоянно слетает тема оформления, переключаясь на классический стиль в окнах и кнопках после каждого запуска Nero под админом.

UPD3. Аха. Если под админом та же тема, что и под юзером, то ничего не меняется.... хых

8 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-12-03 14:04
Subject: Выбор многих файлов для заливки на сервер
Security: Public
Tags:development, tech

Оказывается, можно файлы лить не по одному на поле file в форме:

[info]bolk:
Input multiple-2

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-12-03 13:31
Subject: For the record
Security: Public
Tags:linux, tech

Восстановить grub после переустановки винды:

# Re-install grub
sudo bash # DANGEROUS! ENTER COMMANDS EXACTLY!

fdisk -i #Look at partitions available

mount /dev/sdb2 /mnt #<--Change sdb2 to your linux root partition

#If you have a /boot partition.
#Generally you haven't one, so skip this
mount /dev/sdb1 /mnt/boot

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
chroot /mnt bash
update-grub
grub-install /dev/sda #<--Change to your hard drive
exit
exit

----------------------

Вообще непривычен grub2, править список пунктов загрузки руками стало значительно сложнее. Но зато в автомате он прекрасен, -- определяет доступные ядра сам.
https://wiki.ubuntu.com/Grub2

Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-12-02 10:47
Subject: Ноутбук, апгрейд, и т.д -- for the record
Security: Public
Tags:tech

Проапгрейдил ноутбук. Говорят, у Делл плохая гарантийка, у друзей были проблемы с делловской батарейкой. У меня же пока на моем делл-500 за 13 тыс р, за год проблем не набежало.

Посколько память и диск нынче дешевы, решил я проапгрейдить свой компутер.

Благо инструкция по разборке ноута имеется:
Dell® 500 Service Manual

В Олди был куплен диск сигейт на 500 гиг SATA, 8 мб, 5400 за 2700р, коробка для диска, который я выну за 200р, и память 1 гиг за 700р.

Память и диск встали и заработали. К коробке для винчестера прилагалась отвертка, с очень правильным профилем, таким, что я наконец открутил систему охлаждения процессора, вынул войлок из пыли, стер тройным одеколоном засохшую термопасту и намазал новую. После этого и с охлаждением проблема исчезла насовсем.

Поставил на это дело новую убунту, 9.10. Обычно надо делать достаточное количество телодвижений, чтобы все настроить, а тут все встало и заработало, кроме Network Manager. WIFI все время рвался, каждую минуту. Но установка wicd решила эту проблему.

Только я хотел возрадоваться и воскурить фимиам, как пролил чай на свой компутер... Где-то с полчашки. Почему-то линукс не захотел выключиться по нажатию кнопки выкл, и пришлось дождаться шатдауна. Быстро вынул аккумулятор, и поставил ноут вертикально на ту часть, где крепится дисплей. Чай вытек, образовав лужицу. В общем пришлось устраивать первую в моем опыте полную разборку ноутбука.

Инструкция есть, конструкция у этого делла крайне продуманная, и в общем разборка далась легко, за исключением того, что я не знал как крепятся шлейфы. Я думал, что надо проводок вытаскивать за пластмассовое крепление, а оказалось, это замок в гнезде. Таким образом я сломал одну такую защелку. Место не шибко важное, так, что я не расстроился, вставил сломанную крепежку обратно и она держится оставшейся одной ножкой. Больше я ошибок не делал. Все разобралось нормально.

Интересно что до материнской платы чай не дотек. То ли я вовремя вылил его, то ли все скопилось между клавиатурой и верхней крышкой. Самое неприятное -- пленка на обратной стороне клавиатуры, Там тонкий слой жидкости, который невозможно вытереть. Ну да протер все, что можно и собрал обратно. Ни одного лишнего винтика не осталось и все включилось.

Казалось бы можно было перевести дух. Но на новом винте под заново поставленной виндой XP меня ждал кошмар на 4 часа с установкой апач-мускул-пых.... Вот уж кто бы мог подумать. Это видимо день не мой был. То я скачал пых не тредсейф и почему он не запускался апач писал только в виндовые логи, а собственные были пусты. То мои файлы бд, которые я просто перенес со старой системы заглючили с последним мускулом. То ли я не перезагрузился вовремя, то ли пароли были старого стандарта -- пых 5.3 своим mysqlnd не умеет с таким работать. Провозился больше чем разбирал-собирал ноут.

В довершение во время удаления ненужных программ со старого винта, незаметно переключился на текущий диск c. И даже не мог вспомнить что я наудалял. Помогла утилита freeundelete, но нервы все-таки встряхнулись....

Вечером посмотрели грустный фильм Американская история X. Надеюсь сегодняшний день будет спокойнее.

2 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-11-18 12:59
Subject: Русониксы молодцы
Security: Public
Tags:hosting, tech

Благодаря моему пинанию или нет, они таки теперь предоставляют php 5.2.11 (вместо 5.1.6) на всех хостингах.

В одном из опросников в комментарии я задал вопрос и получил желанное :)

Пожалуйста, сделайте поддержку php 5.2x на виртуальных хостингах!

Спасибо за предложение! Поддержка PHP 5.2.11 добавлена на новом сервере виртуального хостинга с панелью Plesk 9. На старых серверах эта версия, к сожалению, устанавливаться не будет, чтобы избежать проблем с совместимостью у клиентов, использующих устаревшие скрипты.
http://www.rusonyx.ru/company/poll-results.php

Осталось еще в одном месте, где php 4.4.4 стоит мозги проесть и уже будет хорошо.

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-09-19 08:18
Subject: Ноутбучное размышлительное
Security: Public
Tags:tech

В продолжение поста про перегрев ноута. Пылесоска вроде сделала свое благое дело и ноут стал тише и прохладнее. Однако вот что подумалось.

Забивание вентилятора пылью — частая ситуация. И на всех сайтах про ноутбуки написано, что продувка и прочистка — сложная техническая процедура, требует вмешательства сервисной мастерской, которая еще и ноут обычно изымает на неопределенный срок до месяца.

В моем Dell очень все разумно расположено, ко всем критичным частям, кроме вентилятора очень легко добраться — диск, память, клавиатура, процессор — все достается с поверхности без полной разборки. Почему бы не сделать блок с вентилятором и холодильным элементом съемным и удобным к прочистке? Понятно, что холодильный элемент крепится к процессору, но ту часть, которую прочищать наверное можно сделать отделяемой.

8 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-09-18 10:11
Subject: Нотик и его охлаждение
Security: Public
Tags:tech

Всем хорош мой супер дешевый Dell-500, и линукс поддерживается и игрушки бегают и вообще. Вот только греется зараза. Не могу понять, это я его раньше особо не гонял или всегда так? На WoW он перегревался, но не всегда, когда был новый. С другой стороны была зима, и проблема решалась подкладыванием ластиков — приподнимешь и вроде уже не выключался.

А сейчас конвертил фильм из одного кодека в другой, так ни в какую.... пришлось даже порезать и частями сконвертить, потом склеить :) Вентилятор вроде дует горячим воздухом.

Сейчас вот вырубился, когда я поисковый индекс для Люцены строил на 4000 документов.
В общем кладу рядом флягу с водой :)

6 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-09-16 17:26
Subject: Книга «Реактивные веб-сайты»
Security: Public
Tags:development, tech

Все-таки опыт, собранный в книжку, гораздо полезнее, чем ленты из специализированных блогов, пусть и очень содержательных. Особенно, когда книга в электронном виде доступна, и авторы пока еще ждут исправлений и добавлений.

Авторы:
Глеб Кондратенко, Евгений Степанищев ([info]bolk), Николай Мациевский

http://speedupyourwebsite.ru/books/reactive-websites/

Ориентировочная цена книги будет 400р. Рукопись можно вычитать бесплатно и принести пользу.

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



Boroda aka Hamster
Date: 2009-08-27 19:33
Subject: Житуха
Security: Public
Tags:security, tech

Где тот чистый и добрый интернет 90-х годов? Вот сидишь, пишешь, учишь фреймворки, ормы, хаскели, а потом приходит ботнет и вымогает денег.

Собственно я не к панике, а к тому, чтобы почитать по борьбе с ДДОСами чего-нибудь систематического.

Пока вот ссылки на треп по теме и жалобы на жизнь:

1. ru_php: SOS - хакеры - вымогатели!
2. хабр сегодняшний: Шантаж
3. хабр: Недорогой способ защиты от HTTP-флуда
4. МГУ vs DDoS: "Мы даем защиту. Бесплатно." и блог highloadlab
5. Платные услуги, если попали под ДДОС

Почитать всяко полезно будет, заодно и проблема хайлоада будет более ясной.

13 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



browse
my journal
links
March 2010