• Энергонезависимое решение



      Понедельник. Постановка задачи


      Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
      Читать дальше →
    • Upgrade или второе дыхание macbook MB467 (Late 2008)

      Доброго всем времени суток. Недавно столкнулся с проблемой, с которой в свое время сталкиваются все обладатели того или иного компьютера (в данной случае ноутбука), а именно — медленной работой и нехваткой ресурсов для нормальной работы вашего девайса.
      image
      MacBook MB467

      До:
      Процессор: Intel Core Duo 2.4 GHz
      Шина: 1066 MHz
      Кеш 3 MB
      Память (RAM) 4096 MB
      HDD 250 GB

      После:
      Процессор: Intel Core Duo 2.4 GHz
      Шина: 1066 MHz
      Кеш 3 MB
      Память (RAM) 8 GB
      SSD 60GB + HDD 250 GB


      Многие сразу начинают задумываться про замену своего компьютера на более новый, но т.к. финансовых средств на данный момент у меня не было я решил сделать некий upgrade своей старой лошадки. Провел парочку тестов до и после (тесты касались температурного режима работы процессора и дисков, скорости загрузки ОС и некоторых программ), и, когда я увидел, что результаты превзошли ожидания родилась эта статья.
      Читать дальше →
    • Домашняя бухгалтерия с использованием Google Docs

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

      Прежде всего всё что написано не мою — написано другим. Это очевидно. Но следствие из этого — это другой разрабатывал логику, исходя из собственных представлений об удобстве и функционале. А значит нет уверенности в том что чужие представления на 100% совпадут с моими. На хабре эта тема уже звучала.

      Второй важный момент — если системой будут пользоваться двое (не говоря уже о большем количестве), то вероятность ошибок возрастает многократно. Многие системы подразумевали наличие счёта, отображающего количество денег в кошельке. Ах, как мне нравилась программа GnuCash… Но каждый месяц я должен был добавлять транзакции для корректировки счета по кошельку жены. И на что она тратила деньги оставалось только догадываться потому как сама она не могла вспомнить, а чеки благополучно терялись.

      Исходя из вышеописанных проблем я породил ещё одну домашнюю бухгалтерию на Google Docs. Методом проб и ошибок, анализируя чужие решения и исходя из собственных потребностей я пришёл к следующим выводам.
      Читать дальше →
    • Семейный бюджет в Google Docs v3

        C Новым Годом всех, кто не может в праздники без мозговой деятельности и без хабра.
        Продолжаю полюбившуюся серию постов (раз, два) про теорию и практику ведения семейного бюджета в Google Docs.

        Я честно вел свой бюджет, написанный в Google docs год назад, и родил новую версию и новую философию (для себя) ведения бюджета. Чем и спешу поделиться.

        Вступление

        Я знаю, что есть много специализированных систем для семейного бюджета вроде 4 Конверта или ИзиФинанс, но я люблю все делать сам, ибо это позволяет сделать то, что сам хочешь и своим детищем пользоваться приятнее.

        Основные преимущества ведения бюджета на Google Docs:

        1. Можно заполнять откуда угодно (ноутбуки, телефоны, айпады) — с помощью Google forms
        2. Можно самому разрабатывать логику и визуализацию
        3. Надежность и почти 100% отказоустойчивость обеспечена корпорацией зла :)

        Немного философии.

        Зачем мы начинаем вести бюджет? У каждого есть свои причины: понять, почему за 10 дней до ЗП кончаются деньги; понять, почему долги по кредиткам только растут; понять какие расходы лучше сократить или как накопить денег на новую машину.
        Многие финансовые системы предлагают нам завести целую уйму статей бюджета и записываться свои расходы в них, не задумываясь, а зачем нам все это. Я в самом начале пошел тем же путем и столкнулся с тем, что расходы почти невозможно анализировать, т.к. часть из них были явно не постоянными (покупка ноутбука или костюма — явно расходы «по необходимости/желанию») и планировать и анализировать их невозможно.
        Сферический бюджет в вакууме — это две статьи: «приход» и «расход». Каждый день вписываете расходы и доходы и смотрите, что получается. Потом у вас появляются мысли, а что мы хотим анализировать? Кто-то хочет посмотреть, а сколько в итоге уходит денег на авто (бензин, страховка, налоги, ремонт, мойка), кому-то интересно понять, сколько он тратит на развлечения (походы в рестораны, кино, бары).
        Я советую делить статьи расходов не более чем на 10-15 позиций исходя из того, что вы хотите анализировать в этом году/квартале.

        Мои статьи расходов выглядят примерно так:
        image

        А самое интересное — как это сделать в Гуглодоксах с подробными инструкциями и формулами и примеров — под катом.
        Читать дальше →
      • TOP-10 Flash-игр

          Сегодня уже можно :)



          1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
          Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
          Читать дальше →
        • Оптимизация Windows для использования SSD на лаптопе

            Опубликовал сначала в своем блоге как ответ на вот этот топик. Спасибо доброму хабравчанину borisko, подарившему возможность перенести сюда.

            Данный материал — компиляция (полная настолько, насколько это было возможно) из нескольких источников (см. ссылки внизу поста). Буду благодарен за ответы на вопросы (они в тексте), которые у меня возникли в процессе подготовки этого материала.


            С тех пор как приобрел IBM Lenovo ThinkPad X61s (это такой маленький и удобненький лаптопик с диагональю 12 дюймов), всегда хотел его использовать в автобусе, пока еду на работу — ну и на обратном пути тоже. Однако в автобусе так трясет, что за жесткий диск становится просто страшно — его там покрошит в мелкий порошок. В связи с чем был приобретен Solid State Disk (примерно то же, что и обычная флашка, только по взрослому) фирмы OCZ, который (на тот момент) стоил безумно дешево и давал возможность попробовать все прелести SSD на собственном опыте. Был приобретен экземпляр OCZ Solid Series OCZSSD2-1SLD30G 2.5" 30GB SATA II MLC Internal Solid state disk (SSD) за фантастические по тем временам 220 долларов (все остальное начиналось с 400) и торжественно воткнут в вышеупомянутый лаптоп. Поскольку диск этот был одним из первых, так называемого первого поколения, то производительность на нем до сих пор оставляет желать лучшего. Но кое-что для улучшения как скорости работы, так и продления жизни диска, можно было сделать.


            Читать дальше →
          • Хотите ли вы коворкинг в Тайланде?

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

              Зачем это может быть нужно вам


              • Cheap life. Тот же уровень жизни можно сохранить при гораздо меньших денежных затратах. Для тех, кто любит совать это слово в каждую статью — ок, называйте это антикризисным предложением. Для тех, кто не любит — затраты настолько меньшие, что тут удобнее было жить и до кризиса.
              • Easy life. Инфраструктуры много, она рядом, она дёшева. Куча едальных заведений, кафе, рынков, развлечений разного рода. Всё в минутах езды на мотоцикле.
              • Interesting life. Это во-первых, заграница, экзотическая страна. Во-вторых, здесь встречается много интересных, свободомыслящих людей со всего мира. Здесь есть множество способов провести время активно, творчески и т. п.
              • Colorful life. Что лучше — работать в бывшем заводском цеху, или красивом тропическом саду? Я предлагаю второе!


              Зачем это нужно мне?


              Некоторые могут заподозрить неладное — если всё так клёво, то, парень, наверное, хочет подзаработать? Да, парень хочет подзаработать, однако несколько иным образом: продуктивно работая в обществе интересных, творческих коллег и единомышленников. Поэтому предприятие будет совершенно некоммерческое, как это и было принято в коворкинге изначально (признаться, меня даже коробят стерильно-гламурные интерьеры отечественных коворкинг-заведений). Поэтому я не пощу объявление «приходите к нам работать, вход стоит столько-то, фото прилагаются».

              Естественно, если дело пойдёт, такое объявление здесь появится. А пока я хочу собрать «могучую кучку» людей, которые образуют костяк коворкинг-центра. Людей, которые готовы уже готовы собрать чемоданы ;)

              Я готов предложить этим людям помощь в:
              • Переезде
              • Решении визовых вопросов
              • Ориентировании на местности

              Естественно, т. к. эти люди составят костяк коммюнити, от них требуется активность и готовность к самопожертвованию во всех вопросах, касающихся обустройства центра.

              Что скажете?

              Мини-ЧАВО по вопросам из комментов


              У меня есть жена, мне нельзя в Тайланд!
              Я не зря написал «север Тайаланда» — это совсем не пляжные секс-курорты. Здесь, можно сказать, интеллектуальный центр — много университетов, много студентов. Есть даже международные факультеты, оттого — много молодых и умных американцев и европейцев.

              Более того: семейность даже приветствуется — семейный человек более ответственен. Т. к. он приедет работать, а не зависать по барам, или кафе, или висеть весь день в гамаке. Ну и, семейным людям более интересно приехать не на какой-то там курорт для пляжной желеобразной жизни среди чёрти кого, а в более-менее приличный город для улучшения уровня жизни или сокращения расходов.

              У меня самого есть жена :). Более того, многие знакомые живут тут с 1-2 детьми совершенно разных возрастов — от грудных, до школьных (студенты уже едут учиться либо в столицу, либо в развитые страны — Австралию, Европу, США).

              Что с пасспортно-визовым режимом? Не темни!
              Безвизовый въезд, либо виза по прибытию на мес. Путём простых манипуляций можно получить и потом продлять более долгосрочные визы. Люди живут тут годами.

              Каковы траты на жизнь?
              Всё зависит от вас. Можно жить в комнате за 2500 рублей в месяц и есть за 20 рублей местную еду. Можно жить в дворце за тысячи долларов и питаться в пафосных ресторанах. Можно выбирать какие-то промежуточные состояния.

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

              Где это вообще — север Тайланда?
              Это тут!
            • Покажи мне свою бороду и я скажу кто ты

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

                • Перевод
                Дорогие разработчики, вы чувствуете себя неуютно, потому что вы быстро пишете только на восьми языках для трех семейств устройств? Вздрагиваете ли вы, едва заслышав о переходе на очередной фреймворк? Откладывали ли вы любимый проект из-за того, что не могли определить, какая облачная платформа подойдет лучше всего?
                Возможно, у вас тоже паралич разработчика. Бойтесь! Это не лечится.

                Богатство доступных программистам опций сегодня просто чудовищно. Мы задохнулись под тем, что извергает рог изобилия. Последние несколько лет я зарабатывал на том, что писал на Java, Objective-C, C, C++, Python, Ruby, JavaScript, PHP (прошу прощения) с разными вариантами SQL/баз данных (MySQL, PostgreSQL, MongoDB, BigTable, Redis, Memcached и другими). Нравится ли это мне? Черт побери, нет. По большей части я просто чувствую вину за то, что не делал ничего на Erlang, Clojure, Rust, Go, C#, Scala, Haskell, Julia, Scheme, Swift или OCaml.
                image

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

                • Перевод
                • Tutorial
                Инструменты типа Evernote позволяют находить и организовывать информацию действительно просто. Однако, временами я нахожу записные книжки более удобными, особенно на ходу.

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

                Если это Вам знакомо, то Вы, наверное, полюбите эту хитрость, которой я научился в Японии. Это может выглядеть слегка неряшливо, и я не использую это каждый раз, но временами такой вид навигации бывает очень даже полезен. Начнем наш урок прямо под катом!
                Читать дальше →
              • Парсим на Python: Pyparsing для новичков

                Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

                import matplotlib.pyplot  as plt
                

                имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

                В результате парсинга, например, может быть необходимо прийти к следующему выражению:

                { 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }
                

                Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

                Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

                r'^[ \t]*import +\D+\.\D+ +as \D+'
                

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

                В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

                Читать дальше →
              • Как участвовать в проекте с открытым исходным кодом и получать деньги?

                • Tutorial
                Здравствуй Хабрахабр!

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

                Есть несколько вариантов. Один из них это начать свой проект и ждать когда он взлетит, при этом тратить время на создание кода и рекламу проекта в конкурсах, акселераторах, переговорах с инвесторами. В случае успеха надо находить специалистов поднимать инфраструктуру. Ряд виртуальных или реальных серверов для сайта, программистов, базы данных, клиентов. В итоге, многие проекты так и не взлетев попадают на GitHub и другие подобные ресурсы.
                Но есть и другой вариант
                • +45
                • 39,4k
                • 5
              • Что нового в Laravel 5?



                Несколько месяцев назад в студии, где я работаю, было принято решение всей командой перебраться на Laravel. Последние пару лет популярность этого фреймворка неустанно росла, и, как оказалось, не напрасно!

                Я не считаю себя гуру в php и фреймворках. До этого пару раз работал с первым и вторым зендом, бессмертным битриксом, сталкивался с Yii и Symfony, изобретал велосипеды сам, но каждый раз у меня оставалось смутное чувство неудовлетворенности.

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

                Мне всегда казалось, что те же самые задачи можно решать более просто и элегантно. Хотелось найти фреймворк, на котором мне бы нравилось писать. Который я смог бы выучить как свои пять пальцев и заниматься тем, чем мне и нравится заниматься – программированием, созданием чего-то нового. Я думаю, у каждого плотника есть любимый молоток, и такое желание для программиста вполне естественно. Кто из нас, тех кто пишет на php, не поглядывал с завистью на Rails в Ruby или Django в Python?

                Последней каплей стал пост от JetBrains о расширенной поддержке в новой версии PhpStorm 8 шаблонов Blade и Source & Test directories. В этой IDE мы и создали первый проект на Laravel.
                Читать дальше →
              • Упрощение жизни программиста с vim + vim-slime + tmux

                Эта публикация рассказывает о том, как экономить время при разработке для Clojure и NodeJS, а также Bash скриптов, посылая текст из vim в REPL, c использованием tmux + vim + vim-slime. Также приводятся рецепты с nodemon.

                Скорее всего, vim-slime сработает и для других интерпретируемых языков (Ruby / Python / PHP / Perl ...). vim-slime также работает со screen.
                На хабре достаточно освещались и vim, и tmux. Я только хотел показать, что можно получить от их комбинации.
                Добавление от Fikys: с Ruby работает.

                Если вы знаете vim и tmux, и вам интересен только vim-slime — прыгайте сразу ко второй секции.

                Вступление


                Мы все стремимся быть производительными. После того, как код написан, мы хотим узнать, работает ли он и получить обратную связь. Мы придумали много способов ускорения обратной связи: статическое выведение типов при компиляции и в IDE, юнит-тесты, интеграционные тесты, REPL, LiveReload и т.д.

                Для моих небольших проектов я использую связку REPL и юнит-тестов, что позволяет получать обратную связь мгновенно.

                Я веб-разработчик. По работе и в своем проекте обычно я делаю фронтэнд и стыкующуюся с ним часть бэкэнда. В течении рабочей сессии я пишу PHP, phtml, Stylus, css, Coffeescript, Javascript, + sql запросики и пуши в гит; что обеспечивается связкой tmux и vim. Также есть пара маленьких проектов на CoffeeScript, для которых используется комбо tmux + vim + vim-slime + Coffeescript REPL. В проектной сессии увязываются Сlojure, CoffeeScript, Stylus; tmux + vim + vim-slime + Clojure REPL. Под катом я расскажу об трех сетапах для трех окружений.
                Читать дальше →
              • Как была взломана Gamma International

                  image

                  3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

                  Читать дальше →
                • Медицинская анатомическая иллюстрация — история изучения тела человека в атласах 5 столетий. Часть 2



                    Итак, новая часть истории анатомических атласов. В прошлом посте Андреас Везалий совершил анатомическую революцию, не только создав удивительные пособия, но и воспитав талантливых учеников, продолжавших прорывные исследования. В этом посте мы дойдем до анатомических иллюстраций эпохи барокко и потрясающего атласа голландского анатома Говарда Бидлоо, а также покажем иллюстрации из первого русского анатомического атласа, которые нам достались благодаря любезности сотрудников медицинской библиотеки Нью-Йорка.
                    Читать дальше →
                  • Сайт GameTutorials сделал все свои 350 уроков по программированию игр бесплатными

                      image

                      Сайт GameTutorials, известный своими уроками по C/C++/Win32/OpenGL/Direct3D/C#/Java, открыл все свои материалы для свободного изучения. Все уроки проверены на совместимость с Visual Studio 2013, в самом ближайшем будущем ожидаются уроки по Unreal Engine и Unity Engine, кроме того, будут обновлены устаревшие уроки по OpenGL и DirectX (сейчас на сайте описана версия DirectX 9).

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

                      Для просмотра и скачивания уроков потребуется зарегистрироваться.
                    • 15 малоизвестных команд Linux

                      • Перевод
                      Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
                      Читать дальше →
                    • Почему истории успеха настолько бесполезны

                        Этот пост понравится мизантропам: ведь он про то, что нет ничего бесполезнее, чем чужой успех. Вот если бы было место, где люди честно бы делились своими планами, а потом можно было бы следить поэтапно за их реализацией и фиксировать не только удачи, но и провалы в итоге… Ой, я же пишу в блоге такого проекта. Заходим на «СмартПрогресс», выбираем меню Цели, сортировку «проваленные», добавляем параметр «лучшие за все время» — и смотрим список самых громких фейлов на проекте.



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

                          Специалист по дата-майнингу и визуализации данных Майк Босток (Mike Bostock) опубликовал великолепную подборку с визуализацией различных алгоритмов.

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

                          Проще говоря, зрение помогает нам думать.
                          Читать дальше →
                          • +35
                          • 32,1k
                          • 8