Ответы пользователя по тегу Open Source
  • Переезд на линукс, но как быть с офисом?

    @egorinsk
    Зачем переходить с Windows на Линукс? Большинство офисных программ пишутся, разрабатываются и тестируются именно под Windows, может я чего-то не понимаю, но какая выгода в переходе? Wine работает неидеально, имеет баги и недоработки.

    Тем более это странно выглядит, если у вас уже куплены лицензии на софт, то тут даже экономии нету.
    Ответ написан
    10 комментариев
  • Экспорт в OpenRaster для photoshop?

    @egorinsk
    Вы все равно с GIMP намучаетесь, там нет ни слайсов (насколько я помню), ни диалога Save for Web с качественным экспортом графики в разных форматах. Плюс (если мне не изменяет память), GIMP гораздо хуже работает с тяжелыми файлами из большого количества слоев.

    Плюс, в GIMP нет векторных шейпов и эффектов слоев. И не помню, есть ли маски и clipping mask. Как вы будете с ними поступать? Растеризовать и терять данные? Или оставлять в ora и не видеть их в гимпе?

    По моему мнению, GIMP все же не программа для верстки, а программа для обработки фото или рисования простых картинок пером.
    Ответ написан
  • Как ввязаться в большой opensource-проект?

    @egorinsk
    Я советую для изучения Chrome/Chromium. Почему? Потому, что у него грамотно организованный код и есть design documents — описание архитектуры и устройства отдельных компонент. вот, смотрите: www.chromium.org/developers/design-documents/. Также, там применяется много технических хитростей.

    Если вам, к примеру, интересно узнать, как работает композитинг (и аппаратное ускорение рендеринга), вы просто читаете соответствующий диздок и смотрите упомянутые там классы.

    Если вам вообще интересна не какая-то часть продукта, а общее устройство — ищите главный файл приложения и функцию main() и вперед… несколько дней, проведенных в изучении путей вызова функций помогут вам составить представление о работе ПО.

    Естественно, по ходу разбирания в коде вам могут понадобиться мануалы, например заглядывать в MSDN для подробностей функий WinAPI, документацию внешних библиотек, возможно, еще что-то. Если речь о С++ (а в Хроме он используется), вам также полезно укрепить знания этого языка, пролистав Страуструпа и почитывая C++ FAQ (я не помню ссылки, найдите сами в Гугле, но любой уважающий себя С++ разработчик должен знать то, что там написано, так как С++ на редкость богат возможностями выстрелить себе в ногу).

    Все мануалы и подробности — только на английском, если вы его не знаете, то вам остается только читать сам код и пытаться угадать. как он работает и за что отвечает.

    Ок, допустим Хром вам неинтересен, вы хотите залезть в ядро Линукса. Опять же, гуглите диздоки и все, что на них похоже, например, во многих проектах это называется Hacker's manual/hackers reference — там обычно описывается общая структура проекта и какой модуль за что отвечает.

    Говоря кратко, ядро Линукса состоит из отдельных подсистем, каждая из которых управляет набором таблиц и списков (таблица процессов, список открытых файлов, список страниц памяти). Изучать его проще всего, взяв системный вызов, например fopen() или kill() или fork() и посмотрев, какой код вызывается в ходе его выполнения. Обычно это проверки прав пользоателя, проверка состояния процеса, вызов хуков, и, наконец, самое главное — модификация каких-нибудь таблиц, например добавление сигнала в очередь процесса.

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

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

    Вот, например, сходу нагуглилось: tldp.org/LDP/tlk/tlk.html (старый документ), www.kernel.org/doc/htmldocs/kernel-hacking.html (не очень старый). Также, в дереве исходников ядра есть папка с говорящим названием documentation, также там разбросаны файлы readme.
    Ответ написан
    1 комментарий
  • Хочу попробовать себя в GameDev, куда податься?

    @egorinsk
    1) Перл сразу закапывайте.
    2) Java/C++ — это отличный язык для написания серверных компонент онлайн-игр. Но вот где найти, чтобы игра была еще и Open Source — загадка.

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

    Если вы хотите в первую очередь развить навыки программирования игр, вам надо идти не в опенсурс, а в коммерческую компанию, которая ими занимается. Востребованы как опытные специалисты, так и неопытные, если они не боятся и не ленятся изучать новое. Часто эта работа и оплачивается неплохо.
    Ответ написан
    2 комментария
  • Как починить Squid?

    @egorinsk
    Что касается «коротких форм» — проблема в версии протокола?

    А теперь, почему не хотят идти программисты.

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

    1) мало денег платят (есть такие конторы, типа веб-студий, которые делают сайты за 5 000 руб, они естественно на всем экономят)
    2) сложные задачи (не хватает уровня знаний, и проще пойти в компанию где все попроще, а зарплата такая же, например, фермы для соцсетей, PHP, приложения для андроида, сайты на друпале)
    3) редкие технологии (если вы пишете на Перле, Хаскелле или подобных языках, не удивляйтесь)
    4) посмотрели на тестовое задание и не поняли, как его делать
    5) посмотрели на тестовое задание, поняли за секунду, как его делать, но тут же поняли что это скука смертная, и если тестовое задание такое скучное, что же дальше будет

    Почему не идут люди без опыта? Потому, что не соответвуют требованиям вашей вакансии.

    Что касается «есть места, где можно за 100 ничего не делать», откуда вы знаете, может эти люди пару месяцев назад ходили и рассказывали про места, где можно за 150 ничего не делать, только вот почему они тогда ходят по собеседованиям… странно. Могу ошибаться, но люди таким отношением вряд ли будут хорошо работать.

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

    У вас даже ссылка вместо тестовых заданий ведет на какое-то письмо, из которого я понял только, что работа заключается в склеивании с помощью костылей каких-то продуктов на Яве (один из самых скучных языков программирования).

    Что еще сказать. Ищите людей в регионах (где они например мучаются в упомянутой студии сайтов за 500 рублей и может и не против переехать), если опыта не требуется, берите студентов на стажировку, украинцев нанимайте, на фрилансе поищите, там людей много, вдруг кто захочет расстаться со свободой, объявления вешайте на hh/hantim. Ищите в тематических форумах, посвященным используемым продуктам. Не ленитесь.

    А от тестовых заданий не надо отказываться. Поверьте, если человеку лень его сделать, ему и работать тем более будет лень, уж в чем-чем, а свойствах лени я разбираюсь отлично.
    Ответ написан
    1 комментарий
  • Open source проект для участия (С++)?

    @egorinsk
    > Чтобы окончательно не погрязнуть и совершенствовать навыки ищу open source проект, в котором можно было бы получить навыки в следующих областях: multithreading, highload, network programming.

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

    Отлично, напишите Open-source модуль для фасеточного (или как это там называется?) многокритериального поиска. Чтобы, например, с его помощью можно было сделать поиск по характеристикам товаров, как в Яндекс-маркете, или как по людям вконтакте. Данные поисковый демон может как сам брать из MySQL, так и принимать в Xml формате. Демон должен искать по миллионам записей в предельно краткое время. Слабо?

    Простая задача? Сделайте то же, но с возможностью масштабирования на несколько узлов.

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

    По поводу работы с текстом — тоже есть задача. Добавьте в Sphinx средство для поиска слов с типичными опечатками (например, башеный кран вместо башенный), неправильно написанных составных слов (патч-корд и патчкорд), и всяких артикулов/идентификаторов (например, при поиске RS232 находится и RS-232 и RS 232).

    Третья задача. Бесплатный Open Source модуль склонения слов, имен, городов и словочоетаний. Чтобы например, из слов «башенный кран» можно было сгенерировать падеж: «о башенных кранах». Чтобы он был на Си++, не тормозил и не жрал память как бешеный.
    Ответ написан
    1 комментарий
  • Почему в России под опенсорс проекты не принято заводить IRC-канал?

    @egorinsk
    Наверно, потому что разработчикам придется круглосуточно сидеть там и отвечать на вопросы?

    А так, для внутрикомандного общения, удобнее всего скайп.
    Ответ написан
    2 комментария