Search
Write a publication
Pull to refresh
87
0.5
Даниил Бакалин @Quiensabe

Программист

Send message

Добавляем кириллицу в шрифт Source Sans Pro для Bootstrap-темы Lumen

Reading time4 min
Views32K
В каталоге бесплатных тем для Bootstrap есть симпатичная тема Lumen, в ней используется шрифт Source Sans Pro, в котором «из коробки» отсутствует кириллица. Эту проблему можно частично решить самостоятельно, скомпилировав шрифт из исходников. Почему частично — см. заключение.

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

Transcend WiFi. Пишем клиент Shoot&View для Windows, Mac и Linux

Reading time11 min
Views30K
На хабре неоднократно упоминали о карте памяти формата SDHC со встроенным WiFi передатчиком. Купив эту карту, я был разочарован ужасным программным обеспечением, которое идет «в комплекте» с картой. Если приложением для iOS и Android хоть как то можно пользоваться, то отсутствие клиента под windows и macos, лишает карту возможности использования ее профессионалами. Точнее сказать, на PC есть веб интерфейс, но кроме ужасного внешнего вида, меня разочаровало отсутствие востребованной у фотографов функции Shoot&View, которая позволяет практически мгновенно видеть на большом экране компьютера результат съемки.

Любители geek-porno скорее всего разочаруются — мы не будет модифицировать прошивку, хакать ее, вскрывать саму карту памяти. Мы будет работать со «стоковой» картой памяти, без каких либо модификаций.

Итак, в этой статье, мы разберем с вами протокол Shoot&View карт памяти Transcend WiFi и напишем на python кроссплатформенный клиент, который запустится на windows, linux и MacOS. А для самых нетерпеливых, в конце статьи вас ожидает готовый python модуль для своих проектов, консольный клиент, а так же GUI утилита, которая работает на windows, linux и macos.

Читать далее

Создадим будущее, которое можно надеть на себя!

Reading time1 min
Views8.1K

В течение текущего года Intel проводит всемирный конкурс для инноваторов Make It Wearable, целью которого является создание идей и концептов новых носимых устройств (wearables). Реализуйте свой креативный потенциал и выиграйте поездку в Сан-Франциско, экспертную помощь в создании вашего продукта или денежную награду из общего призового фонда в $1,3 млн.
Подробнее об условиях и призах

SpeedReader — Qt библиотека для скорочтения

Reading time5 min
Views31K
image

Предисловие


Некоторое время назад на Хабре была новость о Spritz — программной реализации техники скорочтения, основанной на быстрой смене слов в виджете с определенным центрированием самого слова внутри виджета, а чуть позже и другая новость. Так как тема довольно актуальная я, недолго думая, решил реализовать нечто подобное и универсальное, с возможностью встраивания такого виджета для скорочтения в программы на различных платформах (win, linux, mac, android). Исходя из этого условия был выбран Qt фрейморк с его широкой поддержкой различных платформ.

То, что получилось и как с этим работать описано ниже. Кому интересно, добро пожаловать.
Читать дальше →

Голосования и информационная безопасность

Reading time15 min
Views5.9K
В этом посте я изложу свои мысли о голосованиях с точки зрения информационной безопасности… В первую очередь топик направлен на IT специалистов, которым хочется иметь стройную, понятную им, картину того, что такое честное голосование. Описанное применимо к выборам модератора, к голосованию жюри при вручении премий, к референдумам, к президентским «гонкам» и т.д. В подобных рассуждениях правильнее везде использовать слово «голосование», но для краткости и для борьбы с тавтологией я буду иногда писать «выборы».
Ниже мы взглянем на выборы по-итэшному, выделим основные принципы, цели, этапы, а также поговорим об уязвимостях систем голосований и об атаках на них.
Другими словами, выборы будем рассматривать как игру с определёнными правилами и ролями. Будем рассматривать также некоторую систему (программно-аппаратно-организационный комплекс) для проведения этой игры и продумаем защиту от читеров.
Замечу, что статья не про политику. Желающим обсудить что-нибудь политическое в контексте этой статьи настоятельно рекомендую заниматься этим не в комментариях, а где-нибудь ещё.
Читать дальше →

WordPress для серьезных

Reading time3 min
Views43K
Так называется еще один проект с множеством плагинов из одной коробки (немножко жаль, что немножко платных), чтобы развернуть свое дело на Wordpress. Все они созданы для тех, кто захочет организовать свой мультисайтовый сервис для множества посетителей, причем не обязательно сервис блогов.

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

Генерация правильного кода баннерной зоны на JavaScript

Reading time4 min
Views11K
Представим, что мы делаем рекламную сеть или еще что-то подобное, где нужно отдать пользователям определенный JS код, вставив который в разные места страницы, там будут отображаться разные штуки. Баннеры, например. Наиболее часто встречаемые мной варианты были такие:

  • Обычная html вставка кода баннера (флешки, картинки).
  • Вставка iframe, где html код генерируется по отдельному запросу в ифрейме.
  • Когда на js через document.write пишется код для двух вышеуказанных способов.

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

Но, помимо улучшения этих двух пунктов, давайте добавим еще два условия к нашей задаче и посмотрим, как ее хорошо решили зарубежные коллеги на buysellads.com. Нужно, чтобы баннерная зона могла показать любой код, а также в запросе за баннером отправить какую-либо информацию с другого нашего сервиса (например, id пользователя в нашем сервисе, который ведет историю действий на сайте).

Итак, генерируем правильные коды для баннерных зон и пишем для них обработчик под хабракатом.
Читать дальше →

Производство электроники в Китае — чего ждать? (часть вторая)

Reading time5 min
Views9K
В первой части мы рассмотрели, главным образом, потенциальные организационные трудности, возникающие при производстве опытных и промышленных партий электроники в Китае. Теперь же поговорим больше о технических и технологических проблемах.
Итак, нам надо пройти четыре этапа:
1. Изготовить печатные платы.
2. Закупить компоненты (т.н. BOM — bill of materials).
3. Смонтировать компоненты на плате (пайка).
4. Проверить работоспособность и качество изделий.
Читать дальше →

Анти-стелс игра Nothing To Hide

Reading time1 min
Views24K
Nothing To Hide* — первая в мире игра в жанре анти-стелс, сатирически высмеивающая идеи наблюдения за пользователями. Протагонист является сам себе сторожевым псом: он обязан всегда находиться в поле обзора видеокамер и способствовать слежке за собой. В противном случае он будет убит.

Разработчикам игры нечего скрывать: её исходный код открыт, она разрабатывается на Github, весь медиаконтент распространяется под лицензией CC0. Игра кроссплатформенна (поддерживаются платформы Linux, Windows, Mac), доступна демо-версия.


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

Сравнение сервисов для автодополнения адресов в форме

Reading time3 min
Views95K
Автодополнение адреса


На Хабре не раз поднимался вопрос автодополнения адресов в форме (раз, два, три).

Но вот и перед мной появилась задача реализовать такое автодополнение для небольшого интернет магазина. Критерии были такие:
  • Автодополнение адресов только Москвы
  • Автодополнение адреса одной строкой
  • Решение должно быть бесплатно (лимит запросов не менее 1000 в сутки)
  • Возможность подключить без дополнительных JS библиотек. (Я использую AngularJS Bootstrap-UI, в котором есть директива Typeahead, реализующая автодополнение формы)
  • Стопроцентный uptime не обязателен


Но какой источник данных выбрать? Я выбрал целых четыре, и решил их сравнить: в одном углу ринга заморские Google Geocode и Google Autococomplete, а в другом отечественные КЛАДР в облаке и DaData подсказки.

DISCLAIMER: Автор никак не причастен к разработчикам ни одного из представленных сервисов.
Интересно? Тогда прошу под кат

Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

Reading time15 min
Views80K
В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

Главная страница интрнет-магазина в axure
Читать дальше →

Бесплатный редактор шрифтов на HTML5

Reading time1 min
Views49K
Всё больше полезных программ удаётся портировать на открытые веб-технологии. До сих пор среди них не было редактора шрифтов. Теперь есть: Glyphr.



Профессиональный софт для проектирования шрифтов — это сложные и дорогие программы. В отличие от них, интерфейс Glyphr вполне доступен для каждого желающего, а само приложение совершенно бесплатно.
Читать дальше →

VkInviter – приглашатель-помощник администраторам групп ВКонтакте

Reading time6 min
Views96K
Всем доброго дня!

Я являюсь администратором одной музыкальной группы ВКонтакте (далее – ВК). Музыканты часто ездят с гастролями по разным городам России и странам СНГ. Один из способов оповестить фанатов группы о предстоящем концерте в их городе – разослать приглашения на соответствующую встречу ВК.
В статье хочу показать одно из возможных решений этой задачи.

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

Дайкстра от Тима из Стэнфорда

Reading time2 min
Views16K
На прекрасной Coursera скоро снова начинается курс по Алгоритмам от Тима из Стэнфорда. И я не могу про него не написать. А в свете вот этого поста про дистанционное образование так тем более.

Начну с того, что это самый интересный курс, который мне вообще когда-либо приходилось брать. А я провела во всяких не самых худших университетах немало лет. Курс называется Algorithms: Design and Analysis. Рассказывается в курсе про разные алгоритмы для графов, обсуждаются подходящие структуры данных для каждого алгоритма, присутствует теория и краткие доказательства этих алгоритмов. Во второй части рассказывается в том числе про P=NP проблему и алгоритмы с неполиномиальным временем.

Почему этот курс мне так понравился. Потому что лектор невероятно классный! Он настолько вовлечен, он так все это рассказывает. И потом каждую неделю надо запрограммировать новый алгоритм (на языке по собственному выбору) и найти с помощью своей имплементации ответ на вопрос. Ответ на вопрос засабмитить на сайте, и еще раз, пока не получится правильный ответ. Каждую неделю, как я сказала, новый алгоритм. И соответственно дедлайны. Мотивировало меня это просто сумасшедше: я бежала домой с работы и я не расставалась с алгоритмами по выходным, я ездила в отпуск, сидела на вершине самой высокой точки страны и программировала merge sort.

Я ждала полгода, чтобы снова объявили о его начале, чтобы посоветовать его другим людям, потому что для меня это было как найденный клад.

Дальше - больше, и с примером

Несколько интересностей и полезностей для веб-разработчика #12

Reading time2 min
Views39K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

BrowserSync



Я считаю это лучшим Live Reload инструментом. BrowserSync — это: конечно же перезагрузка страницы после изменения исходных файлов в том числе и серверных (PHP, ASP, Rails и др); синхронизация с десктопами, планшетами и смартфонами; синхронизирует между браузерами скроллинг, данные в формах и множество других действий; существует как Grunt и Gulp плагин; доступен на Windows, Linux, MacOS.

npm install -g browser-sync


// Using a an IP based host
browser-sync --proxy "192.167.3.2:8001" --files "app/css/*.css"


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

Colobot Gold — opensource версия игры Colobot

Reading time2 min
Views45K
image

Привет хабр. Несмотря на то, что прошло уже немало времени с момента передачи исходных кодов этой замечательной игрушки сообществу PPC (Polish Portal of Colobot), на хабре до сих пор не было статей касательно того, как сложилась судьба творения Epsitec после попадания в руки энтузиастов.

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

Можем ли мы доверять решению компьютера, если не можем его проверить?

Reading time1 min
Views20K
Если помните, Рей Курцвейл обещал приход сингулярности уже в 30 годах этого века. Похоже, что первые предвестники уже появляются: два бывших наших соотечественника, Алексей Лисица и Борис Конев, работающие в Ливерпульском университете, запустили на расчет задачу несоответствия Эрдеша. Задача считается неразрешенной, и программа, запущенная исследователями с задачей справилась. Но! Проблема в том, что доказательства решения сами по себе занимают 13 Гб (еще раз, текстовый лог-файл, по сути и являющийся доказательством, занимает 13 Гб) и с трудом поддается верификации. Отсюда напрашивается простой вопрос – можем ли мы доверять решению компьютера, если не в состоянии проверить его выкладки?


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

Управление компьютером без рук (гироскоп мне в темя!)

Reading time8 min
Views34K


В предыдущей статье я рассказал, как можно управлять компьютером при помощи глаз. Несмотря на то, что в ряде случаев отслеживание положения зрачков (eye gaze tracking) — единственный способ предоставить больному человеку возможность общаться с окружающим миром, описанная ранее система не лишена недостатков. Прежде всего, это необходимость использовать компоненты, которые трудно приобрести в России. Кроме того, человеку в очках приходится сильно ограничивать положение головы, чтобы свести к минимуму паразитные блики на поверхности очков и достичь стабильной работы системы.
А можно ли использовать что-нибудь попроще и понадёжнее, если человек способен двигать головой, но испытывает трудности при работе руками?
Читать дальше →

Шоу Звук #1-5 — Подкаст об аудиотехнике, комплектующих, форматах и технологиях

Reading time1 min
Views13K
Всем привет! С вами «Шоу Звук» — это подкаст для тех, кто любит жить, работать, отдыхать и передвигаться, слушая любимую музыку, подкасты или аудио-книги дома, на работе, в метро или других видах транспорта. Начав с самых основ, мы поможем вам познакомится с миром устройств и технологий, способных продемонстрировать вам подлинное звучание музыкальных композиций.

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

Information

Rating
3,750-th
Location
Петрозаводск, Карелия, Россия
Date of birth
Registered
Activity