Pull to refresh
52
0
Дмитрий Спирин @MipH

User

Send message

О гриппе А (H1N1) с точки зрения программирования

Reading time6 min
Views17K
Учёные уже полностью дизассемблировали H1N1 и занесли его в вирусную базу NCBI Influenza Virus Resource. Там всё задокументировано в подробностях. Например, образец A/Italy/49/2009(H1N1) был обнаружен в носу 26-летней женщины, вернувшейся из Италии в США. Вот первые 120 бит его генетического кода.

atgaaggcaa tactagtagt tctgctatat acatttgcaa ccgcaaatgc agacacatta

Сколько бит убьёт человека?
По приблизительным подсчётам, общий размер исходников H1N1 составляет 26 022 бит, а если исключить служебные стоп-сигналы (указывают на окончание каждой белковой последовательности), то исполняемый код состоит примерно из 25 054 бит. Это число является приблизительным ещё и потому, что в вирусе присутствует механизм генерации избыточного мусора для маскировки от антивирусов.

Итак, получается около 25 килобит или 3,2 килобайта. Таков объём кода для программы, имеющей ненулевые шансы убить человека. H1N1 написан гораздо эффективнее, чем компьютерный вирус MyDoom размером около 22 КБ.

Очень унизительно, что меня могут убить всего 3,2 КБ генетических данных. Впрочем, в 850 МБ человеческого генома по любому должны быть дыры для парочки эксплойтов.
Читать дальше →

Физика невозможного: Телепортация

Reading time6 min
Views30K
image     Ну что ж. Продолжим развиваться всесторонне: не только информационно-технологически, но и физически. :)
    Человечество придумало очень много интересных способностей, которые нам хотелось бы использовать уже сейчас, но всё не так просто, как нам показывают в фантастических фильмах. Предыдущим объектом нашей дискуссии была "Невидимость". Теперь же коснёмся телепортации.
    Телепортация, или способность мгновенно перемещать людей и предметы из одного места в другое может легко изменить направление развития цивилизации и вообще весь мир. Например, телепортация раз и навсегда изменила бы принципы ведения войны, сделала бы все средства передвижения ненужными и самое приятное: отпуска перестали бы быть проблемой. Ну кому не хочется иметь свой личный телепорт у себя дома? Наверное, именно по этой причине эта способность является самой желанной у человечества. Разумеется, эту мечту воплотить в реальность рано или поздно придётся именно физике. Ну так давайте посмотрим что у человечества уже есть в наше время?
Читать дальше →

Физика невозможного: Невидимость

Reading time7 min
Views9.6K
    Я уверен, что здесь не найдётся такого человека, который бы не смотрел фильм «Звёздные воины» или сериал «Звёздный путь» или какую-нибудь другую фантастику. В этом жанре используются технологии, которые ещё не открыты в реальном мире: защитное силовое поле, лазерные мечи, движение самолёта со скоростью близкой к скорости света, телепатия, невидимость и т.п. И создание подобных технологий кажется невозможным, но так ли это со стороны физики?
    Если вам эта статья понравится, то я попробую написать еще несколько статей про другие плоды человеческого воображения. Следующая тема будет: защитное силовое поле.
    Поскольку эта статья первая, поэтому я позволю себе немного отвлечься от главной темы и попробую доказать относительность невозможного. Вы уж меня за это сильно не пинайте. :) Я очень старался, надеюсь вам понравится.

    Прошу прощения за оффтопик. Как же приятно писать статьи на Хабре: столько умных людей. Пиши на любую тему и всё равно найдутся люди, которые тебя понимают. А ещё лучше то, что большинство таких людей разбираются в этой области лучше, чем я. Значит не обязательно ходить в школу, чтобы узнавать что-то новое — нужно просто прочитать комментарии. Спасибо, Хабрахабр ;)
Читать дальше →

Интересные кадры Google Maps

Reading time2 min
Views2.2K
Всем отличной пятницы и предстоящих выходных! Предлагаю хабрасообществу немного отвлечься от дел насущных и немного попутешествовать по миру. Вашему вниманию предлагаю небольшую подборку красивых, удивительных и весьма необычных, в некоторых случаях, кадров зафиксированных на Google Maps. Уверен в том что многим снимки поднимут настроение
поехали

Активацию Windows 7 доломали окончательно

Reading time1 min
Views214K
Как известно, механизм активации Windows 7 был взломан ещё до официального выхода этой системы. Но старый метод требовал изменений в BIOS, что является весьма нетривиальной задачей.

Сейчас хакеры нашли вариант полного обхода механизма Windows Activation Technologies (WAT) без манипуляций с BIOS'ом и вообще без использования ключа активации.
Читать дальше →

Список телефонов и девайсов на OS Android, которые уже выпущены либо анонсированы (Update с линками)

Reading time1 min
Views10K
На данный момент вышло уже 5 телефонов на Андроиде — G1 (HTC Dream), HTC Magic, HTC Hero, Samsung Galaxy i7500, HighScreen PP5420
И уважаемый Micael Martin собрал информацию про все анонсированные телефоны девайсы на операционной системе Android.Источники информации: MobileCrunch, AndroidandMe, Boy Genius Report

  1. Acer A1
  2. Dell Ophone mini3i
  3. Geek Phone One
  4. Haier H7
  5. HighScreen PP5420
  6. HTC Click– Fiesta
  7. HTC Dream – G1
  8. HTC Hero – G2 Touch
  9. HTC Lancaster
  10. HTC Magic – Sapphire – myTouch 3G – Ion
  11. Huawei U8230
  12. Innocomm Skate
  13. Kogan Agora
  14. Lenovo O1 Ophone
  15. LG GW620 Eve
  16. Motorola Heron
  17. Motorola Morrison – Cliq
  18. Motorola Sholes – Calgary
  19. Philips V808
  20. Samsung Bigfoot
  21. Samsung Galaxy i7500
  22. Samsung m850 Q
  23. Sciphone N12
  24. Sony Ericsson XPERIA X3 Rachael
  25. Zii Egg
  26. ZTE Android


Сам гугл обещал до 20 телефонов до конца года.
Так что, господа програмисты, задумайтесь над написанием программ под эту ось- Android Market еще не так перегружен хорошими приложениями, как Apple Store
От себя откорректировал про выход HighScreen, хотя полноценным телефоном под Андроидом его не назовешь.
UPD: Добавил ссылки на обзоры-спецификации.

JetBrains — разработка под Android для лентяев

Reading time1 min
Views79K
Хотите изучить разработку пoд Android, но лень читать большие книги с кучей теории? JetBrains подготовила курс из 12 уроков для быстрого старта. Темы уроков:

* Getting Started
* UI Designer
* Minimally Interactive
* Lifecycle
* More Activities
* List Views
* HTTP
* Storage
* Menus
* Dialogs
* Preferences
* Publishing
Читать дальше →

Как перестать бояться и полюбить шопинг на Amazon

Reading time2 min
Views179K
image

Разбор полетов


По итогам прошлого поста мы выяснили, что:

  • доставка происходит в обход Почты РФ через UPS/DHL;
  • в Москву посылка приходит за 5 дней;
  • для РФ Киндл продается только в версии «без встроенной рекламы» и без аксессуаров в отдельном лоте. Поэтому чехлы, к примеру, можно взять тут.
  • Amazon оплачивает услуги таможенного брокера;
  • заказывая доставку на рабочий адрес, никак не упоминайте название компании, иначе получателем будет компания, а не вы, со всеми последствиями;
  • если ваша покупка дешевле 200 евро, включая стоимость доставки, вам не о чем переживать;
  • если вы хотите сделать покупку весом до 31 кг. и стоимостью до 1000 евро, включая стоимость доставки, то вам желательно заказывать ее на адрес в одном из городов списка (Москва, Санкт-Петербург, Краснодар, Владивосток, Ставрополь, Новороссийск и Нижний Новгород). В этом случае доступны следующие варианты развития событий:
    1. скорее всего, вам не о чем переживать, и покупку вам доставят без лишних проблем;
    2. возможно, вам позвонят\ напишут из UPS и попросят прислать им отсканированную распечатку электронной квитанции заказа из Amazon, подписанный договор оказания услуг перевозки груза и копию паспорта.
    3. самый маловероятный и худший вариант — квест по самостоятельному прохождению таможни. Не переживайте, с этой инструкцией процесс займет не больше 2 часов времени и будет не сложнее похода в библиотеку.
  • это же Amazon! При возникновении любых проблем — задержка, потеря посылки, дополнительные таможенные сборы, повреждение товара — служба поддержки придет вам на помощь вплоть до полного возмещения стоимости.


Теперь о том, что же все-таки можно купить.

Читать дальше →

Всё, что надо знать о точке с запятой

Reading time11 min
Views48K
Автовставка точек с запятой (";") — одна из наиболее спорных особенностей яваскрипта, вокруг которой скопилось много непонимания.

Некоторые программисты ставят ";" в конце каждого оператора, некоторые — только там, где строго необходимо. Большинство же где-то посередине, хотя есть и такие, которые добавляют лишние ";" из стилистических соображений.

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

Читать дальше →

Использование объектов для красивой структуры кода в JavaScript

Reading time9 min
Views7.7K

Вступление


Доброго всем времени суток. Поздравляю вас с праздниками и перехожу к теме.
Когда вы выходите за рамки написания простых фрагментов jQuery и приступаете к разработке более сложных взаимодействий пользователей, ваш код может быстро стать громоздким и трудным для отладки. Эта статья покажет вам начать думать об этих взаимодействий в терминах «частичек поведения» используя паттерн проектирования object literal.

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

Но подождите. Допустим, теперь требования изменились. Теперь код, который работал для трех элементов должен работать для десяти. Или ваш код должен быть повторно использован для несколько иного приложения, в котором все идентификаторы разные. Как не потеряться в коде, который является не просто вызовом плагина или парой строчек типа show() и hide()?
Читать дальше →

5 вещей, которые вы могли не знать о jQuery

Reading time3 min
Views29K
jQuery очень мощная библиотека, но некоторые его богатые возможности неясны, если вы не изучали исходный код jQuery и не читали книгу jQuery Pocket Reference (автор пишет my new book), вы можете не знать о них. В этой статье представлены отрывки из этой книги — 5 полезных вещей о которых вы могли не знать.

1) Вы вы не обязаны использовать $(document).ready() Если вы хотите выполнить функцию, когда документ готов для манипулированию просто передайте её в $()

2) Вы, наверное, уже знаете, что вы можете передать тэг в функцию $() для создания элемента этого типа и, что вы можете передать атрибуты объекта (в качестве второго аргумента), которые будут установлены на созданный элемент. Вторым аргументом может быть любое свойство, который вы передаете в метод attr(). Кроме того, если какое-либо свойство имеет тоже самое имя, что и событие (click, mouseover), то значение свойства используется в качестве функции обработчика данного события.
Следующий код, например, создает новый элемент, устанавливает три HTML атрибута и регистрирует функцию обработчика события(click) на нем:
var image = $("<img>", {
                  src: image_url,
                  alt: image_description,
                  className: "translucent_image",
                  click: function() {$(this).css("opacity", "50%");}
               });

Читать дальше →

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →

Форматирование телефонных номеров на PHP

Reading time13 min
Views58K
Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.
Читать дальше →

Визуальные эксперименты

Reading time1 min
Views1.3K
Тут как-то обсуждали про крутую рисовалку, которая многих привела в восторг =), в том числе и меня.

Так вот, на сайте www.escapemotions.com/experiments.html на радость всем любителям прикольных визуальных штук выложена подборка интересных интерактивных экспериментов.

image

Автор — 3D-аниматор и дизайнер Peter Blaškovič (http://twitter.com/peterblaskovic). Все эксперименты сделаны на Flash и Processing — этаком «Java-рендере». Для просмотра Java и Flash должны быть установлены и разрешены.

Приятного времяпрепровождения!

Использование picasaweb в качестве фотохостинга

Reading time5 min
Views6.7K
Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

процесс загрузки фотографий на сервер
Читать дальше →

Корпоративный портал Jahia – обзор архитектуры (часть 1)

Reading time13 min
Views7.4K
В статье представлен высокоуровневый обзор архитектуры корпоративного портала Jahia.

Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
от крупных компаний.

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

Читать дальше →

Развитие объектного мышления у студентов

Reading time2 min
Views13K
Всем привет.

Давно перед преподавателями стоит задача научить студентов мыслить объектно. Задача сложная. Объяснить такие вещи трудно, можно только попробовать показать это на примерах. Да и то, примеры эти, чаще всего не дают представления о том, чего же хочет преподаватель.

Сегодня на ленте предложил студентам второго курса интересную задачку на развитие объектного мышления. Подробности дальше.
Читать дальше →

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views58K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

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

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед

51 Веб Приложение для Дизайнеров и Разработчиков

Reading time11 min
Views13K
Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity