Как стать автором
Обновить
42
0
Тимур Гильфанов @TimurGilfanov

Разработчик Android–приложений

Отправить сообщение

Как запустить ClickHouse своими силами и выиграть джекпот

Время на прочтение15 мин
Количество просмотров78K

Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


Clickhouse-client


В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


Всего голосов 59: ↑59 и ↓0+59
Комментарии50

Кофе с огурцами (Espresso + Cucumber)

Время на прочтение6 мин
Количество просмотров23K


    Относительно не так давно появилась замечательная библиотека Espresso для тестирования UI Android приложений. Её преимущества над аналогами обозревались не один раз. Если вкратце, то они заключаются в том, что это разработка Google для собственной ОС (ранее они сами использовали Robotium), а так же в лаконичности синтаксиса и скорости работы. Итак, мы решили идти в ногу со временем и использовать Espresso. Но нам мало тех плюсов, что уже есть, мы хотим BDD (http://en.wikipedia.org/wiki/Behavior-driven_development), мы хотим скриншотов и отчетов в json и html, мы хотим запускать это все на CI, в конце концов! Но обо всем по порядку. Я расскажу как подружить Cucumber (http://habrahabr.ru/post/62958/) и Espresso (http://habrahabr.ru/post/212425/) на небольшом примере. Всех, кто устал от Appium, кто хочет уйти от Robotium и тех, кому небезразлично тестирование Android, прошу под кат.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии4

H+ Summit: Rise of the Citizen Scientist @ Harvard University LIVE на русском языке, 12-13.06.2010

Время на прочтение4 мин
Количество просмотров921
imageВ ближайшие выходные, 12-13 июня, усилиями энтузиастов из Российского трансгуманистического движения в прямом эфире и на русском языке будет транслироваться проходящее в Гарвардском университете мероприятие под названием H+ Summit: Rise of the Citizen Scientist.

Думаю, на хабре уже не нужно напоминать, что такое трансгуманизм и H+; желающие могут ознакомиться с этим на сайте РТД. Перейдем сразу к делу. Тема нынешнего саммита — «Появление гражданина-ученого» — отражает явление, которое в общем-то исторически было присуще науке на ранних этапах ее становления в современной форме. Гражданином-ученым является любой человек, пользующийся научным методом для изучения самого себя или своей среды обитания с целью ответа на определенный вопрос или для удовлетворения любопытства. Такие личности, как Томас Джефферсон, Бенджамин Франклин, Эдвард Дженнер осуществляли свои открытия и изобретения, не будучи сотрудниками академий и университетов с дорогими лабораториями, а действуя непосредственно «в поле». Со временем наука заметно усложнилась, превратилась в огромный бюрократический институт и стала уделом профессионалов, в некотором смысле «отдалившись от народа». Заговорили даже о некоем «кризисе науки», о потере ею исходного предназначения. Но, как говорится, свято место пусто не бывает. Сегодня знамя гражданского научного поиска подхватывают энтузиасты, пользующиеся все дешевеющим компьютерным и биологическим оборудованием, изготовляющие нужные устройства самостоятельно и, что самое главное для этого ренессанса, обменивающиеся знаниями с помощью интернета и социальных сетей. Мы уже читали новости о «гаражных хакерах генома», о проектах типа OpenWetWare, BioBricks, о прогнозах Фримена Дайсона насчет «домашней биотехнологии» и т. д., а сегодня более 600 трансгуманистов — ученых, предпринимателей, писателей — собираются на саммите, чтобы обменяться идеями о дальнейшем развитии этого тренда и о перспективах, которые он открывает.

Какое отношение все это имеет к ИТ и к нам с вами? Самое прямое.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии9

Автономный квадрокоптер

Время на прочтение1 мин
Количество просмотров20K


Этот квадрокоптер разработан в лаборатории Grasp университета Пенсильвании. Сам определяется все характеристики препятсвий и обходит их с контролируемой точностью.
Всего голосов 76: ↑72 и ↓4+68
Комментарии87

Краткое введение в SIM-карты

Время на прочтение6 мин
Количество просмотров227K
Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.

На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
Архитектура смарт-карты

Читать дальше →
Всего голосов 474: ↑470 и ↓4+466
Комментарии180

Будущего здесь нет или что останавливает прогресс

Время на прочтение7 мин
Количество просмотров23K

«Строительство ведется в соответствии с планом, объект будет сдан точно в срок»
Коллектив строителей Вавилонской башни


Сейчас я расскажу вам одну очень старую сказку. Многие ее рассказывают и поныне. Но я собираюсь взглянуть на неё с несколько иной стороны, так что не торопитесь отрываться от чтения с высокомерно-презрительным «баян» на устах.

Итак, сказка. На дворе две тысячи девятый год. Мы должны вставлять в черепа разъёмы и ездить на летающих машинах. Вы пожмёте плечами, буркнете: «Не сложилось» или «Прогресс не дошел до нужной точки». Потом пойдете пить кофе и забудете. Я поступил бы так же. Но недавно мне захотелось разобраться — почему же футурологи и фантасты попадают столь редко? Притом, я говорю о умных людях, нередко ученых, а не о авторах развлекательного чтива. И я решил покопаться в поисках более рационального объяснения и подробностей — мне казалось, всё не так просто. Эта статья — моё микро-исследование на эту тему. И в то же время старая, старая сказка, которую вы давно слышали.
Читать
Всего голосов 234: ↑211 и ↓23+188
Комментарии387

Создание cue-плэйлистов для списка mp3-файлов из папки

Время на прочтение2 мин
Количество просмотров2.9K
Очень часто, скачав с торрентов очердную музыку, я вижу, что автор раздачи то ли не прописал тэги в mp3, то ли прописал их не правильно. Если исправить эти mp3-файлы и прописать в них нормальные тэги, то я не смогу сидировать только что скачанное. Что не очень хорошо. С другой стороны, я собираю свою музыкальную статистику в last.fm и хочется тэги поддерживать в актуальном состоянии. Есть, конечно, вариант скопировать только что скачанную музыку в отдельное место и исправить тэги там, но это как-то неспортивно.

Первые десять раз я создавал cue-плэйлист вручную, но потом вспомнил, что всё-таки имею отношение к программированию и написал небольшой скрипт на Perl, который по списку mp3 файлов создаёт cue-плэйлист. Теперь менять информацию об исполнителе, альбоме, названиях песен можно менять в нём, никак физически не трогая mp3-шки. Эти плейлисты прекрасно читаются foobar'ом.

У скрипта один параметр: pattern — код, который выполняется для каждого файла. В этом фрагменте кода должны устанавливаться переменные $track, $title и $performer — это соответственно номер трека, название песни и исполнитель.
Например, для имён файлов типа «22. Baby I Need Your Loving — Four Tops.mp3» скрипт нужно вызывать так:
perl c:\util\playlist_cue.pl "--pattern=($track,$title,$performer)= $f=~ /(\d\d)\. (.+) — (.+)\.mp3/;" >> playlist.cue
Считается, что в файле playlist.cue уже содержится информация об альбоме.

сам скрипт
Всего голосов 3: ↑2 и ↓1+1
Комментарии3

SVN на Маке

Время на прочтение4 мин
Количество просмотров7K
image
Купив Мак, я озадачился установкой на него софта, который стоял до этого у меня на PC. Перенести удалось почти всё. Для чего-то нашлись маковские версии, для чего-то удалось подобрать замену. Проблемы возникли с Subversion (SVN). На PC я пользовался Visual SVN Server, который не требует практически никакой настройки и работает сразу после установки. На Маке такого удовольствия не оказалось, так что пришлось немного повозиться.
Читать дальше →
Всего голосов 53: ↑45 и ↓8+37
Комментарии67

Устраняем щелчки винчестера Mac mini (и Macbook)

Время на прочтение2 мин
Количество просмотров25K

Еще давно заметил, что во время простоев винчестер моего Мака мини издает с периодичностью примерно раз в пять секунд такие щелкающие звуки. И при каждом щелчке система на мгновение задумывалась. Ну, в принципе, во время работы это было незаметно, т. к. винчестер не простаивает и щелчков нет. С недавнего времени эти звуки стал замечать ночью, когда компьютер оставался включенным для закачивания торрентов. Стало раздражать. К тому же, надоели эти задержки во время просмотра видео, когда изображение и звук на долю секунды замирает, а потом прыгает вперед на пару секунд.
Как от этого избавиться?
Всего голосов 53: ↑49 и ↓4+45
Комментарии85

Основные виды ПО

Время на прочтение4 мин
Количество просмотров13K
Собственно недавно заинтересовался этим вопросом. В частности отличием свободного ПО от open source (я думал это одно и то же). Путем нехитрых изысканий в сети (спасибо wiki и яндексу) выяснил все что мне нужно. И решил поделиться с вами. Может кому-нибудь будет интересно.
Читать дальше →
Всего голосов 84: ↑64 и ↓20+44
Комментарии47

Subversion: чеклист по правильным коммитам

Время на прочтение5 мин
Количество просмотров4.2K
Предполагаем, что читатель: а) работает в коллективе; и б) осознал необходимость правильной работы с системами контроля версий или хотя бы поставлен перед необходимостью использовать таковую.

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

Грубо разделим фазы разработки проекта на три — дебют, миттельшпиль и эндшпиль.

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

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

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

Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии59

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров805K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 533: ↑517 и ↓16+501
Комментарии365

Выходим на Windows phone marketplace: от простого желания до реальных результатов

Время на прочтение11 мин
Количество просмотров8.8K

Введение


Если вы матерый программист под платформу .NET и вам неинтересно понастальгировать о временах становления, а также узнать, как там, например, у Яндекса с культурой .NET-разработчиков, а также вы уже зарегистированы в маркетплейсе — эта статья не для вас. Если же вы все тот же матерый программер, но не зарегистированы в маркетплейсе и при этом считаете грабежом отдавать десять процентов прибыли «Софткею», вам будут интересны актуальные данные по регистрации в конце статьи в разделе «Регистрация». Всем остальным: приятного чтения.
Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии30

Коллекции иконок? Легко! Тысячи иконок в сетах.

Время на прочтение2 мин
Количество просмотров39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Всего голосов 156: ↑134 и ↓22+112
Комментарии36

Контроллер двигателя = ATMega8+L293D+DCDC

Время на прочтение2 мин
Количество просмотров23K
Как и обещал, выкладываю силовую часть робота. Она уже встала в шасси на боевое дежурство, так что больше изменений не планируется.


Шасси в сборе

Блок питания.
У нас же стоит свинцовый аккумулятор на 12 вольт, а контроллеру нужно 5 вольт. Вот я и сварганил импульсный блок питания. Можно было, конечно, поставить какой нибудь LM7805 (как у меня на макетке) и на нем сбросить напряжение, но это тупой метод. Дело все в том, что разницу напряжений LM7805 отрыгнет в виде тепла. Так что КПД данного девайса будет ниже 50%, а питание у нас батарейное. Так что выход один — это DC-DC преобразование. В качестве контроллера взял проверенный временем, популярный, доступный и дешевый MC33063A. Изобретать ничего не стал и взял типовую понижающую схему (Step — Down) из его даташита.
Читать дальше →
Всего голосов 110: ↑104 и ↓6+98
Комментарии57

50 действительно хороших инди игр

Время на прочтение1 мин
Количество просмотров30K
Некоторое время назад здесь находился замечательный пост-перевод о 50 инди-играх, в которые действительно стоит сыграть. В настоящий момент он устарел, но ему на замену пришёл целый цикл постов об инди-играх — «Великолепная подборка инди-игр»:

Читать дальше →
Всего голосов 95: ↑90 и ↓5+85
Комментарии121

Энергия без проводов. К новому миру беспроводного электричества

Время на прочтение4 мин
Количество просмотров14K
В конце XIX века открытие того, что при помощи электричества можно заставить светиться лампочку, вызвало взрыв исследований, целью которых было найти наилучший способ передачи электроэнергии. Во главе гонки оказался знаменитый физик и изобретатель Никола Тесла, который разработал грандиозный проект. Не в состоянии поверить в реальность создания колоссальной сети проводов, охватывающих все города, улицы, здания и комнаты, Тесла пришёл к выводу, что единственный реализуемый способ передачи — беспроводной. Он спроектировал башню высотой примерно 57 метров, которая должна была транслировать энергию на расстояние в многие километры, и даже начал строить её на Лонг-Айленде. Был проведён ряд экспериментов, но нехватка денег не позволила достроить башню. Идея с передачей энергии по воздуху рассеялась, как только оказалось, что промышленность в состоянии разработать и реализовать проводную инфраструктуру.

Читать дальше →
Всего голосов 78: ↑77 и ↓1+76
Комментарии149

Рекомендательные системы: перепросмотр

Время на прочтение6 мин
Количество просмотров2.5K
Примечание: ниже перевод статьи «Rethinking Recommendation Engines» от Alex Iskold (знаменитого своими исследованиями в области экономики внимания и теоретических основ механизма социальных сетей), в которой автор рассматривает текущие рекомендательные системы и пытается предсказать, что ждет их в будущем (фактически, предлагает радикальный способ по их улучшению).

NeflixБолее двух лет назад Netflix анонсировал соревнование по движку рекомендаций: любой, кто изобретает алгоритм, позволяющий улучшить качество их рекомендательной системы не менее, чем на 10%, выигрывал один миллион долларов. Многие исследовательские группы с энтузиазмом взялись за дело, воодушевленные количеством доступной для анализа информации. В самом начале был достигнут некоторый прогресс, но затем он затормозился, и сейчас исследователи остановились в районе улучшения примерно на 8,5%.

В этом посте мы разберем, почему улучшения рекомендательного движка является не алгоритмической проблемой, а, скорее, вопросом представления. Переосмысление рекомендаций как фильтров и их применение без ориентации на высокий конечный результат, по-видимому, скорее приведет к успеху, чем более быстрое «перемалывание» (crunching) данных.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии25

Библиотека начинающего ООП программиста — ваши советы

Время на прочтение1 мин
Количество просмотров3.8K
Я так понимаю, многие сейчас страдают от неорганизованности знаний. Нахватавшись по верхам и того и этого, не имея базы, основы, пытаешься разбираться с вопросами и проблемами по ходу их возникновения. От этого беспорядочность только увеличивается. Так вот и я — вроде бы программирую, а получается быдлокод.

Решил с этим бороться и начать изучать все заново, по порядку.

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

Основы программирования, основы ООП, создание удобного и расширяемого кода и т.д. и т.п. Движусь, в основном, в сторону PHP и Adobe Flex, но параллельно приходится знать и Javascript и объектно-ориентированные базы данных и C++ и многое другое.

В комментарии приглашаются все, кто может подсказать полезную литературу, сайты, туториалы и FAQ'и. Думаю, что топик окажется полезным для многих людей. А по результатам попытаюсь составить библиотечку «must have».

Ваше слово :)
Всего голосов 45: ↑39 и ↓6+33
Комментарии87

Существует ли зло?

Время на прочтение2 мин
Количество просмотров11K
Один умный профессор однажды в университете задал своим студентам такой вопрос.
-Все, что существует, создано Богом?

Один студент смело ответил:
— Да, создано Богом.
— Бог создал все? — спросил профессор.
— Да, сэр, — ответил студент.

Профессор спросил:
— Если Бог создал все, значит Бог создал зло, раз оно существует. И согласно тому принципу, что наши дела определяют нас самих, значит Бог есть зло.

Студент притих, услышав такой ответ.

Читать дальше →
Всего голосов 236: ↑177 и ↓59+118
Комментарии313

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность