Обнаружил жесткую нехватку информации по биоинформатике в русском сегменте. Не знаю, уж, востребована она или нет, но хочу предоставить на суд читателя вводную часть, которую можно назвать практическая биоинформатика, которой мне очень не хватало для ознакомления с предметом. В этой главе я хочу описать путь, который пришлось пройти мне до настоящего момента, когда я уже не шарахаюсь от фраз: вот вам FASTQ файл и постройте мне bed graph для genome browser. Чтобы в дальнейшем вести разговор об интересном, хочу по диагонали пройтись по определениям и программам первичной обработки данных, без которых трудно говорить на одном языке.
Василий Гудошников @vgoodvin
Веб-разработчик
Форензика. Компьютерная криминалистика. Н.Н. Федотов
2 min
34KУважаемые хабраюзеры!
Позвольте порекомендовать вам единственную и по-настоящему стоящую книгу по тематике компьютерной криминалистики на русском языке.
Аннотация говорит сама за себя:
+65
Я хочу работать в Google! Телефонное интервью (часть 1)
4 min
31KПривет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
+157
Кластерный сервис на Эрланге: от идеи до deb-пакета
13 min
13KTutorial
Задача
Нужно написать настоящий сервис на эрланге, который будет работать в кластере. Кроме того, нужно максимально упростить жизнь тем, кто будет обслуживать сервис.
Требования:
- У сервиса будет RESTful интерфейс (это модно и современно)
- основные настройки сервиса должны быть вынесены в маленький файл с понятным синтаксисом
- сервис должен писать опциональный access-лог
- сервис должен запускаться через upstart
Для простоты сервис будет представлять собой счетчик, который каждому клиенту выдает увеличивающееся с каждым запросом на 1 целое число (уникальное до перезапуска счетчика).
Технологии
Выберем все самое модное и современное:
- HTTP-сервер — cowboy 0.10.0
- логгер — lager
- система сборки — erlang.mk
- сборщик релиза — relx
+30
Учимся разбираться в искусстве программирования
4 min
34KКлассика
Самый обычный код.
$size = sizeof($arr)-1;
for ($i = $size; $i>=0; $i--) {
for ($j = 0; $j<=($i-1); $j++)
if ($arr[$j]>$arr[$j+1]) {
$k = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $k;
}
}
Барокко
Барокко (итал. barocco — «причудливый», «странный», «склонный к излишествам»)
Барокко свойственны контрастность, напряженность, стремление к величию и пышности как в именовании, так и в комментариях, к слиянию разных стилей кодирования. Обычно уже на продакшене обнаруживаются скрытые «детонаторы».
Чаще всего используется в: JavaScript, C++, Java.
$SIZE = SIZEof($A_R__R)-1;
for ($i = $SIZE; $i>=0; $i--) {
for ($j = 0; $j<=($i-1); $j++)
if ($A_R__R[$j]>$A_R__R[$j+1]) {
//используем хитрый манёвр
$A_R__R[$j+1] = $A_R__R[$j]; + $A_R__R[$j+1];
$A_R__R[$j] = $A_R__R[$j+1] - $A_R__R[$j];
$A_R__R[$j+1] = $A_R__R[$j+1] - $A_R__R[$j];
}
}
+16
Грабли, на которые не стоит наступать
5 min
80KОт переводчика: Это перевод статьи авторства Джоэля Спольски (Joel Spolsky). Через 2 года эта статья уже сможет получить автомобильные права в США, а еще через два — и не только там. Да, ей 14 лет (а точнее 14 лет и 11 дней), но актуальности она не потеряла ни грамма. Я регулярно вижу, как программисты (да и я сам, временами) порываются наступить на эти грабли. Тот факт, что я не нашел ее перевода на Хабре, вполне может свидетельствовать о том, что я плохо искал. Об ошибках перевода прошу сообщать в ЛС
UPD: Оказывается перевод статей Джоэля, в т. ч и этой, есть еще в бумажном издании «Джоэл о программировании»
Наконец выходит первая публичная бета-версия Netscape 6.0. Версии 5.0 не существует. Предыдущий мажорный релиз — версия 4.0 — был выпущен почти три года назад. Три года — это невероятно большой срок в мире интернета. Все это время в Netscape сидели и беспомощно наблюдали за тем, как уменьшается их доля рынка.
Это немного подло с моей стороны критиковать их за столь долгое ожидание между релизами. Они ведь не специально это сделали, правда?
UPD: Оказывается перевод статей Джоэля, в т. ч и этой, есть еще в бумажном издании «Джоэл о программировании»
Наконец выходит первая публичная бета-версия Netscape 6.0. Версии 5.0 не существует. Предыдущий мажорный релиз — версия 4.0 — был выпущен почти три года назад. Три года — это невероятно большой срок в мире интернета. Все это время в Netscape сидели и беспомощно наблюдали за тем, как уменьшается их доля рынка.
Это немного подло с моей стороны критиковать их за столь долгое ожидание между релизами. Они ведь не специально это сделали, правда?
+140
PhpBrew. Менеджер версий PHP. (+ установка и использование в Ubuntu 13.10)
6 min
51KЛирическое №1
PHP неуклонно взрослеет и обзаводится различными полезными дополнениями и некоторые из них уже ну совсем как у старших (хотя слово «младших» во многих случаях подойдет лучше).
В этом ключе стоит, например, вспомнить такие замечательные вещи как менеджер зависимостей composer, встроенный веб-сервер, появление namespace'ов и замыканий.
Сложилось так, что в качестве рабочей OS у меня установлена последняя версия Ubuntu (13.10). Долгое время я довольствовался последней стабильной версией PHP из репозиториев (видимо везло), но тут по работе пришел проект на 5.3 (а то и 5.2, но под 5.3 завелся), который никак не хотел стартовать на последней 5.5.3, что из официальных репозиториев и я было опечалился (уже имеется опыт установки неактуального PHP на Ubuntu, хоть и успешный, но весьма грустный), но потом вспомнил ruby и rvm.io и решил провести небольшое исследование. В итоге коллега подсказал озвученную в заголовке вещь.
Конец лирического. К фактам.
Если вкратце – единственное назначение phpbrew – возможность использовать разные версии PHP на одной машине. Быстро, просто, практически без танцев с народными музыкальными инструментами. (не продакшен, не параллельная работа, но мгновенное переключение между версиями при разработке).
+16
Два и более рабочих места на одном компьютере — бесплатное решение
12 min
104KВ данной статье рассматривается идея и практическое руководство по создания многопользовательской рабочей станции (multiseat) с использованием виртуализации KVM, с возможностью удаленного управления через libvirt. С помощью этого руководства возможно создать два и более рабочих мест как в офисе, так и дома, которым может потребоваться возможность полного использования графической подсистемы компьютера. Причем можно на одном системном блоке реализовать одновременно работу различных операционных систем Windows, Linux, Mac OS X, остальное по вкусу.
+59
Видео о том, как работает коллайдер и как он устроен
1 min
55KВ прошлый раз я разместил небольшой фотоотчет о посещении ЦЕРНа в качестве туриста. И там мне показали простой и в то же время весьма наглядный анимационный ролик про устройство и принцип работы Большого Адронного Коллайдера. И когда, по возвращению, мы перевели его на русский язык и выложили в youtube, то получили в ответ много позитивных отзывов типа такого: «Спасибо, а то на работе заколебался все это ручкой рисовать и пытаться на пальцах объяснить!».
Хотя коллайдер запущен уже давно, о принципе его действия имеют представление лишь немногие. И это моя попытка немного поправить положение дел. Приятного просмотра.
+42
Разработчики из Татарстана, Вперед вместе с Google!
2 min
5.5KВ октябре в Казани стартует всероссийский проект “Вперед вместе с Google”, который мы запускаем при поддержке правительств и администраций российских регионов.
На две недели в Казанский ИТ-Парк приедут ведущие российские и международные эксперты, чтобы рассказать о современных веб-технологиях и интернет-решениях жителям региона, предпринимателям, разработчикам, преподавателям и студентам. Подробнее о проекте “Вперед вместе с Google” можно прочитать в нашем блоге.
Для разработчиков в Татарстане мы приготовили отдельную трехдневную программу. Обратите внимание, что все мероприятия в рамках проекта “Вперед вместе с Google” бесплатные, но требуют предварительной регистрации.
На две недели в Казанский ИТ-Парк приедут ведущие российские и международные эксперты, чтобы рассказать о современных веб-технологиях и интернет-решениях жителям региона, предпринимателям, разработчикам, преподавателям и студентам. Подробнее о проекте “Вперед вместе с Google” можно прочитать в нашем блоге.
Для разработчиков в Татарстане мы приготовили отдельную трехдневную программу. Обратите внимание, что все мероприятия в рамках проекта “Вперед вместе с Google” бесплатные, но требуют предварительной регистрации.
+2
Алгоритм BM25
3 min
67KВпервые данный алгоритм встретил на Википедии и не обратил на него особого внимания. Позже изучая научные труды сотрудников Яндекса, я обратил внимание на то, что они ссылаются на него, например, в статье Сегаловича об алгоритмах определения нечетких дубликатов, поэтому решил разобраться, в чем смысл его использования. Постараюсь на простых примерах это объяснить. Итак, для чего этот алгоритм?
+17
Lenovo IdeaPhone P700i: смартфон-долгожитель по разумной цене
6 min
110KВ ноябре компания Lenovo начинает продажи мобильных телефонов в России. С 20-го числа (предзаказ доступен сегодня), пока только в сети магазинов МВидео будут представлены две модели смартфонов Lenovo на платформе Android: IdeaPhone P700i с четырехдюймовым дисплеем и IdeaPhone S880 с пятидюймовым. С более компактным и недорогим (8990 рублей) двухсимочным P700i я знакомился в течение последних трех недель, используя его то как основной телефон, то как дополнительный, и готов поделиться с вами результатами теста.
Если коротко, то я, привыкший тратить на мобильные устройства несколько бОльшие средства, в переходе на P700i изначально видел некоторый даунгрейд. Ну – экран поменьше, производительность пониже, и так далее. Не исключено, что такие же мысли будут приходить в голову многим будущим покупателям этого IdeaPhone. По итогам теста у меня совсем другие впечатления.
Благодаря 4-дюймовому дисплею телефон отлично лежит в руке. Производительности двуядерного процессора более чем достаточно для активного использования, с множеством запущенных программ и постоянным переключением между ними. И, что самое главное – благодаря емкой батарее и сравнительно экономичной платформе, P700i живет без зарядки дольше, чем любой другой смартфон на базе Android (и не только), из тех, что попадали мне в руки. А в некоторых дисциплинах аккумуляторного многоборья смартфон Lenovo показывает просто феноменальные результаты.
UPD. Смартфоны Lenovo уже можно приобрести в сети МВидео!
Если коротко, то я, привыкший тратить на мобильные устройства несколько бОльшие средства, в переходе на P700i изначально видел некоторый даунгрейд. Ну – экран поменьше, производительность пониже, и так далее. Не исключено, что такие же мысли будут приходить в голову многим будущим покупателям этого IdeaPhone. По итогам теста у меня совсем другие впечатления.
Благодаря 4-дюймовому дисплею телефон отлично лежит в руке. Производительности двуядерного процессора более чем достаточно для активного использования, с множеством запущенных программ и постоянным переключением между ними. И, что самое главное – благодаря емкой батарее и сравнительно экономичной платформе, P700i живет без зарядки дольше, чем любой другой смартфон на базе Android (и не только), из тех, что попадали мне в руки. А в некоторых дисциплинах аккумуляторного многоборья смартфон Lenovo показывает просто феноменальные результаты.
UPD. Смартфоны Lenovo уже можно приобрести в сети МВидео!
+44
Как подружить Sphinx с OpenShift для ThinkingSphinx под Rails
3 min
3.2KДля стейджинга моих небольших проектов на Rails я использую Openshift. Впринципе для небольших проектов он очень удобен — удобный деплой, все самое необходимое из коробки. Чего еще душе может быть необходимо? Но душа захотела сфинкса, при том очень сильно хзахотела. Так как среди картриджей я сфинкса не обнаружил, то пошел в google за советом.
А в гугле ничего… Ну или почти ничего. Все советовали поднимать DIY, накатывать все вручную, некоторые из моих знакомых советовали пересесть на AWS, но я в упор не хотел признавать, что под OpenShift нельзя поднять сфинкс. А так как приложение уже крутилось под сборкой для рельс то и DIY создавать не хотелось и я, стал думать как же все-таки поднять sphinx в уже готовой среде.
Под катом то, что я придумал.
А в гугле ничего… Ну или почти ничего. Все советовали поднимать DIY, накатывать все вручную, некоторые из моих знакомых советовали пересесть на AWS, но я в упор не хотел признавать, что под OpenShift нельзя поднять сфинкс. А так как приложение уже крутилось под сборкой для рельс то и DIY создавать не хотелось и я, стал думать как же все-таки поднять sphinx в уже готовой среде.
Под катом то, что я придумал.
+8
Привлекательные экспериментальные плагины на JavaScript
2 min
49KTranslation
Вступление
Я безумно люблю различные эксперименты на JS. Они словно позволяют заглянуть нам в будущее, и посмотреть, каким захватывающим и футуристичным оно будет. Когда вы будете просматривать приведенную подборку, вы наверняка вспомните про еще недавнего короля — Adobe Flash, а затем осознаете, насколько быстро CSS и JavaScript лишили его трона. Современные браузеры позволяют нам использовать множество различных эффектов и анимаций без сильных тормозов. Однако слово «экспериментальный» подразумевает ряд ограничений, как например некорректное отображение в некоторых браузерах (IE), кроме того, подобные плагины будут, скорее, отличным концептуальным дополнением для персональных страниц, а не для использования в больших проектах.
Meny
Meny — трехмерное меню, которое помимо своей визуальной притягательности еще и экономит место на экране. При наведении (или свайпе на тачскрине, что важно), меню «выезжает» с отличным эффектом.
+116
Как мирный reverse engineering помог чуть-чуть улучшить приложение Яндекс.Деньги
12 min
51KСуществует стереотип, что reverse engineering — это занятие для злых хакеров в темных очках и блестящих кожаных пальто. Под покровом ночи, в перерывах между беготней по стенам и рукопашными схватками с толпами спецназовцев, эти компьютерные нелюди творят страшные взломы программ, пентагонов и прочих баз данных. Сами взломы как правило не требуют никакой предварительной подготовки и занимают считанные секунды. Ну и конечно в процессе практически любого взлома по чОрным экранам адских хакерских ноутбуков с непонятной ОС ползут зелёные кракозяблы и/или крутится какая-то 3D-фиговина…
Сегодня я хочу отойти от затасканных голливудских штампов про злых компьютерных взломщиков и поведать вам, дорогие читатели, о том как мирный reverse engineering помог чуть-чуть улучшить приложение Яндекс.Деньги. Надеюсь эта история пошатнет устойчивый стереотип, что reverse engineering — это обязательно плохо и нужно только нехорошим людям.
Сегодня я хочу отойти от затасканных голливудских штампов про злых компьютерных взломщиков и поведать вам, дорогие читатели, о том как мирный reverse engineering помог чуть-чуть улучшить приложение Яндекс.Деньги. Надеюсь эта история пошатнет устойчивый стереотип, что reverse engineering — это обязательно плохо и нужно только нехорошим людям.
+160
Рекомендации по интерфейсу форм
6 min
33KПроектирование форм может оказаться настоящей проблемой. Чтобы получилось что-то стоящее и удобное для пользователей необходимо принять во внимание кучу разных рекомендаций и правил. В данной статье я постарался составить полезный список таких рекомендаций. Для его составления я использовал свой опыт и статьи экспертов.
Основные рекомендации и ввод данных
- Стремитесь к краткости.
- Убедитесь, что в форме используется один язык (обороты, термины).
- Если на странице находится только форма и ничего кроме нее, то при загрузке страницы стоит ставить фокус на первое поле формы, это позволит сэкономить немного времени (страница поиска, входа, регистрации).
- Поддерживайте ясный путь заполнения формы.
- Избегайте вторичных действий, если это возможно.
- В противном случае четко разделяйте основное и дополнительные действия.
- Выравнивайте основное действие так же как и поля формы, это упрощает восприятие формы.
- Цветная подложка у главной кнопки сделает её более видимой.
- Отключайте кнопку «Отправить» после того как пользователь на нее нажал, это позволит избежать двойной отправки данных.
- Еще лучше — показывайте индикатор отправки.
+15
Необходимые ресурсы для геймдизайнеров
3 min
82KВ данном топике я хочу представить подборку ресурсов, имеющих непосредственное отношение к дизайну и разработке игр. В первую очередь, эта информация будет полезна начинающим или будущим геймдизайнерам, которые только задумываются о выборе профессии, но, возможно, и профессионалы своего дела найдут что-то полезное или интересное для себя. Кроме того, я предполагаю, что читатели хорошо владеют английским языком, что в наше время для айтишников, настоящих или будущих, подразумевается практически по умолчанию.
Итак, поехали.
Итак, поехали.
+54
Принцип цикады и почему он важен для веб-дизайнеров
6 min
233KTranslation
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
+668
Математический подход к созданию сайтов
8 min
66K«Математика прекрасна». Это может показаться абсурдным, для людей которые при одном только упоминании математики вздрагивают. Однако некоторые из самых красивых вещей в природе и нашей Вселенной — это проецирование математических свойств, от самых маленьких до крупнейших галактик. Один из древних философов, Аристотель сказал: «математическим наукам свойственно выстраивать все по порядку, в симметрии и ограничениях, они являются главными формами прекрасного».
Из-за своей природной красоты, математика является частью искусства и архитектуры. Но она практически не применяется для дизайна сайтов и приложений. Это наблюдается из-за того, что многие не сопоставляют математику с дизайном. Хотя, наоборот, математика может быть инструментом для производства, поистине волшебных конструкций. Тем не менее, вы не должны полагаться на математику для каждого своего творения. Дело в том, что вы должны рассматривать математику как вашего помощника. Для наглядности мы создали пару сайтов, которые представляют математические принципы, обсуждаемые в этой статье. Мы также создали рекомендации, которые можно использовать в дизайне.
Из-за своей природной красоты, математика является частью искусства и архитектуры. Но она практически не применяется для дизайна сайтов и приложений. Это наблюдается из-за того, что многие не сопоставляют математику с дизайном. Хотя, наоборот, математика может быть инструментом для производства, поистине волшебных конструкций. Тем не менее, вы не должны полагаться на математику для каждого своего творения. Дело в том, что вы должны рассматривать математику как вашего помощника. Для наглядности мы создали пару сайтов, которые представляют математические принципы, обсуждаемые в этой статье. Мы также создали рекомендации, которые можно использовать в дизайне.
+69
Литьё по моделям напечатанным на 3D-принтере
3 min
264KTranslation
Jeshua Lacock пишет:
Эта страница описывает мою первую и успешную попытку отлить алюминиевые детали напрямую с моделей напечатанных PLA на 3D-принтере. Процесс практически идентичен литью с восковой модели, но вместо выжигания воска я выжигал пластик PLA (био-пластик)
+156
Information
- Rating
- Does not participate
- Location
- Набережные Челны, Татарстан, Россия
- Registered
- Activity