Pull to refresh
66
0.4
Григорий Клюшников @grishkaa

Пользователь

Send message

Как Минковский во Flappy Bird играл

Reading time8 min
Views128K


Многие пробовали играть во Flappy Bird. Редко кому удается пролететь за 50 труб, очень немногие долетают до сотни-двух. Некоторые пробовали создать бота, в том числе на хабре. Удивительно, но даже у самого успешного бота, которого можно найти на просторах интернета, результаты не очень-то впечатляют – что-то около 160 очков. Возникает вопрос, а можно ли вообще играть во Flappy Bird бесконечно долго? Или всегда с некоторой, пусть и небольшой, вероятностью может встретиться последовательность препятствий, которую даже опытный игрок/идеальный бот не сможет преодолеть?

И тут на помощь приходит математика. Давайте найдем выигрышную стратегию для Flappy Bird.
Читать дальше →

Едем в Кремниевую Долину — самостоятельный тур по знаковым местам Долины

Reading time3 min
Views32K
Кремниевая Долина — это легенда. Те, кто никогда не был в Долине, возможно представляют себе знак «Silicon Valley», а там — сказка.

Что же на самом деле из себя представляет Долина? Куда стоит пойти? Что стоит посмотреть?

Итак:

image

Вот тут собраны основные места Долины, где стоит побывать.
Читать дальше →

Производство светодиодного дисплея пилотной партии LaMetric

Reading time4 min
Views16K

Эта статья заинтересует тех, кто работает над собственным “хардварным” проектом и столкнулся с проблемой изготовления пилотной партии для проверки идеи в реальных условиях. История основана на собственном опыте в стартапе Smart Atoms при разработке нашего продукта LaMetric – умный светодиодный дисплей с возможностью персонализированной настройки.

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

Почему я ненавижу фреймворки

Reading time4 min
Views70K
Я собираюсь сделать Java-веб-приложение (да, это будет Java, по некоторым причинам, которые сейчас озвучивать не хочу). В процессе работы, я оцениваю кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container фреймворков.

После кучи потраченного времени на прочтение документации, я уже готов выколоть себе глаза.

Давайте представим, что я решил сделать шкафчик для специй.
Читать дальше →

Релиз KPHP и движков

Reading time6 min
Views164K
Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

Это событие несколько раз откладывалось в связи с опасением, что нам не хватит сил и времени на взаимодействие с opensource-сообществом, однако в конце концов заветный день настал, и код KPHP и некоторых других инструментов, используемых внутри проекта, был выложен в открытый доступ.

В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


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

Что внутри олимпийской медали болельщика 2014?

Reading time2 min
Views191K
Всем зрителям церемоний открытия, закрытия Олимпийских Игр их репетиций были розданы умные светодиодные медали, с дистанционным управлением. Эти аксессуары должны автоматически загораться разными цветами во время церемонии. После завершения шоу, каждый зритель мог забрать медаль с собой на память. С учетом того, что стадион Фишт рассчитан на 40 тысяч зрителей, и необходимости двух репетиций каждой официальной церемонии можно приблизительно оценить количество изготовленных медалей болельщика в 200 000 штук.

image
Фото URA



Интересно, что внутри? Под катом небольшое вскрытие медали.
Трафик 10 мб

Знаешь ли ты JAVA, %username%?

Reading time11 min
Views150K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

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

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

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

Обеспечиваем надежную работу Google Cloud Messaging

Reading time4 min
Views25K
Целью статьи является ознакомление с наиболее распространенными подводными камнями в работе с сервисом нотификаций от Google.
Источником послужила очень полезная, на мой взгляд, статья Keeping Google Cloud Messaging For Android Working Reliably от разработчиков Pushbullet — удобного приложения для синхронизации нотификаций между Android устройствами и браузером Chrome.
Читать дальше →

Обзор особенностей ядра Андроида

Reading time7 min
Views108K
“А я… карбюратор промываю!”
Анекдот


Введение

В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

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


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

Кроссплатформенное Smart TV приложение в одном экземпляре. Библиотека SmartBox для Samsung, LG, Philips, STB Mag 200/250 и других

Reading time4 min
Views70K
Копаясь в памяти своего неискушённого идеальным миром мозга, я, припоминаю, как два года назад начиналась наша история по разработке приложений для SmartTv. Если коротко, то это был АД!!! богатейший опыт.

image


Однако, хотелось бы получить этот опыт сразу, не наступая на недокументированные грабли, разложенные по всей технологии, и специальные детские грабли разложенные каждым вендором отдельно. Но как говорится «c'est la vie» и нам пришлось пробиваться сквозь тернии к звёздам!

В итоге мы получили кроссплатформенную расширяемую библиотеку для всех SmartTv.
Описание, демки, скрины, видео данной библиотеки

Смарт-карты для самых маленьких

Reading time6 min
Views54K
Поскольку статья вводная и обзорная, то рассматриваться будет простейшая разновидность смарт-карт — SIM-карты, полагаю, что таких карт на планете сейчас больше всего.
По сегодняшним меркам стандарт SIM выглядит архаично, но зато он идеален для первого знакомства с миром смарт-карт, усвоение принципов, которые заложены в основу этого стандарта, облегчит дальнейшее погружение в тему.
Если Вы «карточник», то вряд ли узнаете для себя что-то новое, разве что какие-нибудь не очень понятные моменты разложатся по полочкам, а может быть Вы разложете по полочкам то, что недопонял автор (но, напоминаю, держимся в рамках SIM!).

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

RFID-метка на простой логике

Reading time25 min
Views205K
Объявлено новое соревнование 7400, и нужно сделать что-то новое. Нельзя ударить в грязь лицом после победы в прошлом году ;)

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

Я устроил мозговой штурм с моими товарищами: Педерсеном (Pedersen), Асбьёрном (Asbjørn) и Флеммингом (Flemming), которые тут же придумали множество смешных идей. И вот Флемминг упомянул RFID (он разработчик системы управления доступом, которая основана на RFID). А вот это уже мысль. Конечно, первые мысли были об RFID-считывателе, но мы уже собрали их довольно много, и это было скучно. Однако, появилась идея сделать RFID-метку. Я не знаю, кто упомянул это первым, и, как обычно в мозговом штурме, идеи рождаются коллективным разумом. Итак, решено сделать RFID-метку, собранную исключительно на 7400-ой логике.
Много текста и картинок

Стандарт Miracast — старые протоколы в новой обёртке

Reading time9 min
Views55K
Не так давно (начиная с JellyBean 4.2) Google добавила в Android поддержку технологии Miracast.
Практическому исследованию этой технологии методами reverse engineering и посвящена статья.

Что такое Miracast в двух словах? Это очередное детище Wi-Fi альянса — стандарт для передачи мультимедийного контента по сети Wi-Fi в peer-to-peer режиме. Для пользователя это означает прежде всего то, что для соединения с телевизором (к примеру) ему не понадобится Wi-Fi маршрутизатор. Два устройства по задумке альянса должны связываться друг с другом напрямую. Это обеспечивается использованием стандарта Wi-Fi Direct за авторством той же организации. Иными словами, новый стандарт решает задачи очень похожие на AirPlay от Apple, WiDi от Intel, или старое-доброе DLNA.
Читать дальше →

Cybiko Xtreme — социальный коммуникатор для школьников и студентов

Reading time6 min
Views59K
Много лет назад, когда я еще учился в школе (около 11 лет назад), смог выпросить у родителей недостающую сумму на свой первый умный гаджет — коммуникатор с QWERTY клавиатурой, черно-белым 4х цветным экраном и беспроводными средствами коммуникаций. И имя ему Cybiko Xtreme (он же CyX2) — вторая версия наладонника части российской компании ABBYY, ориентированного на молодежный сегмент рынка. Первая называлась просто Cybiko или позже Cybiko Classic. На начало продаж цена девайса была около 100$, что, как уверяли СМИ, очень маленькая сумма и любой школьник из США мог заработать на этот девайс самостоятельно.
Девайс был очень примечателен тем, что умел создавать беспроводную локальную сеть с соседними девайсами на расстоянии до 50-300м при этом от пользователя не требовалось какого либо вмешательства в настройки и в одной сети могло быть до 3000 пользователей со скоростью обмена до 19800 бод. Так же один из девайсов можно было подключать к компьютеру и он становился точкой доступа в Интернет для всех устройств в сети. Согласитесь очень круто, особенно для школьников и студентов начала 2000-х годов. Всё это нужно было для фактически первого в мире по настоящему социального устройства — при первой загрузке девайс просил заполнить личную анкету и параметры человека, которого вы хотите встретить, а так же цель встречи. Как вы уже наверное догадались, девайс будет всячески рассказывать о вас другим устройствам и при совпадении анкет оповестит вас, что та самая половинка найдена.
нажимая на эту кнопку вы соглашаетесь что вам исполнилось 18 лет... а еще много картинок

Кубака. Два года из жизни лемура. Год 2012: Погружение

Reading time8 min
Views6.3K
qbaka
Привет, Хабр.

2 года назад два разработчика из Петербурга начали делать сервиc, который решает тривиальную, но вполне актуальную проблему: мониторинг JavaScript-ошибок в продакшене. Что из этого вышло и легко ли программисту стать стартапером постараемся рассказать в нашей истории. О менталитетах, двух долгих поездках в штаты, стартап-буллшите, интроверсии, победах и медном тазе, много ли денег $200K, почему iPad нужен чаще ноутбука и как получить год бесплатного хостинга.

Давайте знакомиться, нам есть что рассказать.
Читать дальше →

Задача изменения голоса. Часть 1. Что такое голос?

Reading time12 min
Views55K
Этим постом мы хотели бы начать цикл статей, посвященных задаче изменения голоса. В зарубежной литературе данную задачу часто именуют термином voice morphing, в отечественной литературе данная задача ещё не получила достаточного освещения как в научных, так и в инженерных кругах. Тема является достаточно обширной и во многом творческой. В результате работы в данном направлении у нас накопился определенный опыт, который мы планируем систематизировать и изложить, а также передать основную суть некоторых алгоритмов.

image

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

P.S.
Добавил дополнительные ссылки на первоисточники

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

Google говорит «F*ck You, АНБ» и начинает шифровать трафик между дата-центрами

Reading time2 min
Views90K
На прошлой неделе в СМИ попала информация о программе АНБ по перехвату трафика между дата-центрами Google непосредственно через оптоволоконные кабели (программа MUSCULAR). Идея в том, чтобы перехватывать трафик до того момента, как его шифруют между серверами фронтенда и компьютерами пользователя.


Рисунок АНБ с издевательским смайликом

На этой неделе газета The Washington Post опубликовала дополнительные сведения о программе MUSCULAR, в том числе фрагменты пакетной передачи из внутренней сети Google.
Читать дальше →

Последний год в ИТМО или пишем диплом на факультете ИТиП

Reading time15 min
Views44K
Приветствую хабрасообщество!
В начале прошлого лета, когда пришла пора думать о написании диплома, я прошуршал весь рунет на тему тонкостей и особенностей этого процесса не то, что бы на нашей кафедре, а хотя бы на моём факультете. Не нашлось ничего.
Обычный для большинства универов способ передачи этой информации – от старших товарищей к младшим и далее между младшими. В случае нашего потока горизонтальные и вертикальные связи оказались нарушены настолько, что большинство работало “в слепую”.

Пройдя данный путь до конца, я бы хотел облегчить его тем, кто пойдёт следом и подробно рассказать как это было у нас, на специальности Информационные системы и технологии (230201) кафедры ИС факультета ИТиП СПбГУ ИТМО.
Читать дальше →

HTML5 Drag and Drop загрузка файлов

Reading time4 min
Views138K
image
Благодаря нововведениям HTML5 создавать Drag and Drop интерфейсы стало гораздо проще. К сожалению, эти нововведения еще не обладают обширной поддержкой браузеров, но надеюсь в скором времени это изменится (на данный момент работает в Firefox 4+, Chrome и Opera 11.10).

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

Процедурный генератор хрущёвок

Reading time9 min
Views111K
Сидел я как-то дома, читал статью про хрущёвки и восторгался гением архитектора. Потом меня отпустило, и я подумал, что унылость и однообразие хрущёвок очень легко можно описать математически. Прямые углы, равные интервалы, минимум украшений — что может быть проще?

На самом деле, у хрущёвок существует несколько десятков модификаций, но некая основа, сущность хрущёвки всё равно прослеживается.

В общем, недолго думая, я сел и написал генератор хрущёвок на C# под Unity3d. Под катом описание работы алгоритма и размышления на тему uv-карт, сабмешей и шейдеров.
Читать дальше →

Information

Rating
3,320-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity