22 сент. 2014 г.

Что делать с Raspberry Pi

Попала мне в руки относительно недавно Raspberry Pi. Поигрался, поставил разные дистрибутивы линуха на нее... Но на этом все закончилось. Какого-то конкретно применения не нашел. Варианты, найденные в ъоде опросов и серфинга:
1. Первое, что все отвечают на вопрос: "А что с ней делать?", — Домашний медиацентр и Онлайн-Телевизор! Не смотрю я телевизор. И из медии мне вполне хватает iPhone или ноута.
2. Умный дом! В съемной квартире его делать не вижу смысла.
3. Переносная рабочая линукс-станция! А ноут на что?
4. Домашний WiFi-роутер. Сейчас специализированные железяки стоят значительно дешевле и в обслуживании гораздо проще при той же функциональности.

Но несколько вариантов использования мне показались таки полезными даже для домашнего использования:
1. AirPlay (сотоварищи: WiDi, Miracast)-host. Подключается к монитору, телевизору через HDMI, раздает подключение через WiFi, BT, etc. Позволяет вести презентации, воспроизводить аудио/видео с большинства современных смартфонов и планшетов.
2. Паровозом к п.п.1 идет Презентационный комп. Такая себе навороченная фоторамка с внешним экраном. Не сильно он может конкурировать с ноутом, например, но при определенных входных условиях вполне может оказаться полезным. Если, к примеру, его нужно использовать всегда в одном помещении. Спрятать его где-то в шкафчике рядом с телевизором и не таскать с собой ноут, а только SD-шку менять с обновлениями.
3. Принт-сервер. Сетевой модуль для принтеров от HP стоит порядка $100. И далеко не все принтеры поддерживают такие модули. А тут, за $35 (плюс время на настройку) принт-сервер, способный обслуживать практически любой вариант подключения как пула принтеров (USB, LPT, Ethernet, etc), так и клиентов (MS Windows, Mac OS, Linux, iOS, Android, и т.д.). В том числе с возможностью подключения внешнего жесткого диска, что в случае большой очереди печати очень даже нужно. В крупных компаниях, конечно, для этого используют серьезные сервера. Но для рынка SoHo это применение, думаю, очень даже оправдано.
4. Собственно, Фоторамка. В отличие от имеющихся в продаже готовых рамок Raspberry Pi (и его аналоги) позволяет подключить, например, облачное хранилище данных. Поскольку фотографии сейчас в основной массе своей не переводятся из цифры на бумагу, а показывать их иногда хочется, то для семейных электронных фотоальбомов, думаю, нашлись бы потребители.

На этом пока мои варианты иссякли.

15 сент. 2014 г.

Mac OS + Midnight Commander

mc (midnight commander) == фактически единственный файловый менеджер, используемый в среде консольных *nix-ов сотоварищи. Ну, кроме command line, конечно. Но и в GUI среде он тоже дает профит. В Mac OS у меня прижился только он, не считая штатного Finder. Установку я делаю из бинарей, взятых тут. Настроек особых он не требует.
Единственное, что я (как и остальные, я думаю) не смогли побороть игнорирование mc клавиши Alt, замененной на маковских клавах на option. Но совсем недавно я таки нашел, чем ее заменить. mc замечательно понимает комбинации:

  • Esc-Enter (Alt-Enter) — скопировать имя файла под курсором в командную строку
  • Esc-h (Alt-h) — история команд
  • Esc-Tab (Alt-Tab) — варианты продолжения набранной команды

23 июл. 2014 г.

Вариант оценки потенциального работодателя для ITшника на этапе собеседований.

Интересный вариант оценки IT компании вычитал на RSDNe. Кое-что субъективно, но есть здравые мысли:

"Здравствуйте, уважаемые форумчане. В связи с поиском работы, а также в ходе ретроспективного анализа моих предыдущих мест работы, спешу поделиться своими мыслями о том, на какие неочевидные детали при собеседовании стоит обратить внимание дабы избежать компании/фирмы/организации в которых будет неуютно инженеру с богатым опытом, а также инженеру, перманентно стремящемуся к профессиональному и финансовому росту. Для каждой детали у меня есть своя гипотеза, почему именно она является неприемлемой.
Итак, начнём с собеседования с hr-менеджером
— с вами пытается торговаться о зарплате HR-менеджер и/или первым делом пытаются выяснить "минимальную сумму, за которую Вы согласны работать"
Сразу отметаем подобные организации. Дело в том что организация может искать человека с целью 1) закрыть вакансию 2) найти человека, который будет реально помогать делать продукт. В чём же отличие, спросит пытливый читатель? А отличие в том, что первый вариант предполагает менеджмент уровня "получить деньги на старт/продолжение проекта и набрать 'ресурс' за минимальный бюджет", в то время как второй вариант предполагает менеджмент уровня "собрать сильную команду на годы, для успешного создания и развития продукта". В результате разница разительная. В первом случае получается команда в среднем слабо компетентных разработчиков, просиживающих большую часть рабочего дня за интернетами, чаепитиями либо беседами "за жизнь". При этом над ними с кислыми минами и претензиями как коршуны вьются менеджеры проектов, которые являются в таких организациях first-class citizens. Что в принципе обосновано, т.к. вся работа по обеспечению притока капитала лежит на менеджерах. Во втором случае получается команда сильных профессионалов, которые большую часть рабочего времени делают продукт, обеспечивают качество продукта, и связь между притоком капитала и качеством продукта самая непосредственная. В этом случае именно инженеры являются first-class citizens. Подытоживая — во всех организациях, о которых я могу сказать что они ищут людей по схеме №2, вопрос о зарплате задавался после всех собеседований.
Вариант №1 практически всегда (пресловутые 95%) встречается у "интеграторов", "аутсорсеров", "стартапов", а также примерно в половине случаев она встречается у продуктовых компаний, причём чем крупнее компания — тем вероятность выше.Вариант №2 в 95% случаев встречается у небольших компаний со штатом инженеров в пределах дюжины, имеющих свой продукт который приносит стабильный доход.
— hr-менеджер даёт вам "психологические тесты"hr-менеджер действительно может оценивать кандидата в плане психологии, являясь фильтром для очевидно неадекватных кандидатов, однако тесты это уход hr-менеджера от ответственности в принятии решения, а так как работа hr-менеджера есть отражение менеджмента в целом, готовьтесь к тому что в организации весь менеджмент избегает ответственности любыми доступными средствами


Собеседование с техническим менеджментом ( тимлид/техдир )— в качестве системы контроля версий используется git ( исключение — open-source проекты )это может показаться забавным, но именно этот пункт является ярким индикатором незрелости/неадекватности команды инженеров. Дело в том что идеальной для подавляющего числа организаций является централизованная vcs, в частности svn ( в купе с vpn-доступом). Так как распределённая vcs вносит дополнительный уровень сложности, а количество инструментов для работы с тем же svn в разы больше чем для работы с другими vcs, то должна быть очень веская инженерная причина для использования git/mercurial/etc. Если вы поинтересуетесь причиной и вам в ответ скажут что-то пространное ( вроде "в git легко делать бранчи" либо "весь мир давно перешёл на git", "в git можно коммитить локально" ), то с вероятностью 95% вы имеете дело с молодой порослью — читателями ксакеп.ру, хабрахабр, лор, которые далеки от инженерии как Линус от балета.
— вам дают тесты на техническом собеседовании или "тестовое задание" на домздесь одно из двух, либо вы — молодой, подающий надежды специалист, которого не о чем спросить кроме как о виртуальных деструкторах, либо собеседующий вас — некомпетентен и опять же ( как в случае с hr ) избегает ответственности в принятии решений. Человека с опытом можно распознать в простой беседе о двух вещах: 1) зашипленных проектах и его роли в них 2) беседой о том как бы человек решил инженерную задачу ( реально существующую в компании или выдуманную — не суть ). В рассказе по этим двум пунктам важно услышать всё — и собранные требования и выбранные инструменты и примерный дизайн решения. Предложение же сделать домашнее тестовое задание — это моветон в чистом виде. Максимум что от вас могут попросить вменяемые технари — это пример кода.

Поле боя— у разработчиков один мониторБез комментариев. Просто бегите.
— рабочее место сильно ограничено по площадиЛюди цепляются локтями/спинками кресел? Вам здесь не рады."

17 июл. 2014 г.

Обзор: Don’t Overwhelm Yourself Trying to Learn Too Much

"Don’t Overwhelm Yourself Trying to Learn Too Much". В трех словах: "Нельзя объять необъятное". В данном случае — в приложении к самообучению программистов. Держать себя в тонусе конечно нужно, но если наброситься на все новости, инструменты, языки, методики, то специалистом все равно во всех областях не станешь, а сил и времени не вернешь. Походу к этим мыслям приходят со временем все. И Козьма Прутков тоже был не первым.

Обзор: What Makes a Good Check-in?

В статье "What Makes a Good Check-in?", как ни странно, обсуждается не Forsquare, а SVN. Потому я бы назвал статью в "What Makes a Good Submit?", но что есть, то есть. В статье рассуждается про пользу систем контроля версий, про то, как должен оформляться сабмит для того, чтобы нести реальную пользу для его автора и всех последующих пользователей. В общем, ничего особо нового, но освежить знания и понимание необходимости правильных самитов помогает.

12 июл. 2014 г.

Рабочее соглашение для фрилансера

Наткнулся на Work Agreement, предложенное одним из фрилансеров для использования его в качестве предварительной договоренности с работодателями на Odesk. Как по мне — неплохая "рыба", которую можно отсылать перед началом сотрудничества.
Решил сохранить у себя:

Work agreement

0.Preamble:
  Please read this agreement carefully. This will help you make a decision about my hiring and will give some understanding of ​​the workflow. This agreement applies to hourly jobs.

1.Workflow:
  Most projects consist of the following stages:   
  1.1. Interview:     
  It's time for acquaintance and general discussion about the project. You can ask me any questions and give a small tests to confirm my skills. I will ask you general questions about the project to understand what it is and what can I do. If all goes well, this step ends my hiring.   
  1.2. Requirements and large design:     
  The objectives of this step is clarification of requirements, creating and approving of the statements of work (problem). And then building a comprehension of ​​what should be the result of this work (solution). At this step we will discuss in detail: the functional requirements ("what and how it should do"), the user interface ("look and feel"), the internal architecture ("what be inside") etc. This step not will be included in the time track (i.e., it is free). But it is a significant part of the work so it will be make only after you hire me (I want to be sure that you are serious about the project).   
  1.3. Development:     
  It's the longest step. Here I will do small design, coding and test your solution. Usually this step induce a small amount of questions so we will do not communicate very often. I highly recommend watch my work diary and notify me immediately if you find any problems or you have any questions or any suggestions, it's will save our time. Upon completion this step you will get a turnkey solution for testing.   
  1.4. Integration and testing:     
  Here you will make test of turnkey solution, and make conclusions about suitability or about necessity do some changes (that will take us back to 1.2). If you satisfied we close this contract.   
  1.5. Maintenance:     
  If after ends contract you will have any questions or you found a bug, you can contact me and get help.

2.Warranty:
  2.1. Money back:     
    You can get your money back within the first week after start the contract.   
  2.2. Maintenance:     
    After completion of the contact you get a free 1 month (2 months for regular customers) of maintenance.

3.Regular customers:
  I really appreciate regular customersso if you back within next 3 months after ends contract you will get additional bonuses:   
  3.1. 15% discount.   
  3.2. Additional month of maintenance.

4.Additionally:
  By the accumulation of experience I will be change this agreement, but it has no effect on current customers.

1 июл. 2014 г.

Обзор: Vim for people who think things like Vim are weird and hard


Статья ничего нового не рассказывает. Описываются принципы работы в Vim, его плюсы и пара минусов. Однако одна деталь реализации культового редактора подмечена очень точно: Vim, на самом деле, довольно литературный. Практически все команды и сочетания клавиш составлены из соответствующих слов и в сочетаниях звучат как цельные предложения: 
  • diw is delete inside word.
  • cat is change around tags.
  • f> is go forward to a closing chevron (>).
  • vi" is visualise inside quotes (").
Интересное замечание, которое может значительно помочь в освоении программы. 

6 июн. 2014 г.

По мотивам новостей и статей.

Решил постить в блог свои мысли и заметки по поводу прочитанных новостных и не очень статей.
Начну с Beware the next circle of hell: Unpatchable systems в Infoworld. Основной вывод из теста статьи:
Со временем и софт и железо морально устаревает. Кроме всего прочего (устаревающие алгоритмы, повышенное энергопотребление, ограниченный набор функций) и то, и другое изучается и потенциально подвергается попыткам взлома. Поэтому давая жизнь какой-то системе нужно предусматривать возможность обновления. А с точки зрения потребителя этих систем нужно предусматривать возможность обновления и замены софта/оборудования, которые не поддерживают обновления. 

16 мая 2014 г.

Бадабум: Stackowerflow

В копилку бадабумов. stackowerflow.com решил прилечь.
И stackexchange.com с ним напару.

15 мая 2014 г.

Креативное описание вакансии: PHP программист космодесантник

Heliant разместили на HH замечательно оформленное описание вакансии "PHP программист космодесантник":
Даром что в Казахстане :)

Facebook наконец-то сделал оффлайн-постинг.

Не прошло и 10 лет. Facebook наконец-то добавил возможность делать посты в отсутствие интернета. Постятся они, естественно, когда появляется подключение. Но зачастую нужно что-то запостить в метро, или в дороге, где нету сети.

5 апр. 2014 г.

Notebook HP nx6125: Скрытые возможности

Есть у меня на хозяйстве вот такой старичок — HP Compaq nx6125. 2006 года выпуска. Машинка качественная, хорошо подогнанная, для своего времени очень мощная. На данный момент ее хватает только чтоб серфить в инете да фильмочки смотреть оттуда же. Для этого, собственно, и пользуем ее. Есть у нее стандартная ноутбуковская фича — тачпад. С двумя кнопками. Одна из первых, насколько я помню, получила специальную Scroll Zone на тачпаде — специальная вертикальная зона в правой части окошка, перемещение пальца в которой рассматривается как прокрутка колеса скроллинга мыши. Фишка стандартная и далеко не часто используемая. 
Однако недавно поставил я на него Linux Mint 16. И с удивлением заметил, что появился двухпальцевый скроллинг a-la Apple. То есть на момент производства этого аппарата (а это было не позднее 2005 года) уже существовали и использовались устройства ввода с мультитачем! Только вот программно они не поддерживались. Возникает вопрос: какие еще скрытые возможности есть у старых железок? Что этот ноут выкинет при очередном обновлении Линукса?