Случайно наткнулся на статью о менаджменте софтваре разработок от Лайнуса Торвольдса и скажу прямо – она мне понравилась. Всем кому интересная эта тема советую прочитать: Linus Torvalds’s Lessons on Software Development Management

PDF версия: Linus Torvalds’s Lessons on Software Development M…


Много лет назад когда я настраивал свой сервер я решил поставить Openfire за место iChat севера.

Openfire мне тогда понравился по нескольким причинам. Проект живо развивался, все было понятно ( где хранятся данные ), были платины для ICQ и MSN, да и вообще как-то ближе было чем непонятный iChat server.

Жил я с Openfire-ом долго и счастливо. Со временем я перестал использовать ICQ и MSN… и сталь больше общаться с Русско-говорящими людьми. При этом заметил один не приятный момент.

Одна замечательная фишка Jabber-а заключается в том что можно посылать сообщения в оффлайн. То есть даже если человек не присутствует то можно ему послать сообщение и он его получит позже, когда логниться в жаббер. У меня с этим были маленькие проблемы. Если кто-то шлет мне оффлайн сообщение на Русском языке, то я получаю его в вопросиках. Например: посылают “Привед”, получаю “??????”.

Сегодня я решил разобраться с этой проблемой раз и на всегда. На данный момент проблема решена, но я так и не понял что было не так. Я лазил по форумам, менял настройки базы данных и так далее, но ничего не помогало. В итоге я решил применить “финальное” решение – все стереть и поставить по новой. У Openfire-а есть замечательный плаги – он позволяет импортировать и экспортировать пользователей, вместе с их контактами и так далее.

В итоге я экспортнул всех пользователей, стер базу и саму программу, поставил все заного и импортул все обратно. Конечно настройки пришлось выставить заного, но у меня не так много “не стандартных” настроек.

Единственное что я решил сделать по другому, так это не использовать mySQL. Я решил использовать embedded базу – что не очень хорошо для большого количества пользователей, но поскольку у меня их не много то все тип-топ.


MV2Frm

Posted in Russian language,Software by MeIr

Сегодня собрал ( на копи-пасте ) небольшой AppleScript. Идея довольно проста: есть фото-рамка, iPhoto и непродвинутый юзер. И так, как же можно перенести фотки из iPhoto в фото-рамку при это не объясняя как создавать альбомы, таскать файлы/фотки и что-то куда-то копировать?

Решение:

Сперва даем название фото-рамке ( точнее выносному диске ) = “FRAME”.
Этот шаг делается всего один раз для новой фото-рамки.

Далее идем в iPhoto, гуляем по фоткам и выбираем что нравиться! Как только видем фотографию которая понравилась, то в левом-верхнем углу ставим флажок.

После того как выбрали что душе угодно, то жмем на прогу ( ака AppleScript ) и все фотки с флажками начинают копироваться в выносной диск – рамку. Все фотки попадают в отдельную папку – “Flagged”. Нужно отметить что я вытираю все фотки/файлы в папке перед записью новых фоток. Это значит что если фотография более не флагнута, то и в рамке она более не появиться.

Далее отсоединяем рамку от USB дырки и наслаждаемся фосками.

Итого:

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

Вообще если кому нужен скриптик / программулик то качайте и пишите в комменты.


Ну вот и подошел к концу этот бешеный день – в смысле я закончил установку и отладку GIT-а на своем сервере. Процесс занял относительно долгое времени, так как я работал над этим не постоянно ( когда удавалось ) и в основном по выходным.

Но сегодня я закончил все что нужно для полноценной работы маленькой команды. Интересно отметить такую фишку как git-shell. Она встает за место пользовательского шела и позволяет только пользоваться git репозиториями, не давая при этом ни какого допуска к системе.

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

Думаю я остановлюсь тут, так как мне ещё много чего нужно выучить. У меня есть небольшая теоретическая база, а дальше нужно практиковаться и пополнять знания.

Чирз!

ЗЫ: Как ни странно, но я нашел готовые builds Гита даже под PPC для Mac OS X. Тут нужно заметить что сейчас не так много програм выпускается с поддержкой старого железа, но не стоит забывать что ещё не перевелись сервера на PPC.


В четверг я еду в Торонто и пока я буду там, нужно по доброй традиции собраться и записать подкаст. Сегодня я ломал голову на тему как же записать подкаст с двух+ микрофонов в гаражбанде ( Garageband ). Помню как-то давно я смотрел как это делать, но как-то не досмотрел… Сегодня я вернулся обратно к этой задаче.

Сперва я думал что нужно ставить кучу софта и настраивать там все через одно место. Сразу скажу что все очень просто, хотя местами кажется что могли сделать и ещё проще. Но не буду жаловать, а перейду к тому как же настроить до 4-х микрофонов в Гаражбанде.

Начинаем с того что открываем “Audio MIDI Setup”, находиться эта красота в “/Applications/Utilities/Audio MIDI Setup”.

Как видим у меня есть два микрофона, один встроенный (первый по списку) второй внешний (подсоединяете через кабель). Гаражбанд к сожаления не дает возможности на прямую (через настройки) выбрать оба микрофона + на разные дорожки. Что бы делаем? Жмите кнопку “+”

И добавляете “Aggregate Device”. Справа вы увидите список, где можно выбрать микрофоны. Ставим галочки на против “Built-in Microphone” и “Built-it Input” или других вами выбранных микрофонов.

Больше ничего делать не надо – закрывайте программу и открывайте гаражбанд. Идем в настройки (Garageband -> Preferences) гаражбанда и выбираем “Aggregate Device” как “Audio Input”

Закрываем настрой и идем выставлять дорожки. Выбираем дорожку и жмем “view / hide track info”:

Далее из “Input Sources” выбираем “Stereo 1/2 (Aggregate Device)”. Далее выбираем вторую дорожку и проставляем там “Stereo 3/4 (Aggregate Device)”. После этого мы почти готовы записываться, все что осталось так это поставить что бы две дорожки записывались одновременно. Для этого идем (из меню) “Track -> Enable Multitrack Recordring”. Далее мы видем появились красные кнопочки:

Выбираем все трэки которые должны записываться, ну а дальше пишемся. Все просто и понятно – красота да и только.

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


Выходные пролетели и я даже не успел крякнуть. В принципе это наверное хорошо. Я много работал, правда пока что пользы мало… Вчера я доделал свой Java Applet – который должен транслировать видео с web камеры, но пару часов назад я обнаружил что там проблема.

Проблема состоит в том что Апплет транслирует какой-то мусор, то есть видно что там идет какое-то видео, но не в том разрешении и не то что нужно. Апплет вообще забавный зверь… с одной стороны удобный для некоторых задач, но с другой стороны слишком много головной боли. Вот так и у меня получается, что вроде все работает (Жава код под Эклипсом), а как только все это пакую в Апплет так сразу начинаются разные проблемы.

Сперва не правильно паковал – типо библиотек не хватало. Потом оказалось что Апплет нужно ещё и подписывать – да бы получить доступ к операционной системе (выполнение разных системных шняг). Ну а теперь походу что-то где-то опять не срабатывает и получается полный пипец. Меня на данный момент это так сильно раздражает что хочется на стены лесть. Я уж думал что все, камера снимает, алгоритм декодирует, все работает в браузере – отлично! Но нет…

Ладно пойду спать, утро вечера мудренее.

Чирз и главное не сдаваться.


Traq

Posted in Russian language,Software by MeIr

После почти 2-х недель (вечерами и когда время было) поисков и почти попав в уныние я нашел проектировщик проектов который на мой взгляд подходит для моих задач и подходит по критериям.

Что я хотел?

– Простой и удобный
– Написан на PHP
– Быстрый
– Возможность иметь несколько проектов
– Milestones
– Поддержка репозиториев

На мое удивление под такое описание подходит не так много проектировщиков. Даже Matis который казался мне отличным кандидатом в последствии отпал из-за того что смотреть на него просто тошно.

В процессе поиска, мое внимание привлек Redmine который хорош, но я так и не смог поставить Ruby на свой сервер… а если говорить точнее то Руби уже стоит на сервере, но не той версии и не с тем Рейком и не с тем Джемом, а делать апдейт ему оказалось сплошным кошмаром. Я так и не смог найти “ставим Руби для ламеров” или 3rd party пакет или ещё что нить (кроме компиляции и изощрений) для PowerPC машин.

Итого поиски продолжались долго и “весело”. За это время я успел пересмотреть кучу разного софта и даже некоторые софтины поставил на сервер, но все было напрасно. То специфика приложения была не та, то выглядело не так… вообщем я почти сдался. Но сегодня я набрел на Traq ( http://traqproject.org/ ) – скажу что на первый взгляд это все то что я хотел. Приложение быстрое даже с моим дохлым интернетом, поддерживает много проектов (а так же milestones), простое и даже есть поддержка SVN репозиториев. Минус для меня тут пока что один, нету поддержки GIT, но если софта мне окончательно понравиться, то думаю можно будет дописать самому или кинуть программеру денег и пусть он допишет.

Думаю что если кто нить в поисках планировщика, то посмотрите на Traq и возможно это то что вам нужно. В любом случае заходите на сайт traqproject.org или смотрите github – https://github.com/nirix/traq

Я же пойду спать, уже почти 3 часа ночи, а завтра начну заполнять планировщик проектами и смотреть как да что.

Чирз!


На этих выходных дописал альфа версию своей маленькой утилиты. До следующей версии мне еще долеко так как нужно добавить диалоги и все такое что было предельно понятно, хотя и сейчас не плохо но красоту нужно все же наводить! Кроме красоты еще нашел пару багов, но это все не так страшно. Самое фиговое это отсутствие “рабочего” стола.

Когда доделываешь первую версию программы начинаешь видеть администрационные проблемы. Например контроль версий, отзывы от пользователей, каналы распространения, сайт и так далее. Некоторые из выше перечисленных вещей можно решить по отдельности, например сайт, а другие по отдельности не решить так как отдельные решения приведут к большой головной боли. Например я понял что сорс контроль, отзывы от пользователей, комменты и карт разработки – должно быть в одном приложении или вэб-приложении как например сделано у github.com. Такой рабочий стол нужен и обязательно, но вот где найти такой и что бы можно было у себя хостить это вопрос. Я смотрел на некоторые решения и к сожалению они мне не нравятся. Например есть trac – но какой то он не козистый.

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

Ладно пойду ложиться спать, завтра еще один рабочий день. Надеюсь что найду “рабочий” стол и смогу выложить свою утилитку. Ну а пока Чирз!


У меня всегда была мечта – писать программы под какую нить систему. И вот моя мечта сбылась… сегодня я провел почти весь день в попытке написать маленькую такую программульку под Мак ОС Х. Скажу сразу что успехом это мероприятие пока не увенчалось. Расскажу чуть о деталях: я хочу написать маленькую утилитку под Мак, так как для винды я её видел, а для Мака нет. Кроме того что под мак её нету, я сам бы хотел её пользоваться! Так вот, часть программы я уже написал, думаю процентов так 25, но основная фишка на чем я запоролся пару дней назад состояла в том что мне нужно писать файлики в /etc директорию и вот тут я застрял. Фишка в том что мне нужен админовский доступ что бы писать в /etc файлы, а как его получить я не знаю.

Я прочитал Апполовскую документацию и до сих пор не понимаю как оно должно работать. Некоторые вещи о которых пишут на форумах использовать нельзя, так как во-первых эта часть кода будет убрана в Mac OS 10.7, а во-вторых как рассказали в одном из видео с WWDC ( World Wide Development Conference ) оно не безопасно ( видимо из-за этого и удаляют ).

Решений на сколько я понял есть вcего несколько, одно это сделать демон и он будет выполнять эту важную операцию, второе сделать программу которая будет выполняться под root привилегиями и было ещё что-то но я не помню. Так вот я посмотрел на код всего того что есть и мне стало как-то не по себе… страницы кода ради того что бы исполнить одну операцию… Я все не как не могу прийти в себя, так как мне просто не понятно – зачем писать столько кода для авторизации одной операции? Я от части понимаю что это все сделано что бы сделать систему безопасной, но какой кошмар. Наверное это у меня шок из-за того что я не знаком с операционными системами и как оно там все вариться, но все же.

Думаю я продолжу поиски решений и надеюсь что нить найду.
Если у кого есть мысли то пишите и если есть желание то помогите… ох тяжелая эта работа из болота одному тащить бегемота.

Чирз!


Вступление:

Не хочу писать длинное и бесполезное вступление о том что такое Mac OS и почему это нужно любить. Скажу так: каждому свое. Я уже давно сижу на Маке и мне оно нравиться.

Вчера я решил попробовать Mac OS Lion и уже сегодня я вернулся на Snow Leopard. Я хочу поделиться мыслями и причинами по которым я убежал от Льва. Причины в основном субъективные и базированы на личных предпочтениях и привычках. Так же отмечу что я не буду вдаваться в технические подробности.

Скорость?

Думаю начну с того что, Леб быстр. Не знаю почему, но когда я его поставил, то увидел разницу. Пользовательский интерфейс работает быстрее и как-то более отзывчивей. Я не знаю деталей и почему оно так быстро работает, возможно система просто заточена под восприимчивость, а возможно система была переписана специально что бы выжить больше из предоставленного железа! Отмечу что при этом система весьма удачно съедает память. Я до сих пор нахожусь в недоумении, после того как увидел что kernel съел пол гигтара памяти. Это наводит на мысли что даже 4 гига памяти уже не достаточно.

Авто-сохранение и версии:

Я зная что авто-сохранение и версии являются довольно важными фичами. Но я лично к ним довольно прохладно отношусь. Авто-сохранение явно сделано для людей которые не когда не работали с настольными операционными системами и ожидают что все будет сохраняться без нажатия “сохранить”. Но тот же Снежный Леопард делает не плохую работу с сохранением документов, а MS Word уже давно умеет сохранять все “на лету”. Например когда у меня упала система, а я как раз работал над документом, после перезагрузки ( когда я думал “все потеряно” ), я обнаружил авто-сохраненный файл на рабочем столе.

Что же касаемо “версий” – это действительно хорошая фича, но опять же программистов ей не удивишь, так как все кто когда либо пользовался софтом по контролю версий ( SVN ), знают что да как. Тут стоит только задуматься если такая фича нужна лично тебе. То есть это лично субъективное. Так же отмечу что не любая программа может пользоваться “версиями”, так как программа должна быть специально написана под Льва и поддерживать эту функциональность.

Mission Control и LaunchPad:

Думаю что эти две фичи являются самыми раздражаемыми для моего мозга. Аппл попыталась и я предполагаю что будет пытаться в будущем свести наладонные и настольные операционные системы. К сожалению это не всегда хорошо. Например я скажу что так и не понял смысла LaunchPad-а, то есть я нажимаю кнопку к доке что бы у меня на экране появился типо iPhone-ий интерфейс для запуска программ. А просто нельзя в доке нажать на нужную программу? Или не проще ли вывести Application папку в док и нажимать на неё, а вторым кликом нажимать на выбранную программу? Лично я так делал уже 2-3 года и смотря на LaunchPad я просто не понимаю что это и зачем.

Mission Control – конечно не так уж и плох, но после того как нас приучали к Spaces и Expose, Mission Control выглядет весьма сомнительно. Так например если вы сделали себе 3-Spaces ( как я ), и выводите “первичные” и “вторичные” программы в разные Spaces и быстро переключаетесь между ними используя Control-1, Control-2, Control-3 и так далее. В Mission Control этого больше нету. Можно переключаться только или через саму программу или через Control-стрелка ( влево или вправо ). И местами это к тому же ещё и подтормаживает – что меня просто бесит. Так же я не могу понять почему убрали фичу что бы можно было иметь 3-и стационарных Space-а? Так же убрали Expose фичу что бы выводить все окна одной и той же программы… Я не понимаю почему это все убрано? Код и платформа есть, зачем нужно было убирать фичи которые работали и уже были?

Я подумал над этим и прихожу к тому что, Аппл хочет что бы обычные пользователи начали пользоваться этими фичами и соответственно облегчить их жизнь. Так как не все понимают Spaces или пользуются Expose, а тут одна Misssion Control и все что там нужно это тоскать окошки из одного Space-а в другой. Это вне сомнения проще для пользователя, но мне кажется что не особо эффективно для профессионала.

Full-Screen Apps:

Программы в полное окно – это замечательная идея. Но есть несколько проблем… Во-первых сколько программ должны быть реально развернуты на полный экран? Во-вторых что бы программа была в полный экран, она должна быть переписана под Льва и иметь эту фичу. В итоге пока мало программ которые поддерживают полный экран, но самое худшее это то что нету универсальной комбинации клавишь что бы раскрыть программу на полный экран. Так вот что бы Safari открыть в полный экран нужно нажать ctrl-command-f, а тот же Аппловский Remote-Screen эту комбинацию клавишь не понимает… к тому же там вообще нету клавиатурной комбинаций для полно-экранного режима. Это отличный пример программы где эта фича востребована, но при этом нету Shortcut-а.

AirDrop:

Это наверное самая замечательная и полезная фича системы, так как передача файла с одного компьютера на другой всегда являлось довольно муторным делом. К сожаления я не смог оценить прелесть AirDrop, так как если на моем 3-х летнем лаптопе эта фича работала, то на 4-х летнем макбуке моей девушке она не работает – её типо нету!

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

Gestures:

Ещё одна фича которая не работает на старом хардваре. От сюда мне не чего об этом сказать, единственное о чем я могу догадываться, так это то что в теории это должно хорошо работать. Но так как у меня все это дело на лаптопе не поддерживается то тяжело оценить. И как следствие отсутствия этой фичи, другие примочки тоже не особо хорошо смотрятся – например не могу листать между Space-ами используя только TouchPad.

Итого:

Лев ориентирован на новое оборудование и на новых пользователей, которые собрались перейти на Мак после того как поигрались с iPhone-ом, iPad-ом. Аппле попыталась воссоздать именно опыт iOS в своей новой OS 10.7. На мой взгляд что бы полностью оценить операционную систему нужно обязательно иметь новое оборудование, а так же быть открытым/позитивным к том что Аппле вытащила старые добрые фичи, к которым старые пользователи уже давно привыкли. Так же отмечу, что хоть Лев визуально и быстрый, но требует больше памяти. Так например я могу очень комфортно работать на Снежном Леопарде с 4-я гигами, при этом гоняя разные Фотошопы и Студии. А вот Лев, поглощает хорошее количество памяти сам по себе.

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


« Previous PageNext Page »