Pull to refresh
0
0
Перту Алексей @alper

User

Send message

Пол Грэм, «Хакеры и художники», глава 10: «Programming Languages Explained»

Reading time13 min
Views17K
image Книга «Хакеры и Художники», глава 10.

Эта глава есть только в книге, на сайте Пола Грэма она отсутствует.
Кстати, осталось совсем чуть-чуть и будет готова последняя глава книги, тем самым будет полный русский хабраперевод «Хакеров и художников». (Предыдущий перевод — Пол Грэм: «The Other Road Ahead».)

За помощь с переводом спасибо Щекотовой Яне.

Языки программирования «в разрезе»


У любой машины есть набор действий, которые на ней можно выполнить.
Иногда этот набор сильно ограничен. Со своим электрическим чайником я могу совершать только два действия: включать и выключать его. Мой CD проигрыватель будет уже посложнее. Помимо включения и выключения, я могу повышать и убавлять на нем громкость звука, воспроизводить и приостанавливать песни, перейти к следующей или предыдущей композиции, а также воспроизводить все это в случайном порядке.

Как и любое другое устройство, у компьютера есть список действий, которые он может выполнить. Например, на каждом компьютере можно сложить два числа. Полный перечень допустимых операций компьютера заключен в его машинном языке.
Total votes 12: ↑11 and ↓1+10
Comments4

Дайджест продуктового дизайна, март 2016

Reading time19 min
Views11K
Уже шесть лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-февраль 2016.

Дайджест продуктового дизайна, март 2016
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments3

Конкурс GraphHPC-2016 на самую быструю реализацию параллельного алгоритма Community Detection

Reading time1 min
Views5.8K


Совсем скоро, в рамках третьей научно-технической конференции GraphHPC-2016, стартует конкурс GraphHPC, посвященный проблемам параллельной обработки больших графов с использованием суперкомьютеров. В этот раз участникам предстоит найти самую быструю реализацию задачи Community Detection (поиск сообществ) в неориентированном графе с весами.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

Поиск с помощью регулярных выражений может быть простым и быстрым

Reading time21 min
Views49K
В этой статье мы рассмотрим два способа поиска с помощью регулярных выражений. Один широко распространён и используется в стандартных интерпретаторах многих языков. Второй мало где применяется, в основном в реализациях awk и grep. Оба подхода сильно различаются по своей производительности:



В первом случае поиск занимает A?nAn времени, во втором — An.

Степени обозначают повторяемость строк, то есть A?3A3 — это то же самое, что и A?A?A?AAA. Графики отражают время, требуемое для поиска через регулярные выражения.

Обратите внимание, что в Perl для поиска строки из 29 символов требуется более 60 секунд. А при втором методе — 20 микросекунд. Это не ошибка. При поиске 29-символьной строки Thompson NFA работает примерно в миллион раз быстрее. Если нужно найти 100-символьную строку, то Thompson NFA справится менее чем за 200 микросекунд, а Perl понадобится более 1015 лет. Причём он взят лишь для примера, во многих других языках наблюдается та же картина — в Python, PHP, Ruby и т. д. Ниже мы рассмотрим этот вопрос более детально.

Наверняка вам трудно поверить приведённым данным. Если вы работали с Perl, то вряд ли подмечали за ним низкую производительность при работе с регулярными выражениями. Дело в том, что в большинстве случаев Perl обращается с ними достаточно быстро. Однако, как следует из графика, можно столкнуться с так называемыми патологическими регулярными выражениями, на которых Perl начинает буксовать. В то же время у Thompson NFA такой проблемы нет.

Возникает логичный вопрос: а почему бы в Perl не использовать метод Thompson NFA? Это возможно и следует делать, и об этом пойдёт далее речь.
Читать дальше →
Total votes 85: ↑79 and ↓6+73
Comments14

Api-platform

Reading time3 min
Views24K
image
С приближением Web 3.0 все активнее начинают использоваться подходы API first и Linked Data (или что-то вроде Sematic Web). В связи с этим читателям предлагается познакомиться с фреймворком для удобного создания API на базе схем собранных на schema.org с генерацией ответов в виде JSON-LD,

Это укороченная версия туториала Api-platform

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments3

JCoro — асинхронность на сопрограммах в Java

Reading time13 min
Views15K
К исследованиям в этой сфере меня вдохновила статья Асинхронность: назад в будущее. В ней автор описывает идею о том, как, используя сопрограммы, можно упростить асинхронный код так, чтобы выглядел он так же, как обычный синхронный, но сохранял плюшки, которые нам даёт применение асинхронных операций. Вкратце, суть подхода такова: если у нас есть механизм, позволяющий сохранять и восстанавливать контекст выполнения (поддержка сопрограмм), то код на цепочках callback'ов

startReadSocket((data) -> {
   startWriteFile(data, (result) -> {
      if (result == ok) ...
   });
});

мы можем переписать так:

data = readSocket();
result = writeFile(data);
if (result == ok) ...

Здесь readSocket() и writeFile() — сопрограммы, в которых асинхронные операции вызываются следующим образом:

byte[] readSocket() {
    byte[] result = null;
    startReadSocket((data) -> {
	    result = data;
	    resume();
    });
    yield();
    return result;
}

Методы yield() и resume() сохраняют и восстанавливают контекст выполнения, со всеми фреймами и локальными переменными. Происходит следующее: при вызове readSocket() мы планируем асинхронную операцию вызовом startReadSocket() и выполняем yield(). Yield() сохраняет контекст выполнения и поток завершается (возвращается в пул). Когда асинхронная операция будет выполнена, мы вызовем resume() перед выходом из callback'a, и тем самым возобновим выполнение кода. Управление снова получит основная функция, которая вызовет writeFile(). writeFile() устроен аналогично, и всё повторится.

Сделав единожды такое преобразование для всех используемых асинхронных операций и поместив полученные функции в библиотеку, мы получаем инструмент, позволяющий нам писать асинхронный код так, как будто это обычный синхронный код. Мы получаем возможность сочетать плюсы синхронного кода (читабельность, удобная обработка ошибок) и асинхронного (производительность). Плата за это удобство — необходимость как-то сохранять и восстанавливать контекст выполнения. В статье автор описывает реализацию на С++, мне же захотелось заиметь что-то такое в Java. Об этом и пойдёт речь.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments25

Непересекающиеся множества и загадочная функция Аккермана

Reading time14 min
Views39K
Речь пойдёт о простой структуре данных — системе непересекающихся множеств. Вкратце: даны непересекающиеся множества (например, компоненты связности графа) и по двум элементам x и y можно: 1) узнать, находятся ли x и y в одном множестве; 2) объединить множества, содержащие x и y. Сама структура очень проста в реализации и описывалась много раз в различных местах (например, есть хорошая статья на хабре и ещё кое-где). Но это один из тех удивительных алгоритмов, написать который ничего не стоит, а вот разобраться, почему он работает эффективно совсем нелегко. Я постараюсь изложить относительно простое доказательство точной оценки на время работы этой структуры данных, придуманное Зейделем и Шариром в 2005 (оно отличается от того ужаса, который многие могли видеть в других местах). Конечно, сама структура тоже будет описана, а попутно разберёмся причём здесь обратная функция Аккермана, о которой многие знают только, что она оооочень медленно растёт.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments3

Поисковые подсказки изнутри

Reading time11 min
Views28K


Ночная зала. Тысячи таинственных ликов в темноте, подсвеченных голубоватым свечением мониторов. Оглушительный треск миллиона клавиш. Подобные выстрелам автомата удары по клавишам «Enter». Зловещее стрекотание сотен тысяч мышек… Так, наверняка, играло воображение каждого разработчика высоконагруженной системы. И если его вовремя не остановить, то может выйти целый триллер или фильм ужасов. Но в данной статье мы будем гораздо ближе к земле. Мы кратко рассмотрим известные подходы к решению задачи поисковых подсказок, как мы научились делать их полнотекстовыми, а также расскажем о парочке уловок, на которые мы пошли, чтобы придать им скорости, но при этом не научить жадности к ресурсам. В конце статьи вас ждёт бонус — небольшой рабочий пример.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments14

Детский лагерь: биссектрально-пифагоровы треугольники, перепрограммирование мозга, радар-детектор и взлом наручников

Reading time13 min
Views31K
Все события и имена вымышленные


Часть вещей, которые я взял с собой на смену

Я думал, что я самый безбашенный человек в лагере, пока не приехал преподаватель Яндекса. Босиком. Он отпил глоток воды из графина и сказал: «Эээх, раньше я так водку пил». Затем он прочитал искрометную лекцию и «нарисовал» множество эллиптических кривых.

Вот как Алексей Савватеев анонсировал свою лекцию:
В журнале «Квант» номер 8 за 1983 год в статье «Вокруг биссектрисы» на странице 36 И.Ф.Шарыгин формулирует такую задачу:
«Про данный треугольник известно, что треугольник, образованный основаниями его биссектрис — равнобедренный. Можно ли утверждать, что и данный треугольник равнобедренный?»

Ответ отрицательный, но в статье далее сказано:
«К сожалению, автор не сумел построить конкретный пример треугольника (то есть точно указать величины всех его углов или длины сторон) со столь экзотическим свойством. Может быть, это удастся сделать читателям журнала?»

С тех пор построены три примера. Последний пример выводит нас на теорию эллиптических кривых и операцию сложения точек.

В лекции мы построим ЦЕЛОЧИСЛЕННЫЙ треугольник, обладающий требуемым свойством. Вопрос о бесконечности таких треугольников пока ещё остаётся открытым. Школьная задача, таким образом, приведёт нас в самое сердце одной из красивейших ветвей современной математики.


Смена в самом разгаре, кое-что интересное мы уже успели сделать, а что-то еще в планах.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments5

N+4 полезных книг

Reading time5 min
Views81K


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

Начнём со «Справочника по инженерной психологии» Вудсона и Коновера.

«Справочник по инженерной психологии» — Вудсон, Коновер


Книга о том, какие бывают кнопки и рычаги, как на них нажимают люди. И как проектировать так, чтобы люди работали с системой эффективно. Радует тем, что рассматривает пользователя как базовую систему ввода-вывода, замеряя его среднюю скорость передачи информации (около 20 бит в секунду на кнопочные интерфейсы), скорости ввода и вывода.
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments8

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views315K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

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

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
Total votes 335: ↑318 and ↓17+301
Comments244

Джулиан Трежер и искусство слушать

Reading time2 min
Views31K


Все что вы не знали о звуке и его влиянии на нас. Как сделать так, чтобы тебя слушали и слышали? Все это и многое другое в пяти выступлениях Джулиана Трежера на TED
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments1

Онтоинженер: работа по понятиям

Reading time7 min
Views24K
Привет, Хабр! Меня зовут Даня, и я работаю в группе извлечения знаний ДогадайтесьКакойКомпании. В двух постах я расскажу,
  • как мы извлекаем факты и сущности из текстов,
  • кто такие онтоинженеры,
  • зачем они отделяют трупы от костей,
  • причём здесь Лев Толстой.

На Хабре уже было несколько публикаций, посвященных извлечению информации из неструктурированного текста (много чего ищется по тегами Text Mining, Information Extraction). Вот здесь, например, приведен краткий джентльменский набор того, что желательно сделать с текстом, прежде чем из него будет удобно что-нибудь извлечь (спойлер: мы все это тоже делаем). А вот тут коллеги из Яндекса описывают свой подход с использованием КС-грамматик (кстати, там тоже замешан Толстой). В общем, тема для Хабра не новая, но и нельзя сказать, что достаточно раскрытая. Потому мы и решили поделиться нашим опытом.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments13

«Математика – один из видов искусства»: пост к столетию со дня рождения Мартина Гарднера

Reading time3 min
Views59K

Перевод поста Эда Пегга Младшего (Ed Pegg Jr) "Martin Gardner’s 100th Birthday"

Я думаю, содержание этого поста будет интересно всем, кто любит математику и ее красоту, всем, кто знаком с замечательными книгами и задачами Мартина Гарднера, а также будет полезно учителям, школьникам и студентам. Все ссылки в данном посте ведут на сайты Wolfram Demonstrations Project (коллекция бесплатных интерактивных демонстраций, созданных пользователями системы Mathematica на языке Wolfram Language с помощью технологии Computable Document Format (CDF), при этом для вас доступны исходные коды всех демонстраций, а значит, вы можете каждую из них скачать, изучить и изменить под себя) и Wolfram MathWorld (крупнейшая и самая авторитетная онлайн-энциклопедия по математике).

Gardner100_1.gif

Читать далее...
Total votes 78: ↑75 and ↓3+72
Comments18

Криптовалюты уходят в андеграунд. Законопроект от Минфина

Reading time7 min
Views47K
image
Так уж сложилось, что в конце 2000-х годов Bitcoin начал становиться самым популрным видом криптоденег, когда -то изобретенных и описанных шифропанками. Несомненно, электронная валюта BitCoin перевернула традиционный мировой порядок эмиссии и оборота денег, став самым надежным и удобным денежным инструментом для совершения оплат в онлайне и оффлайне.

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

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

Очевидно, что свободная криптовалюта может существовать только в свободном информационном обществе с открытой экономикой, к которым Россию на фоне законодательного ада последних лет в сфере регулирования сетей назвать крайне сложно.
Читать дальше →
Total votes 122: ↑101 and ↓21+80
Comments133

Разоблачение 12 юридических заблуждений о программах для ЭВМ

Reading time7 min
Views182K


Заблуждение / опасная привычка На самом деле … Наш совет прост:
1. Мы создали программу и автоматически стали ее авторами и правообладателями. Для охраны и продажи программы никаких документов оформлять не нужно, ведь она охраняется авторским правом — ©! Действительно: программа для ЭВМ охраняется авторским правом как литературное произведение (п.1 ст. 1259, ст. 1261 ГК РФ).

Но то, что для возникновения авторских прав не требуется регистрация или соблюдение каких-либо иных формальностей (п.4 ст. 1259 ГК РФ), ни в коем случае не освобождает:
− от соблюдения набора критериев, установленных законом;
− от необходимости документально доказать факт создания программы и свои права на них.

Неоформленный SOFT закон не охраняет.

Всё просто: если у вас спор о правах на программу, то без документов вы не сможете доказать, что (1) у вас были права и (2) ваши права нарушены, (3) что сама эта совокупность данных и команд на языке программирования является интеллектуальной собственностью (ведь различные версии и релизы никакой новой интеллектуальной собственности не создают).
То же самое – при постановке на бухгалтерский учёт и оформлении бухгалтерских проводок.

Коротко говоря: нет документов = нет интеллектуальной собственности = нет нарушений прав = нет компенсации за нарушение прав.
Оформляйте много хороших и разных документов при создании программ для ЭВМ:
— договоры с авторами;
— договоры с подрядчиками;
— технические задания;
— протоколы совещаний и тестов;
— соглашения между соавторами;
— авторское свидетельство;
— сертификат признания интеллектуальной собственности;
— спецификация РИД;
— свидетельство о регистрации программы для ЭВМ (Роспатент).
Читать дальше →
Total votes 149: ↑119 and ↓30+89
Comments210

Интеллектуальные идеи, которые должен знать каждый

Reading time4 min
Views37K
Перевод статьи Скотта Янга "What are the Intellectual Ideas Everybody Should Know?"

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

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

Однако среди идей со слабыми взаимосвязями прячутся редкие идеи, которые могут, как представляется, пролить свет на гораздо большее, выходящее за пределы того, что они были призваны объяснить.

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

С этой позиции я ставлю следующий вопрос: какие интеллектуальные идеи, могущие быть широко применимы в познании мира, усвоены вами?
Читать дальше →
Total votes 80: ↑67 and ↓13+54
Comments34

Искусство мышления и MindMaps

Reading time3 min
Views15K
Интеллект-карты (Mind Maps) я начал использовать некоторое время назад, после этой публикации на Хабре. Казалось бы, штука нехитрая, но очень сильно помогает мне в работе и учёбе, позволяя структурировать полученные знания и эффективно планировать свою деятельность. Неплохо прижились карты и при коллективном «мозговом штурме», позволяя получить на выходе одну или несколько диаграмм-результатов, которые, безусловно, более наглядно отражают результат многочасовой дискуссии. Mind Maps — это одновременно и инструмент и методика, очень эффективная и интересная для изучения.

Теперь о главном — предлагаю Вашему вниманию несколько книг (и видео-презентацию), рассказывающих о философии Mind Maps, тонкостях работы с «интеллект-картами», их происхождении и применении в различных сферах нелёгкого умственного труда.

Тони и Барри Бьюзен
Супермышление — The Mind Map Book



image

Издательство: Попурри, 2007 г.
Мягкая обложка, 320 стр.
ISBN 985-483-509-Х, 0-563-53732-9,978-985-15-0017-4
Тираж: 7000 экз.
Формат: 84x108/32

Ссылки:
Купить на Озоне
Скачать PDF версию c torrents.ru

Интересовало ли вас когда-нибудь, как работает мозг? Хотели бы вы улучшить свою память, повысить творческие возможности, ясность и эффективность мышления, общий уровень интеллекта и быстроту мысли?
В книге «Супермышление», являющейся частью революционной интеллект-серии Тони Бьюзена, вы ознакомитесь с инструментом под названием интеллект-карта (Mind-Map), который позволит достигнуть всего этого, мобилизовав возможности, скрывающиеся в вашем мозгу.
«Супермышление» предоставляет полный программно-методологический комплект для вашего сверхмощного биокомпьютера — головного мозга!


Ещё книг...
Total votes 54: ↑46 and ↓8+38
Comments60

Р. Курцвейл – Как создать разум (“How to create a mind”). Краткий обзор книги

Reading time5 min
Views89K


Рэй Курцвайл (Ray Kurzweil) – довольно интересная личность. Начать хотя бы с того, что он первым в 1965 году придумал делать музыкальные синтезаторы. Он в свое время получил целую серию наград за свои изобретения в различных областях, опубликовал несколько книг (The age of intelligent machines — 1990, The 10% solution for a healthy life -1993, the age of spiritual machines – 1998, The singularity is near — 2005), снял фильм и даже основал (вместе с Google и NASA) Singularity University. Так что когда появилась информация, что он выпускает новую книгу о том, как cделать мозг (How to create a mind – the secrets of human thought revealed), — я тут же сделал предзаказ.

А для тех, кто сомневается, стоит ли покупать и для всех интересующихся предлагаю этакий обзор: а что же именно хотел сказать автор?

Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments54

Аскетичный ридер за 9.90 евро

Reading time1 min
Views121K


Немецкий разработчик электронных книг Txtr на Всемирной книжной ярмарке в Франкфурте представил своё видение популярных ридеров — читалка Beagle с E-Ink экраном размером в 5 дюймов, разрешением экрана 800×600, весом в 128 грамм и толщиной немногим менее 5 мм за 9.90 евро.

Устройство обладает внутренней памятью в 4 Гб (поддержки карт памяти нет) и Bluetooth. Всё — больше ничего, кроме экрана и пары AAA-батареек, которые должны работать целый год, нет. Экран ридера также не реагирует на касания пальцами — для работы предусмотрены три аппаратных кнопки. Ни зарядок, ни каких-либо кабелей к ридеру не существует.

Для обмена книгами с устройством и синхронизации предлагается использовать приложение txtr ebooks (есть и для iOS), которое на обычном смартфоне или планшете позволит выбрать необходимую книгу ( их более 700 000, DRM не забыли, форматы EPUB и PDF) и отправить её по Bluetooth на Beagle.

Продажи планируются по всему миру, начиная от Европы и заканчивая США и Азией.
Источник
Total votes 107: ↑99 and ↓8+91
Comments101
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity