• Сравнение встраиваемых ЯП по размеру в исполняемом файле

      В рамках одного из моих SDK-проектов нам понадобилось добавить скриптование, которое бы оказало наименьший эффект на размер конечного бинарного файла, но при этом предоставляло хорошую фунциональность. Это дало старт проекту, который описан в этой статье. Прошу заметить, что т.к. в SDK у нас есть определенные требования, они частично перенеслись на язык скриптования, поэтому в проекте не участвовали некоторые достаточно известные встраиваемые ЯП (но Lua включен для сравнения).


      Сайт проекта доступен по ссылке. Скажу сразу, что на данный момент для меня лично победителями являются Chibi-Scheme и Wasm3. Подробности для заинтересовавшихся под катом.

      Читать дальше →
    • Поиск работы за рубежом

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

        Итак, вы задумались о поиске новой работы.
        Читать дальше →
      • Прохождение интервью — взгляд изнутри

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

          Все нижеописанное характерно для моей компании, но сам HR достаточно стандартен по калифорнийским стандартам (что сейчас уже практически стало международными стандартами). Никакого пиара, так что просто в двух словах: моя компания — это маленькая транснациональная компания со штатом где-то в 4000 человек, HQ — в Palo Alto, R&D (где я работаю) — Vancouver, BC. Я интервьюирую на позицию в моей команде, которая занимается разработкой web-frontend для встраиваемых устройств (используется Python, C и стандартный HTML-набор).
          Читать дальше →
        • BBCode-enabled Growl Webkit Style

            Продолжая тему Изучаем иностранные выражения (и не только), создал отдельный плагин для Growl, который поддерживает расширенное форматирование. Я считаю что для изучения языка (а не просто выражений) надо выводить немного больше информации, чем просто строчку «оригинал — перевод», например, добавлять контекст. Но в этом случае надо как-то отделять смысловые блоки друг от друга, желательно, визуально. Данный плагин это позволяет делать.

            Естественно, возможности использования плагина не ограничены — он поддерживает полный набор BBCode-тегов. В данной заметке я расскажу как проинсталлировать и использовать плагин.
            Читать дальше →
          • Изучаем иностранные выражения (и не только)

              В этой заметке я расскажу как использовать GrowlNotify, Launchd и AppleScript для периодического вывода всплывающих сообщений (на примере классических латинских выражений). Заметка рассчитана на новичков, профессионалы вряд ли найдут для себя что-то новое.

              Для всех вышеупомянутых инструментов дан краткий обзор, чтобы вы могли с минимальными усилиями сделать именно то, что вам нужно — напоминания о событиях, новых сообщениях из социальных сетей, мониторинг и диагностика сетевых сервисов и т.п. Либо можно просто сделать все так, как я описал, и через какое-то время похвастаться друзьям своим знанием латинских фраз. Scientia potentia est.
              Читать дальше →
            • Полное покрытие кода

                Нужно ли делать полное покрытие кода тестами — довольно-таки частая и неоднозначная тема при обсуждении юнит-тестирования. Хотя большинство разработчиков склоняются к тому, что делать его не надо, что это неэффективно и бесполезно, я придерживаюсь противоположного мнения (по-крайней мере, при разработке на Python). В данной статье я приведу пример, как делать полное покрытие кода, и опишу недостатки и преимущества полного покрытия на основе своего опыта разработки.
                Читать дальше →
              • Механизмы безопасности в Linux

                  В данной статье я проведу краткий экскурс в наиболее распространенные средства, связанные с безопасностью Linux. Информация предоставлена в сжатом виде, и если какое-то средство вас заинтересует, можно пройтись по ссылкам и прочитать более подробно. По заявкам пользователей некоторые механизмы можно будет рассмотреть более подробно в последующих статьях.

                  Будут рассмотрены следующие средства: POSIX ACL, sudo, chroot, PAM, SELinux, AppArmor, PolicyKit. Виртуализация, хотя и относится в какой-то мере к средствам безопасности, рассматриваться не будет, тем более что это отдельная обширная тема.
                  Читать дальше →
                • Мониторинг доступа к файлам

                    Зачастую пользователям и системным администратором необходимо отслеживать, к каким файлам обращается приложение. В Linux-е уже есть все средства для этого, и тем удивительнее постоянно слышать на форумах — есть ли аналог Sysinternal Filemon. В данной статье я опишу использование утилиты strace, и рассмотрю ряд моментов, которые ускользают от некоторых пользователей, полагающих, что приложениям надо ограничивать права даже на чтение, например, ограничить доступ mplayer-а только к показываемому фильму.
                    Читать дальше →
                  • Причины выбора Django для разработки сайта

                      Меня часто спрашивают, почему именно Django стоит использовать для написания сайтов? Почему не ASP.NET, Ruby on Rails, Grails и т.п.? Ниже я кратко опишу свое мнение, и причины, его сформировавшие. Но хочу сразу сказать, что это не сравнительный анализ фреймворков, и я не ставил перед собой цель что-то кому-то доказывать. Это просто перечисление преимуществ и мои мысли о них.
                      Читать дальше →