Search
Write a publication
Pull to refresh
0
0
Nerten @Nerten

User

Send message

Оптимизация кода под Pebble

Reading time7 min
Views11K

На Хабре уже было несколько статей об общих принципах написания кода под Pebble. Для программирования используется язык C, а сам процесс разработки происходит в браузере, при этом компиляция происходит на удаленных серверах, и изменить ее параметры нет возможности, разве что установить Ubuntu и инсталлировать необходимые инструменты для офлайн-компиляции. Но даже такой ход не избавит основного ограничения – на устройстве доступно только 24 Кб оперативной памяти, которая используется и для скомпилированного кода, то есть действительно динамической памяти остается 5-10 Кб. И если для простых программ, которые используются как тонкие клиенты или дополнительные датчики для телефона, этого с головой достаточно, то для написания самодостаточной более или менее сложной игры, которой не нужен смартфон, этого откровенно мало. Вот здесь и понадобится оптимизация кода под размер.

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

Поиск наилучшей последовательности просмотра списка 250 лучших фильмов с помощью языка Wolfram Language (Mathematica)

Reading time7 min
Views56K

Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~76 МБ).

Введение


Некоторое время назад, если быть точным — 515 дней, вышел пост Маттиаса Одисио (Matthias Odisio) под названием “Random and Optimal Mathematica Walks on IMDb’s Top Films” (Случайные и оптимальные блуждания Mathematica по списку 250 лучших фильмов по версии IMDB). В нем рассказывается о том, каким образом можно получить оптимальную последовательность просмотра фильмов из соответствующего списка, основанную на близости жанров фильмов и близости постеров фильмов с точки зрения цвета.
Читать дальше →

История цилиндрического фонографа Томаса Эдисона

Reading time9 min
Views26K
Фонограф был изобретен в результате работы Томаса Эдисона над двумя другими изобретениями: телефоном и телеграфом. В 1877 году Эдисон работал над устройством, которое могло бы записывать сообщения в виде углублений на бумажной ленте, которые затем могли бы неоднократно пересылаться с помощью телеграфа. Исследование навело Эдисона на мысль, что подобным образом можно записывать и телефонный разговор. Он экспериментировал с мембраной, оснащенной небольшим прессом, удерживаемой над быстродвижущейся бумагой, покрытой парафином. Вибрации, создаваемые голосом, оставляли отметки на бумаге.

Позже, Эдисон заменил бумагу металлическим цилиндром, обернутым в оловянную фольгу. Устройство имело два элемента в виде мембраны, соединенной с иглой – один для записи, а другой для воспроизведения. Когда кто-то говорил в рупор, звуковые вибрации воздействовали на записывающую иглу, и она оставляла канавки различной глубины на цилиндре. Эдисон отдал набросок схемы устройства своему механику Джону Круези (John Kreusi), и он, якобы, построил машину за 30 дней.
Читать дальше →

Новый игрок — Jolla и Sailfish OS

Reading time8 min
Views22K


Несколько недель назад в России начались официальные продажи первого смартфона от Jolla на базе Sailfish OS. Основной интерес, несомненно, представляет новая операционная система, основанная на ядре Linux. Я уже около двух недель использую устройство и жажду поделиться отзывами по девайсу, и особенно OS.
Читать дальше →

Британская спецслужба выпустила приложение для обучения основам криптографии

Reading time2 min
Views13K
image

Центр правительственной связи Великобритании (Government Communications Headquarters, GCHQ — занимается вопросами ведения радиоэлектронной разведки и обеспечением защиты информации в правительстве и армии) опубликовал в Google Play приложение Crypto, предназначенное для обучения основам криптографии в интерактивном режиме и обладающее развитыми социальными возможностями. Целевой аудиторией являются старшеклассники и их преподаватели, увлекающиеся шифрами и историей вопроса (разработано оно также студентами). Приложение доступно пока только для планшетов: выпуск версии для смартфонов и для iOS запланирован на следующий год.
Узнать подробности

ODROID-C1 — форма от Raspberry Pi B+, 4 ядра по 1500MHz, 1GB и цена $35

Reading time2 min
Views37K
Корейские ребята из компании Жёсткоеядрышко (Hardkernel) выпустили в жизнь свой новый микрокомпьютер ODROID-C1, который сделан по подобию Raspberry Pi B+ в том же формфакторе и с тем же разъёмом GPIO. При этом, он обладает четырёхядерным процессором Cortex-A5 с частотой 1,5GHz, 1GB DDR3, гигабитной сетевой картой и прочими прелестями, которые заметно превосходят возможности малинки.

image

Немного предыстории


Ещё до этого Hardkernel выпустила ODROID-W, который имел тот же процессор от Broadcom, что и малинка, был программно совместим, а главным отличием были значительно меньшие размеры платы, особенно в высоту. Но ребятам, которые пекут малиновые пироги, это не понравилось и Broadcom запретила продавать Hardkernel свои процессоры. Была выпущена только одна партия ODROID-W. Её анонсировали в июле, а уже в сентябре появилось сообщение об отказе Broadcom в поставках.

Теперь же, Raspberry Pi B+ получил серьёзного конкурента, и хотя корейский вариант и менее известен, но он хорошо подходит тем, кому, как минимум, нужно больше производительности.

Сравнение и подробности

Motorola Nexus 6: один из лучших Android-смартфонов

Reading time8 min
Views28K


Устройства Nexus всегда выделялись из общей массы Android-смартфонов довольно низкими ценами и характеристиками, сравнимыми с более дорогими, флагманскими аппаратами. Естественно, такой подход привлекает многих покупателей. Ещё одним преимуществом линейки Nexus является самая высокая оперативность обновления программного обеспечения. Несмотря на ряд инцидентов с не слишком хорошим качеством сборки, линейка Nexus завоевала репутацию своеобразного эталона Android-устройств. Об одном из представителей этой линейки, Motorola Nexus 6, мы и хотим здесь рассказать.


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

Vim FileStyle: проверяем открытый файл на соответствие настройкам Vim

Reading time2 min
Views6.1K

Зачем это нужно


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

  • Пробелы или табуляция
  • Длина строки

Несоблюдение приведенных выше параметров стиля разными людьми в пределах одного файла ведет с следующим проблемам:

  • Изрезанность кода
  • Необходимость горизонтального скроллинга

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



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

Обзор Verve 2: основы электроники для детей и подростков. Что можно сделать при помощи электронного конструктора?

Reading time6 min
Views28K


Компания inXus Interactive сравнительно недавно начала выпуск универсальной платы Verve 2, благодаря которой дети в возрасте от 10 лет и старше, а также любители игр и технического творчества могут обучаться основам электроники, создавая собственное умное устройство, однако при этом не обладая знаниями из области программирования и той же электроники.

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

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

Pebble: добавляем в своё приложение возможности конфигурирования и сохранения настроек

Reading time6 min
Views5K
С наращиванием функциональности и увеличением сложности приложения возникает необходимость дать пользователю возможность самому настраивать необходимые ему параметры. Приложение в свою очередь должно уметь сохранять эти настройки и предоставить пользователю интерфейс для управления ими. Какие средства и возможности для этого дали нам разработчики Pebble?

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

Pebble: работа со статической графикой на примере создания 7-segment watchface

Reading time6 min
Views10K
Все приложения для часов Pebble делятся на две категории watchapp — просто приложения, и watchface — приложения «часы», которые исходя из названия являются лицом устройства. Отличие «фейсов» — отсутствие реакции на хардварные кнопки, так как «UP» и «DOWN» используются для циклического переключения между установленными watchface.
Но, наверное, в силу низкого разрешения экрана 144x168 px, найти органично вписывающийся в дизайн часов ватчфейс, который при этом выполняет основную свою функцию — отсчет времени, довольно непросто.
Как мне кажется лучше всего на таком экране смотрятся цифры в стиле семисегментных индикаторов.
Ниже, подробнее о том, как добавить в свой watchface элегантного минимализма, индивидуальности и уникальных фишек.
Итак, немного картинок, обрывков кода и в итоге ссылка на готовый проект.

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

Опыт создания домашнего Wi-Fi маршрутизатора. Общий обзор

Reading time6 min
Views113K
image

Приветствую многоуважаемое Хабрасообщество! Оговорюсь сразу: так исторически сложилось, что оба моих верхних образования связаны с IT чуть менее чем никак, поэтому возня с железками является одним из моих любимых хобби. Как-то так.

Понимаю, что я далеко не первый описываю данную тему, на хабре уже делились опытом построения подобных решений, но, полагаю, есть люди, которые, как и я, далеки в своей повседневной жизни от компов сетей, но интересуются а, возможно, хотят приобщиться и сделать что-то подобное. К тому же проживание в 2000 км от МКАД в «суровом» (sic!) городе накладывает некоторые ограничения на доступность компонентов и прочего. В общем, весь процесс создания далее…
Осторожно! Трафик!

FISCHERTECHNIK: хемотроника, ионисторы, электрохимические суперконденсаторы внутри детского конструктора для программистов

Reading time6 min
Views89K
В детстве я не расставался с конструкторами. У меня их было 2 типа: аналог LEGO (пластмассовый и с пупырышками) и металлический с болтиками. После поста на Хабре, я понял, насколько скудный был в те времена выбор. Пару недель назад мембер хакспейса Костя Костюк подсказал мне, что в Москве есть люди, которые занимаются продвижением и обучением FISCHERTECHNIK.


(на фото: Электромобиль с заправочной станцией и водородный топливный элемент, солнечная батарея)

В Германии вокруг этого конструктора сложилось свое сообщество, они гордятся своим изобретателем и ставят свои рекорды.
Видео

Чем понравился мне этот конструктор — хардкорностью научно-технической серьезностью и отсылками ко множеству реальных механизмов/устройств (от принтера, CD-привода и механизмов Леонардо да Винчи, до шаговых экскаваторов, роботов и электромобилей). В наборы входит и контроллер с графической средой программирования, что позволяет учить детей основам алгоритмов и программирования.

Под катом немного про автомобиль на водородном топливном элементе (из конструктора «Экологическая
энергетика»
+ «Топливный элемент»), про изобретателя конструктора и короткий обзор существующих в Москве наборов для конструирования (можно только позавидовать тем гикам, кому сейчас 8+ лет, ибо на новый год их ждут такие подарки).


(Осторожно! Под катом боль за бесцельно прожитые годы)
Читать дальше →

Multiboot-флешка на GRUB2 с несколькими разделами под Ubuntu

Reading time4 min
Views65K
Каждый знает о загрузочных флешках, и многие имеют карточку с несколькими системами. Но при их использовании возникает множество неудобств, например:

  • Медленная загрузка с iso-образов
  • Путаница в файлах нескольких систем(попробуйте разделить Ubuntu и BackTrack без костылей!)
  • Невозможность поставить несколько однотипных систем(опять же, не используя костыли)
  • И конечно, весь этот балаган мешается под рукой, когда нужно просто перекинуть несколько файлов.


Сегодня я вам расскажу, как избежать все эти минусы удобно и относительно быстро.

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

Давим шумы средствами PulseAudio

Reading time2 min
Views81K
image
Часто вижу, как владельцы ноутбуков жалуются на шумы микрофона в Linux, в то время как под Windows их меньше, либо же они вообще отсутствуют. Как правило, виноват в этом производитель, установивший самый дешевый микрофон и/или кодек из возможных, надеясь на сглаживание отвратительного качества железа программными средствами.
К счастью, в Linux есть замечательный аудиосервер PulseAudio, с помощью которого можно сделать аудио с вашего микрофона заметно качественней.

Способ #1

Для того, чтобы использовать встроенный модуль подавления шума и эха PulseAudio, работающий по алгоритму webrtc или speex, для какой-то конкретной программы, достаточно запустить ее с переменной окружения:
PULSE_PROP="filter.want=echo-cancel"

И весь ваш звук магическим образом будет избавлен от шумов и эха!
Читать дальше →

Advanced Locationbar для Firefox

Reading time2 min
Views6.8K
Firefox славится своей расширяемостью не просто так, ведь он позволяет авторам расширений изменять любую часть своего интерфейса для реализации самых смелых идей. Но у подобной гибкости есть и серьёзный недостаток — одно неосторожное движение может легко сломать браузер.

Locationbar² отлично демонстрирует это. Данное расширение добавляет в стандартную адресную строку возможность простым кликом по нужному сегменту URL подняться на несколько уровней вверх по структуре сайта, причём это «волшебное» поведение активируется только в том случае, если вести курсором мыши слева-направо от иконки типа соединения (можно рассматривать это как жест) или при нажатии Ctrl/Alt/Shift. Однако, кроме этого полезного изменения, как оказалось, Locationbar² ломает работоспособность доменов IDN — они отображаются в закодированном виде, а субдомен и вовсе целиком отбрасывается. Расширение не дорабатывается с 2011 года, со временем в нём возникли небольшие конфликты с новыми версиями Firefox, а автор расширения не выходит на связь.

Пришло время сделать форк: встречайте Advanced Locationbar!
Читать дальше →

Что такое утечки памяти в android, как проверить программу на их отсутствие и как предотвратить их появление

Reading time14 min
Views89K
В этой статье для начинающих android-разработчиков я постараюсь рассказать о том, что такое «утечки памяти» в android, почему о них стоит думать на современных устройствах, выделяющих по 192МБ на приложение, как быстро найти и устранить эти утечки в малознакомом приложении и на что нужно обращать особое внимание при разработке любого приложения.


Конечная цель этой статьи — ответ на простой вопрос:
Куда нажать, чтобы узнать, какую строчку в приложении поправить?

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

ProtonMail или что же это на самом деле?

Reading time8 min
Views263K

ProtonMail




История ProtonMail, сервиса защищенной веб-почты, о котором уже было довольно много написано (в том числе и здесь), началась летом 2013 года, когда группа ученых из CERN (Европейская организация по ядерным исследованиям) объединила усилия в работе над улучшением ситуации с безопасностью в Интернете. Их стартап ProtonMail вышел в полуфинал 2014 MIT 100K. С этого момента и началось очень бурное развитие проекта. Именно данная победа послужила серьезным шагом для того, чтобы о них заговорили по всему миру.
Читать дальше →

Еще один cкрипт генерации иконок для Android

Reading time2 min
Views8.8K
Привет, Хабр!

Небольшое вступление


Довольно давно я работаю тестировщиком мобильных приложений. Преимущественно, android-приложений (хотя были и WinCE, и iOS). Преимущественно, руками (хотя пробовал и автоматизировать с monkeyrunner и uiautomator). В последнее время все больше времени приходится уделять проектированию интерфейсов, вопросам менеджмента, релизам и другим делам. Одним словом, задачки приходится решать хоть обычно и несложные, но довольно разнообразные. Об одной из них мне бы хотелось рассказать.

В чем, собственно, дело


Недавно мы с коллегой в команде Rumsunrise экспериментировали с поддержкой android 5 и material design в наших приложениях. В процессе подготовки проекта столкнулись с неожиданной мелкой проблемой из области дизайна.
Читать дальше →

Twitter открывает исходный код движка, заменяющего эмоджи на картинки

Reading time4 min
Views8.5K
Речь здесь пойдёт о символах-картинках и о том, как отображать их.

По-японски они называются «絵文字» (где «絵» означает «картинка», а «文字» — «символ») или «えもじ», и произношение этого названия можно передавать разными способами: по Хэпбёрну «emoji», по Поливанову «эмодзи», в киричзи у Тассадара — «эмочзи», по Сергею Грису «эмоджи» через мягкий «жи». Этот последний вариант мне больше всего нравится, его-то я и стану использовать и в заголовке, и в тексте.

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

Эмоджи многочисленны. Первый набор эмоджи (который придумал Курита для технологии i-mode в 1998 или 1999 году) содержал 172 символов, состоявших всего-навсего из 12×12 пикселов. Через десять лет в Unicode 6.0 (2010 г.) было ужé 722 эмоджи, а стандарт нынешнего года (Unicode 7.0) дополнил их число ещё примерно четвертью тысячи эмоджи.

Эмоджи разнообразны. Среди них есть знаки эмоций (смайлики круглоголовые или со звериными ушками, а также различные жесты и позы), знаки Зодиака, шахматные фигуры, грани игральной кости, масти карт, любовные сердечки, священные символы, некоторые значки компьютерного интерфейса (GUI), стрелочки, галочки, крестики (прямые и косые), звёздочки, снежинки, обозначения разных родов транспорта, миниатюрные изображения современных элементов бытовой техники бытовых и технических приборов, орудий и инструментов, обозначения различных вариантов прогноза погоды, различных растений, цветов, зверушек, блюд (в основном японской национальной кухни), фаз луны, часов дня, празднеств, времён года, музыкальных инструментов, спортивных состязаний, аттракционов, различных зданий (гостиничных, вероисповедных, больничных, фабричных…), и так далее, и так далее.

А выражение «почти так же» я чуть выше употребил потому, что эмоджи всё же нельзя в полной мере считать обычными символами. На то есть две причины.

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity