Яков Сироткин — о геномном ассемблере.

Было очень интересно послушать по поводу того, как расшифровывается геном человека. Для тех кому лень, или нет времени – суть вот в чем: 1. Геном (или ДНК) невозможно просто взять и прочитать. 2. Для построения полной цепочки ДНК используются тысячи небольших отрезков по 100 – 200 символов, называемые ридами. 3. Риды взаимно перекрываются, и нет информации о том, из какой части ДНК данный конкретный рид. 4. Риды могут содержать ошибки, например при эксперименте в образц может примешаться ДНК человека, или какой-нить кишечной палочки (руки мыть надо). 5. ДНК человека (готовая цепочка) в состоящая из символов A,G,T,C, занимает больше 3 гигабайт. 6. Исходные данные (набор ридов), для построения цепочки, в сотни раз больше, чем результирующая цепочка. Вот и представьте, что, как и на каком железе нужно делать, что б получить ДНК человека….

Как доходчиво и быстро разобраться что делает команда на bash

Сегодня нашел сайт http://explainshell.com/ всем админам настоятельно рекомендую ознакомиться. Но сразу предупрежу, не во всех браузерах работает, проверяли на firefox 25.0.1 и google chrom 16.0.

Выглядеть должно примерно так:

 

explain

 

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

Джефф Дин из компании Google — это Чак Норрис нашего времени

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

Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google.

Шутки о нём впервые появились на 1 апреля шесть лет назад. Один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».

«Я ни с кем никогда не согласовывал это, — говорит Кентон Варда, — просто сделал, потому что подумал, это будет весело и народу понравится. Так всё происходит в компании Google. Но моя маленькая шутка и близко не может сравниться с самыми большими и смешными проектами в корпоративной сети».

«Когда Джефф Дин разрабатывает программу, то сначала создаёт бинарник, а потом пишет исходный код как документацию».

«Джефф Дин однажды не прошёл тест Тьюринга, потому что правильно установил 203-е число Фибоначчи менее чем за секунду».

«Джефф Дин родился 31 декабря 1969 года в 23:48. Ему потребовалось 12 минут, чтобы запустить свой первый счётчик времени».

Джефф Дин даже если захочет, уже не сможет избавиться от имиджа Чака Норриса. Впрочем, его вряд ли заботят такие мелочи. Один из ведущих программистов Google считается соавтором ключевых инфраструктурных систем компании, включая MapReduce, BigTable и Spanner. Читать

Переменные в скриплетах и jstl

Хороший пример поясняющий, как получить доступ к переменной JSP из скриплета, и наоборот:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="myTest" value="testValue"/>
#1:<c:out value="${myTest}" />
#2:<%=pageContext.getAttribute("myTest") %>

<c:set var="anotherTest" value="anotherValue" scope="request"/>
#1:<c:out value="${anotherTest}" />
#2:<%=request.getAttribute("anotherTest") %>

JSP и include

В jsp есть два вида include.
Первый – <jsp:include page=”uri”/>
Второй – <%@include file=”uri”%>

В книгах и в документации много разного понаписано по этому поводу, чаще всего пишут, что тегом подключается статическая страница, а директивой – страница с jsp. Но это фигня.

Вот самое лучшее объяснение, которое я нашел:

Перед выполнением, jsp страницы компилируются контейнером. После компиляции директивы вида:

<@include file="reuse.html">

при дезассемблировании, получим:

out.write("<html>\r\n");
out.write("    <head>\r\n");
out.write("        <title>reusable</title>\r\n");
out.write("        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
out.write("    </head>\r\n");
out.write("    <body>\r\n");
out.write("        <img src=\"candle.gif\" height=\"100\" width=\"50\"/> <br />\r\n");
out.write("        <p><b>As the candle burns,so do I</b></p>\r\n");
out.write("    </body>\r\n");
out.write("</html>\r\n");

Читать

Демо для Sega MegaDrive

В прошедшие выходные на демопати EVOKE 2013 была выпущена лучшая в истории Sega демонстрация под эту платформу. Реакция в сообществе настолько бурная, что даже если вы слышали о демосцене лишь краем уха — стоит посмотреть!


Overdrive by Titan — Sega MegaDrive demo

По ссылкам на Pouet вы можете дополнительно проникнутся атмосферой показа через две live-записи — оцените реакцию зала! Сама работа наполнена огромным числом референсов к классическим demo на Amiga, PC и C64.

В основе архитектуры Sega MegaDrive лежат два классических процессора: Motorola 68000 (16bit, 7.61 МГц) и Zilog Z80 (8bit, 3.55 МГц). Последний почти ничем не помогает в конкретном демо, так как используется в режиме совместимости с Master System. Основное ОЗУ консоли — 64 кб.

Всем Сега, пацаны!

Собственно, этим я и собираюсь заниматься

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

BattleHack

Наткнулся в инете на конкурс BattleHack, начал выяснять, что же это. Оказалось, под таким названием скрывается конкурс, на самую прикольную прогу использующую PayPal, но не это привлекло мое внимание.

 

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

Sergiej and Jurre will be flying over to the world finals as winner’s of Germany’s Battle Hack and will get another chance to showcase their skills.

 

Как скомпилировать Java в нативный бинарник? (.exe например)

Любой Java программист когда – либо думал об этом.

Мне известно несколько способов.

Во первых есть проприетарные утилиты для таких преобразований.

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

А еще есть oss.readytalk.com/avian/, сейчас читал на хабре статью, о том, как без помощи магии и бубна, этой прогой, можно собрать бинарник, который будет работать на компе не имеющем jre, под любой ОС.

При этом файл будет небольшого размера (порядка нескольких мегабайт).

http://habrahabr.ru/post/176237/

Осторожно, очень много букаф!

Стартап WigWag создаёт среду для программирования умного дома на JavaScript

Сегодня разные производители предлагают десятки разных (и часто несовместимых между собой) систем, устройств, приложений и интерфейсов для превращения обычного дома или квартиры в «умный» — интеллектуальные дверные замки и лампочки с управлением по WiFi, розетки, датчики и выключатели с аккаунтом в Твиттере, интернет-холодильники кондиционеры. Стартап WigWag, который уже собрал на Кикстартере почти в четыре раза больше денег, чем планировал, подошел к вопросу создания умного дома более системно. Они предлагают не просто набор сенсоров и актуаторов, но и целую инфраструктуру, совместимую со множеством уже существующих интеллектуальных электроприборов, и, что ещё важнее — открытую для модификаций и дружелюбную как к простым пользователям, так и к программистам и хакерам.

WigWag позволяет создавать «правила», подобные рецептам IFTTT, которые могут на основе информации с датчиков или из интернета управлять любыми устройствами. Это могут быть датчики и актуаторы WigWag, интернет-сервисы, Raspberry Pi, Arduino, Belkin WeMo, Philips Hue, и любые другие, поддерживающие протоколы IP, RS-232, 6loWPAN, Bluetooth и Zigbee. Причем создавать правила можно не только через графический интерфейс, но и на JavaScript, с помощью среды выполнения DeviceJS, которую разработчики WigWag позиционируют как способ писать приложения для умного дома точно так же, как пишутся приложения для Web.
Читать