• Подборка интересных фактов о великих айтишниках

      Джордж Буль


      Джордж Буль (1815 — 1864) — английский профессор математики, чьи работы способствовали созданию современной символической логики. Его алгебра логики, называемая булевой алгеброй или булевой логикой (алгебраическая структура, дополненная дистрибутивная решётка и часть математики, которая изучает подобные структуры) — основополагающая для проектирования современных цифровых схем. Работы Буля воплотились в приложениях, которые он никогда бы и представить себе не смог.
      Читать дальше →
    • Лучший друг айтишника

        День рожденья только раз в году

        Всем известно (а кому неизвестно — сообщаю), что лучший друг айтишника — не клава, и не мышка, а кошка. Ну или кот.

        Теплый ламповый котэ несет возмездие успокаивает расшалившиеся нервы, доставляет (хе-хе) массу положительных эмоций и помогает нам хоть иногда отрываться от монитора.

        Этим нашим помощникам по жизни я и посвящаю сей топик.

        UPD: Под катом ОГРОМНЕЙШЕЕ количество кототрафика! (более 50 мегабайт фоток. Мой ФФ просто умирает от этой простыни...)
        Читать дальше →
      • App Store — получение денег

          Когда мы только начинали заниматься вопросом создания приложений для iPhone/iPod Touch, остро стоял вопрос легализации получения денег, т.к. яблочники их отправляют только на банковский счет.
          Аккаунт мы регистрировали на физлицо, но, в связи с нашим интересным законодательством, проблема абсолютно актуальна и для аккаунтов компаний.

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

          Итак, есть 2 основных варианта открытия валютного счета для получения денег из-за границы SWIFT-переводом: счет предприятия (ЧП, ООО, ОАО — без разницы) и счет физлица (частного лица).

          Больше под катом
        • Азбука хорошего разработчика. Книжки для чтения

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

            Паттерны проектирования
            Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
            Базовая книга – классика:
            «Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

            Рефакторинг
            «Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
            Читать дальше →
          • Регистрация в iPhone Developer Program. Версия от 17 декабря 2009 года (актуальная)

              автор: Александр Кротов.
              сайт автора: i.krotoff.org

              После недавней регистрации аккаунта разработчика в app store и написании своего первого пробного приложения я озаботился двумя вещами: первое — как и где «пиартить» своё приложение; второе – как поднять продажи.
              Начиная с начала хочу в вкратце обрисовать свой путь в app store. Хотя о том, как регистрироваться и как заполнять всяческие договора и бланки, написано не мало, но всё же, процедура постоянно видоизменяется и эти изменения подчас заводят в тупик. Так что информация тоже нуждается в апгрейде.

              Читать дальше →
            • 3 лекция курса IT-предпринимательство. Методики сбора информации и генерации идей и небольшое введение в Agile

                В субботу в Минске прошла 3 лекция большого бесплатного проекта IT-предпринимательство.
                На этот раз перед более чем сотней стартаперов выступили два специалиста. Причем, специалисты не только в своих областях, но и в деле подачи материала.
                Получились две принципиально разных части — по гуманитарной и технической составляющей проектов. Но обе лекции были интересны как программистам, так и дизайнерам.

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

                Вторая часть — Владимир Лешкевич, который рассказал понятным языком о методологиях программирования и о «подводных камнях» методологий. в т.ч. и Agile. Его презентация называлась «выбор методологии разработки коммерческого ПО».

                Презенташки и видеоверсия лекций

                Предыдущие лекции


                Вторая лекция была об инвестировании в стартапы, ее читал Андрей Могин, специалист по оценки стоимости компаний и автор книги про IPO (линк)
                Первую лекцию читал Юрий Зиссер. И она, в большей степени, была об истории возникновения тут бая и о прописных истинах (типа пирамиды потребностей Абрахама Маслоу) (линк)

                Вообще, сам образовательный проект «айти-предпринимательство» — первый белорусский опыт обучения стартаперов. Тем отраднее, что курс бесплатный и материалы курса доступны всем желающим.
              • Поиск пути в двухмерном пространстве: компонент AStar (action script 3.0)

                  Данная статья представляет собой описание компонента AStar, реализующего простейший поиск пути по алгоритму А*. Существует много исходных кодов с реализацией данного алгоритма, однако предлагаемый мною компонент прост в использовании и хорошо документирован. Несмотря на малое количество методов и свойств, компонент весьма гибкий и применим во многих областях (хотя, конечно, разработчикам игр он придется больше всего по душе). Компонент будет дорабатываться в соответствие с пожеланиями и замечаниями читателей. Поэтому прошу всех заинтересованных писать мне на почту или в комментариях.

                  Далее идет исчерпывающее описание компонента и ссылки, по которым файл компонента можно скачать
                • Вебсервер на bash+inetd

                    Понадобилось мне отвечать на http запросы извне и неким образом их обрабатывать (подключались к терминалам экспресс-оплаты). Первое решение было на Nginx+FastCGI(PHP), что было несколько неоправданно тяжеловесно. И тут меня посетили старые воспоминания и благодаря ru_root в ЖЖ и Гуглю было сделано следующее:

                    [root@mysql-02 /etc]# cat services | grep freecashpayment
                    freecashpayment 433/tcp
                    freecashpayment 433/udp

                    Этим мы объяснили серверу, что на порту 433 у нас теперь живет сервис по фамилии freecashpayment

                    [root@mysql-02 /etc]# cat inetd.conf | grep freecashpayment
                    freecashpayment stream tcp nowait root /usr/home/firefly/freecashpayment.sh freecashpayment.sh

                    Так мы заставляем слушать порт 433 и отвечать на нем скриптом freecashpayment.sh

                    [root@mysql-02 /usr/home/firefly]# cat freecashpayment.sh
                    #!/usr/local/bin/bash
                    read request
                    while /usr/bin/true; do
                    read header
                    [ "$header" == $'\r' ] && break;
                    done
                    url="${request#GET }"
                    url="${url% HTTP/*}"
                    echo $url


                    В результате в скрипте в переменной $url у нас имееются все параметры, которые нам прислали в GET-запросе. echo же нам выведет все что надо в ответ.

                    Мы счааааасливы :)
                  • 16 очень дорогих гаджетов, подходящих роскошному образу жизни

                      1. Triton 1000 — люксовый батискаф, $1 690 000.

                      Triton 1000 — последнее творение компании U.S. Submarines. Это легкий, двухместный, практически минимально доступного водоизмещения батискаф, предназначенный специально для погружения с роскошных яхт. Высотой в 1.8 метра, длиной всего 3 метра и весом в 3.3 тонны, Triton 1000 может эксплуатироваться на практически любой лодке среднего класса.

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

                      Несмотря на то, что Triton 1000 задумывался, как очень легкий в управлении батискаф, где все контролируется джойстиками и компьютером, компания-производитель предоставляет курсы погружения и управления совершенно бесплатно, что делает покупку за чуть больше, чем полтора миллиона долларов, по-настоящему выгодной!
                      Читать дальше →
                    • ТОП 10 самых раздражающих факторов для программиста

                      • Перевод
                      Совсем недавно наткнулся в интернете на забавный "хит-парад" наиболее раздражающих вещей для программиста. Поскольку он был на английском — решил перевести текст и несколько адаптировать к нашим реалиям…

                      ТОП 10 самых раздражающих факторов для программиста


                      Читать дальше →
                    • Идеи и результат

                        Корреляция

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

                        — Ах он такой, дурак, он нас умных не слушает, делает неизвестно что, его проект провалится!

                        И уж если он, действително проваливается, тут нет конца счастья! Вот оно! Свершилось то, о чем они говорили! Их не слушали и, вот, проект загнулся! Ура товарищи! Ещё раз доказали что мы были правы!

                        Я попытался разобраться в этом феномене и понял что проблема в видении целей проекта и задач которые перед собой обычно ставят одни и другие.

                        Читать дальше →
                      • Что ты видишь?

                          В больнице в одной палате лежали два тяжело больных человека. Один лежал у окна, а кровать другого располагалась у двери.

                          — Что там видно в окне? — как-то спросил тот, что лежал у двери.

                          — О! — оживился первый. — Я вижу небо, облака, напоминающие зверюшек, озеро и лес вдалеке.

                          Каждый день лежащий у окна рассказывал своему соседу о том, что происходит за окном. Он видел лодку, рыбаков с огромным уловом, детей, играющих на берегу, юных любовников, держащихся за руки и не сводящих друг с друга сияющих глаз.
                          Читать дальше →
                        • Subversion: чеклист по правильным коммитам

                            Предполагаем, что читатель: а) работает в коллективе; и б) осознал необходимость правильной работы с системами контроля версий или хотя бы поставлен перед необходимостью использовать таковую.

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

                            Грубо разделим фазы разработки проекта на три — дебют, миттельшпиль и эндшпиль.

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

                            В миттельшпиле система в целом стабилизировалась, продукт близится к релизу. Рефакторинг более чёткий, хотя и иногда достаточно обширный. На этом этапе ожидается уже, что система в целом работает — по крайней мере, сломанный репозиторий порицается.

                            Наконец, в эндшпиль система переходит непосредственно перед релизом и сразу после. Для веб-приложений постоянно добавляются новые относительно небольшие возможности, а крупные изменения сначала тестируются на ветках. Для более традиционных приложений наоборот, создаётся ветка для maintenance релизов, а разработка следующей большой версии продолжается на стволе.

                            Читать дальше →
                          • PhoneGap: как сделать приложение отзывчивым

                            • Tutorial
                            На сегодняшний день существует немалое количество обзорных статей о PhoneGap, но к сожалению, написаны они или front-end разработчиками, которые решили заняться мобильными платформами, или нативными программистами, которые решили попробовать себя в кроссплатформенной разработке. И именно с этих позиций рассматриваются достоинства и недостатки PhoneGap'а, возникают статьи о том, «насколько крута кроссплатформа», или об «ущербности кроссплатформенных решений».

                            В качестве затравки — видео демо-приложения, написанного за 6 часов; готовым был взят UI-бутстрап, наверстанный за 3,5 часа; использовались библиотеки iScroll, backbone, underscore, Jquery, и небольшая обертка на backbone (RAD.js — rapid application development, архитектурный фреймворк, берущий на себя часть оптимизации, связанной с мобильной средой выполнения).


                            Еще 2 часа было потрачено на фикс движка. Но сегодня речь не о том, что что-то тормозит, дергается, или самописный свайп не всегда вовремя отрабатывает на 14000 объектах данных; речь о том, что на PhoneGap можно и нужно писать.

                            Выносим на Ваше рассмотрение мнение людей, которые занимаются кроссплатформеной разработкой на PhoneGap, дабы рассказать о том, какие тонкости мы находим нужными и важными при разработке на PhoneGap, и почему они так важны.
                            Читать дальше →
                          • Как вывести деньги из App Store на карту Payoneer

                              Обещанного ждут не три года, а всего несколько месяцев. В нашем прошлом посте мы обещали рассказать про вывод из App Store и, вот, рассказываем.

                              Многие владельцы карт Payoneer зарабатывают на жизнь нелегким трудом разработчика приложений. А перед каждым разработчиком (или компанией оных) рано или поздно встает вопрос вывода заработанных средств. Услуга US Payment Service компании Payoneer позволяет получать выплаты от Apple, PayPal и Google и многих других прямо на вашу карту Payoneer MasterCard.
                              Читать дальше →
                            • IEEE 1588 Precision Time Protocol (PTP)

                              Много статей написано про всем известный Network Time Protocol (NTP), в некоторых из них упоминается про Precision Time Protocol, который якобы позволяет добиться точности синхронизации времени порядка наносекунд (например, тут и тут). Давайте разберемся, что этот протокол собой представляет и как достигается такая точность. А также посмотрим результаты моей работы с данным протоколом.
                              Подробности
                              • +36
                              • 49,9k
                              • 7
                            • Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 16

                              • Перевод
                              • Tutorial

                              Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

                              Один из студентов лекции записывал и выложил транскипт. В данном хабратопике degorov, переводит шестнадцатое занятие, редактор astropilot.

                              Занятие 1: Вызов будущего
                              Занятие 2: Снова как в 1999?
                              Занятие 3: Системы ценностей
                              Занятие 4: Преимущество последнего хода
                              Занятие 5: Механика мафии
                              Занятие 6: Закон Тиля
                              Занятие 7: Следуйте за деньгами
                              Занятие 8: Презентация идеи (питч)
                              Занятие 9: Все готово, а придут ли они?
                              Занятие 10: После Web 2.0
                              Занятие 11: Секреты
                              Занятие 12: Война и мир
                              Занятие 13: Вы — не лотерейный билет
                              Занятие 14: Экология как мировоззрение
                              Занятие 15: Назад в будущее
                              Занятие 16: Разбираясь в себе
                              Занятие 17: Глубокие мысли
                              Занятие 18: Основатель — жертва или бог
                              Занятие 19: Стагнация или сингулярность?
                              Читать дальше →
                              • +43
                              • 24,2k
                              • 6
                            • Коллекция ресурсов для frontend и backend разработчиков

                                image

                                Некий dypsilon выложил на GitHub огромную коллекцию ссылок на ресурсы по веб-разработке, за что ему огромное спасибо.

                                Список состоит из ссылок на библиотеки, руководства и статьи.

                                Frontend: github.com/dypsilon/frontend-dev-bookmarks
                                Backend: gist.github.com/dypsilon/5819528 (много node.js)

                                Ссылок много, но все — строго по делу и упорядочены по группам (пример для фронтенда):
                                1. Архитектура
                                2. Фреймворки
                                3. Cross Browser
                                4. Cross Device
                                5. Паттерны и сниппеты
                                6. Манипуляция с DOM
                                7. … и многое другое

                                matmuchrapna советует еще frontdesk Вячеслава Олиянчука.
                                Настоятельно рекомендуется добавить в закладки, а лучше — почитать.
                              • AngularJs. Отложенная загрузка модулей

                                  AngularJs – великолепный фреймворк для разработки web-приложений. Разработка бизнес-логики приложения полностью отделена от сопутствующей суеты вокруг DOM. Angular модульный – это замечательно, но так же является источником проблемы. Количество модулей быстро растёт. И если директивы ещё можно упаковывать в отдельные пакеты типа angular-ui, то с контроллёрами бизнес-логики всё сложнее. Всё становится ещё хуже, когда требования безопасности в принципе запрещают загрузку на клиента контроллёров с бизнес-логикой, которые недоступны текущему пользователю. При развитой ролевой системе доступа к приложению масштаб проблемы становится очевиден.
                                  Решение