Archive for the ‘ Программирование ’ Category

Счастливым обладателям Линукса посвящается… Итак, набираем в командной строке 3 колманды и ву-а-ля )
Сконвертил так 30 фоток за пару минут, оригиналы удалил, супер )
Результаты, фотоотчет с поездки, тут )

sudo apt-get install ufraw
cd dir_of_cr2
for i in *.CR2; do ufraw-batch $i --out-type=jpeg --output $i.jpg; done;

… Судя по моим поисковым запросам, я почему то первым столкнулся с проблемой того, что имея хостинг MasterHost в наличии, не могу с ним работать нормально по ssh, т.к. там нет элементарных программ, необходимых любому веб-программисту: SVN, Midnight commander. Ну как, как можно разрабатывать проект, обновлять его, без системы контроля версий? А как работать на сервере без коммандера? Ужасно неудобно!

При этом помнится ранее ничего устанавливать на сервер нельзя было. И на мой запрос в техподдержку «а как же быть?!» — они отвечали, мол, ставьте копию серверной ОС себе на компьютер, компилируйте там все что вам нужно и закидывайте скомпилированные файлы на сервер. Это реально, но очень геморно. О том, как это сделать описано например на хабре. Но возьмем далее эту статью частично за основу…

Сейчас, похоже ситуация изменилась: команда make работает, а значит мы можем сами все нужное поставить на наш сервер!

Итак, всем «счастливым» обладателям хостинга MasterHost посвящается… Выполняем послед. следующие команды на сервере и все будет в шоколаде!


УСТАНОВКА SVN

1.1. Скачиваем.
cd ~/bin
mkdir svn
cd svn
wget subversion.tigris.org/downloads/subversion-deps-1.6.5.tar.gz
wget subversion.tigris.org/downloads/subversion-1.6.5.tar.gz

1.2. Распаковываем.
tar -zxvf subversion-1.6.5.tar.gz
tar -zxvf subversion-deps-1.6.5.tar.gz

1.3. Компилируем
cd subversion-1.6.5
./configure --prefix=/home/uXXXXX/bin/subversion-1.6.5/svn --enable-all-static --disable-mod-activation --without-apache --without-apxs --without-serf --without-berkeley-db --with-ssl

1.4. Устанавливаем (по желанию, в вашу систему)
make
make install

1.5 Создаем алиас:
alias=/home/uXXXXX/bin/svn/subversion-1.6.5/subversion/svn/svn

1.6 Проверяем:
svn
Type 'svn help' for usage
// значит все ОК, теперь работаем с svn из консоли!

УСТАНОВКА Midnight Commander

cd ~/bin
mkdir mc
cd mc
wget http://ftp.midnight-commander.org/mc-4.6.1.tar.gz
tar -xzvf mc-4.6.1.tar.gz
cd mc-4.6.1
./configure \
--prefix=/home/uXXXXX/bin/mc \
--enable-background \
--enable-charset \
--enable-nls \
--with-screen=ncurses \
--disable-dependency-tracking
make & make install & make clean
alias mc=/home/uXXXXXX/bin/mc/bin/mc
mc
// OK?

+ установить нужную кодировку в окне:
(в Ubuntu: Terminal/Set character encoding): KOI8-R

(*) где uXXXXXX — ваш юзер (логин) на мастерхосте…

(**) замечу, что поставилась старая версия МС — 4.6.1, когда на момент была доступны 4.8.12, но она зависала при компиляции (make) по непонятным причинам… с этой версией проблем не было


УСТАНОВКА автозагрузки

В корневой папке создаем файл .profile со след. содержимым:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin/svn/bin" ] ; then
    PATH="$HOME/bin/svn/bin:$PATH"
fi
if [ -d "$HOME/bin/mc/bin" ] ; then
    PATH="$HOME/bin/mc/bin:$PATH"
fi

Ура! Теперь я — сертифицированный специалист по языку PHP, Zend PHP Certified Engineer. Сдал экзамен в центре тестирования PearsonVue, ответив на 75 вопросов за 1,5 часа.

Готовился к тесту примерно 1 месяц, путем чтения мануалов по подготовке к тесту с разбором типовых вопросов и нарешиванием демо-тестов.

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

Тест заставил вспомнить о таких вещах, как xss-атаки, sql-иньекции, регулярные выражения, о том как много (да просто дофига) функций есть в php для работы с массивами, а также о паттернах, веб-сервисах и др. «экзотических вещах». С другой стороны, в тесте было много вопросов, характеризующих ублюдочность (нелогичность и самобытность) языка php, собсна, то, за что его не любят многие программеры из других «религий».

Много вопросов в тесте требовали точно помнить аргументы типовых функций (коих по скромным подсчетам наверно более 100). У меня всегда под рукой справочник по функциям и нафига мне надо их помнить — непонятно…

Не буду в деталях описывать тест и процесс его сдачи, т.к. про это дофига гаписано аналогичных статей в блогах (особенно на англ.), внесу свою лепту — укажу все темы и соотв. им мануалы для подготовки (так то дофига чего пришлось «прощерстить»):

ЗЫ: удивило, что в нашей стране всего ~150 человек сдали этот экзамен… м.б. денег жалко, или пока что у нас этот сертификат никто не воспринимает всерьез? Посмотрим…

 

Прочитал книгу Стаса Давыдова «Не мешайте мне работать» [ скачать можно тут, pdf ], посвященную работе в сфере ИТ и проблемам мотивации и адекватной организации труда.

Книга супер! Написана простым неформальным языком, целиком построенная на примерах из
личного (зачастую правда негативного) опыта автора работы в различных ИТ компаниях.
Читается на одном дыхании, всего 100 страничек крупным шрифтом. Много критики на тему неадекватности организации труда в современных конторах и «как должно быть» ))

Вообще, вся книга — как одна большая цитата, которую хочется повесить нга стену, например:
«… Нет ничего лучше, чем делать то, что тебедействительно нравится, среди людей, которых ты любишь …»
— уж не знаю, толи Стив Джобс спер этот слоган у автора, толи автор у Стива 😉
но вот это уже явно его фраза:
«Когда зарплата — единственное, ради чего человек работает, это пол тупик.»
а вот еще:
«… настоящий программист сможет написать программу на любом языке. Но в данном случае это вопрос мотивации: что эта работа даст мне, кроме денег? Поможет ли она моему проф. росту или, наоборот, сделает тупее?»

Собственно, книга воодушевила подумать о том, какова должна быть идеальная работа в моем представлении.

Это сложно представить, не имея опыта работы в крутых конторах а-ля Гугл, но какие-то зарисовки о прекрасном можно вычленить… Вот с них и начнем!

  • интересные и амбициозные задачи

буду КЭПом и плагиатором (см. выше), но повторюсь: работа д.б. в идеале такой, которую ты бы
согласился делать без оплаты или с мин. оплаты (т.е. делать за идею, ради интереса/опыта и т.п.)

  • реальная возможность проф. роста

никто никогда не скажет вам, что «в нашей компании нет проф. роста»,
но не получится обмануть ответом нв порос: «у вас есть корпоративные курсы англияского?»,
«как часто ваши сотрудники ездят на конференции? кто? на какие?», «оплачиваете ли вы курсы
повышения квалификации, устраиваете ли тренинги/мастер-классы? где/когда был последний?», «каким образом коллеги могут обмениваться опытом? есть ли практика проверки работы коллегой и т.п.?»

  • наличие обратной связи с начальством

оперативное решение «бытовых» вопросов,
опрос сотрудников на тему того что не так/чего не хватает/что поправить? может быть, это не означает полное отсутствие бюрократии и иерархии, но наличие демократии — да.

  • возможность заниматься тем, что тебе интересно

ни разу пока не слышал ни от одного своего работодателя вопрос вроде «а чем бы ты хотел заниматься? какие задачи хотел бы решать? в какой области/направлении расти?»; по сути, это дополнение к пред. пункту, но шире: начальство само решает за офисных рабов, чем их запрячь,  а рабы соотв. молча выполняют ВСЕ что им поручают (какой бы глупой и нерациональной ни была бы задача); в лучшем случае, удается договориться, как эту бредятину решить с мин. затратами, но никак не «а нафига это надо?» или «я эту херь делать не буду»…

  • лояльный график работы

отсутствие жесткого графика работы «от звонка до звонка», как мне сказали в одной компании «ну вы же взрослый человек, зачем за вами следить?» и правда, зачем?

  • дешевые, но приятные вещи

плюшки к чаю, кофемашина, фрукты, оплачиваемые обеды… по сравнению с з/пл, арендой и т.п. — это мизерные издержки, но почему на них «экономят» компании? затраты смешные, а лояльности существенно прибавляют (берем пример с яндыкса)

  • удобное рабочее пространство

удобный (точнее сказать — комфортный для жизни) офис, например, в котором есть кухня и хоть какие-то развлечения; да-да! игровая приставка, бильярд, теннисный стол, тренажеры, …
— дай бог чтоб директора наконец поймут что это не «поглотители рабочего времени», а мотиваторы каждый день приходить на работу как домой, располагающие на работе проводить более 8 «положенных» часов, «потому что тут классно!»
наличие кондиционеров, отсутствие шумов/запахов — казалось бы, очевидная вещь для продуктивной умственной работы, но не все работодатели способны обеспечить даже это 8(

  • рост твоих доходов с ростом компании

типичный пример: начальство собирает всех сотрудников и начинает говорить об успехах
компании на рынке: о росте продаж, клиентов… все аплодируют; но чему тут радоваться мне?
— если зарплата от этого ни на рубль не повышается; вот если от роста прибыли компании
будет расти мой доход, я первым полезу целоваться не только с коллегами, но и с прохожими!
насколько мне известно, практика выдачи акци компании радовым сотрудникам есть в гугле и фейсбуке… в двух компаниях на весь мир?!

  • продолжение следует … (еще не все написал)

PS: интервью (подкаст) со Стасом можно послушать тут: http://habrahabr.ru/post/124526/

copypast.ru - лучший проект РУНЕТА!
Нажмите, чтобы проверить себя »»

День стартапов Hackday

На днях участвовал в дне стартапов HackDay, организованным майкрософтом.

Познакомился с интересными людьми (разработчиками), послушал интересные идеи и местами классно поржал над ними же.

Зацепили пара идей:

  1. соцсеть с видео-свзяю между участниками
  2. веб-архив всех сайтов (закладки с сохранением полных копий страниц)

Решил подумать/поработать над каким-то совим стартапом, т.к. по моему это отличный способ прокачаться в технологии, познакомиться с интересными людьми и в идеале — получить прибыль или даже постоянный доход/бизнес в перспективе!

В общем заболел идеей стартапов, когда выздоровею — не знаю…

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

Тесты BrainBench

Найдено тут:

http://www.brainbench.com/

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

  • ASP.NET 3.5
  • ColdFusion 8
  • Computer Fundamentals (Win XP)
  • Crystal Reports 11
  • IMS 9.0
  • Java — EJB 3.0
  • Java 6 Fundamentals
  • Java Platform Enterprise Edition 5 (Java EE 5)
  • JavaScript 1.8
  • Lotus Domino R7 Programming
  • Lotus Notes 6.5 Programming
  • MS Visio 2007
  • MS Word 2003
  • PHP 5.3
  • RDBMS Concepts
  • Technical Help Desk (Microsoft)
  • Visual Basic 2008
  • Visual Basic 2008 Fundamentals
  • Web Design Concepts

Мой первый сданный тест: [ тут ] — посвящен знанию PHP5 — я сдал за полчаса, вместо положенных двух, т.к. торопился, но умудрился таки набрать 3,5 баллов из 5, что радует (посидев 2 часа, вероятно, пересдам на 5).

ЗЫ: рекомендую всем программерам!