Как стать автором
Обновить
10
0
Денис @debacle

Dev

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

Не поддавайтесь хайпу, или почему цена биткоина не отражает его реальной ценности

Время на прочтение9 мин
Количество просмотров60K
Вот какие заголовки мелькали в финансовых новостях в последние недели:

«Цена биткоина наконец дошла до 10 000 $!» — The Economist, 28 ноября 2017
«Биткоин перешагнул рубеж в 10 000 $!» — CNBC, 28 ноября 2017 года
«БИТКОИН ВЗЛЕТЕЛ ВЫШЕ 11 000 $!» — The Guardian, 29 ноября 2017 года


Не успели эти известия толком перекипеть на новостных порталах, как буквально через сутки цена уже выросла до $11,500. К моменту, когда вышли заметки про одиннадцать тысяч, он уже успел упасть до девяти. А потом, пока журналисты лихорадочно дописывали последние строчки про «обвал биткоина», снова вернулся на уровень 11 000 $ за BTC.

И это не первый такой случай.

Мы уже сталкивались с чем-то подобным в 2013 году. Когда стоимость биткоина подошла к отметке в 1000 $, пресса подняла шумиху, что привело к образованию «пузыря». В январе 2013 биткоин уходил примерно за 15 $, к апрелю цена подскочила до 266 $, а затем обвалилась до 50 $. К ноябрю она превысила 1 200$, достигнув максимума в 1 242 $ на Mt.Gox. За тот год биткоин вырос почти в сто раз – это на порядок больше, чем десятикратный подъем, через который он прошел в 2017 году.

Графики выглядят почти одинаково, а новостные заголовки вообще слово в слово. Просто припишите нолик.

Пресса любит такие вещи, потому что люди читают их с большим интересом. Истории о том, как кто-то купил старый компьютер за 25 баксов и обнаружил на нем 5 000 биткоинов, или случайно выбросил жесткий диск с 7 500 биткоинами и долго искал его на свалке, или отдал 10 000 биткоинов за две пиццы, раздувают ажиотаж и приносят деньги.
Читать дальше →
Всего голосов 67: ↑42 и ↓25+17
Комментарии416

Полезные (?) советы школы хакеров ЦРУ

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

В новой утечке данных на WikiLeaks содержатся советы о том, как нужно и как не нужно писать эксплоиты


image

В данных, выложенных на WikiLeaks, содержатся тысячи файлов, относящихся к группе разработчиков ЦРУ (Engineering Development Group, EDG). Эта организация из центра киберразведки ЦРУ отвечает за создание инструментов взлома цифровых устройств по всему миру – для достижения целей ЦРУ. Утекли документы с сервера, используемого для отслеживания и документирования проектов.

Многие из этих документов не засекречены – там, к примеру, можно найти инструкции от Lockheed Martin и других производителей. Большая часть имеет гриф «секретно», включая такие безобидные вещи, как инструкция для начинающих по Microsoft Visual Studio – судя по всему, любимый инструмент подразделения EDG, департамента прикладных разработок (Applied Engineering Department, AED). Также там можно найти немного компонентов для создания мемов и анимированные GIF из манга-сериала Триган.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии15

Опубликована коллекция хакерских инструментов ЦРУ

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


7 марта 2017 года сайт Wikileaks начал публикацию коллекции Vault 7 секретных документов Центрального разведывательного управления США. Первая часть коллекции Year Zero содержит 8761 файл, в том числе список разнообразных зловредов, вирусов, троянов, десятков 0day-эксплойтов и полезной нагрузки для них, систем удалённого управления (сейчас вместо папок с файлами лежат pdf со списком файлов, после проверки появятся сами файлы) и соответствующая документация. Всего во всех частях коллекции — сотни миллионов строк кода. По мнению активистов Wikileaks, после такой утечки ЦРУ теряет контроль над большей частью своего хакерского арсенала.

Файлы получены из сети с высокой степенью защиты в Центре киберразведки ЦРУ, расположенного в Лэнгли, шт. Виргиния.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии130

НАСА не слишком довольно планами Маска полететь на Луну в 2018 году

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


На днях SpaceX заявила о намерении отправить двух туристов в полет вокруг Луны уже в конце следующего года. Насколько можно понять, в компании Илона Маска уже знают, кого будут отправлять, поскольку заявлено о том, что тренировки людей начнутся уже в этом году. Более того, туристы и финансируют всю (или почти всю) лунную программу (об этом ниже). Детальная информация о том, кто полетит будет опубликована уже после того, как все потенциальные участники проекта пройдут ряд тестов медицинского характера.

Без тяжелой ракеты-носителя такой полет будет невозможен, так что компания планирует использовать разрабатываемую ею сейчас ракету-носитель Falcon Heavy. Фактически, это три объединенных в единое целое ракеты Falcon. Что касается космического корабля, то им станет Dragon 2. Разработка ракеты-носителя финансируется SpaceX, а Dragon 2, в основном — агентством НАСА. Причем похоже на то, что руководство агентства не слишком радуется новостям о лунном проекте Маска.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии51

Умная кормушка: Machine Learning, Raspberry Pi, Telegram, немножко магии обучения + инструкция по сборке

Время на прочтение15 мин
Количество просмотров38K
Всё началось с того, что жена захотела повесить кормушку для птиц. Идея мне понравилась, но сразу захотелось оптимизировать. Световой день зимой короткий — сидеть днём и смотреть на кормушку времени нет. Значит нужно больше Computer Vision!



Идея была простой: прилетает птичка — вжуууух — она оказывается на телефоне. Осталось придумать как это сделать и реализовать.
В статье:
  • Запуск Caffe на Raspberry Pi B+ (давно хотел это сделать)
  • Построение системы сбора данных
  • Выбор нейронной сети, оптимизация архитектуры, обучение
  • Оборачивание, выбор и приделывание интерфейса

Все исходники открыты + описан полный порядок развёртывания получившейся конструкции.
Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии58

«Работает — не трогай»: Старый код и компьютеры, которые до сих пор функционируют

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

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

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

Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии44

Русские придумали гениальный способ обманывать игровые автоматы, от которого казино не могут защититься

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

В начале июля 2014 года бухгалтера из казино Люмьер Плейс [Lumiere Place] в Сент-Луисе обнаружили, что несколько их игровых автоматов сошли с ума на пару дней. Программное обеспечение, одобренное правительством, даёт автоматам фиксированную фору математическими методами, так, чтобы казино были уверены в том, сколько они заработают в долгосрочной перспективе – допустим, 7,129 центов на каждом долларе. Но 2 и 3 июля несколько автоматов из казино Люмьер выдали гораздо больше денег, чем приняли, несмотря на отсутствие каких-то особенных джекпотов. Такое отклонение на жаргоне индустрии называется отрицательным удержанием. И поскольку ПО не подвержено приступам безумия, единственным объяснением было то, что кто-то жульничает.

Охрана казино подняла архивы видеонаблюдения и обнаружила виновника, тёмноволосого мужчину 30 с чем-то лет в рубашке-поло на молнии с коричневой прямоугольной сумкой. В отличие от большинства мошенников, он вроде бы никак не воздействовал на выбранные им автоматы. Он выбирал только старые модели, изготовленные австралийской компанией Aristocrat Leisure. Он просто играл, нажимая на кнопки игр типа Star Drifter или Pelican Pete, украдкой держа при этом свой iPhone ближе к экрану.
Читать дальше →
Всего голосов 161: ↑146 и ↓15+131
Комментарии632

Прекрасное настоящее и светлое будущее Scala

Время на прочтение5 мин
Количество просмотров26K
image

Совсем недавно на Хабре появилась статья, которая дает не совсем верное представление о текущем положении вещей в Scala-сообществе. У читателя создается ложное впечатление о застое и загнивании в экосистеме Scala. В этой статье я хотел бы исправить это и рассказать о недавно вышедших новинках и будущих изменениях.

В мае 2016 году на конференции Scala Days в Нью-Йорке Мартином Одерски была представлена презентация, описывающая настоящее и будущее языка Scala.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии113

Нейросеть Google Translate составила единую базу смыслов человеческих слов

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

«Универсальный язык» нейронной сети Google Neural Machine Translation (GNMT). На левой иллюстрации разными цветами показаны кластеры значений каждого слова, справа внизу — смыслы слова, полученные для него из разных человеческих языков: английского, корейского и японского

За последние десять лет система автоматического перевода текстов Google Translate выросла с нескольких языков до 103, а сейчас она переводит 140 млрд слов ежедневно. В сентябре сообщалось, что разработчики приняли решение полностью перевести сервис Google Translate на глубинное обучение. У этого подхода есть много преимуществ. Перевод становится гораздо лучше. Более того, система может переводить тексты на языки, для которых никогда не видела переводов, то есть не обучалась специально для этой языковой пары.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии164

Функторы, аппликативные функторы и монады в картинках

Время на прочтение5 мин
Количество просмотров192K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста:


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →
Всего голосов 184: ↑175 и ↓9+166
Комментарии60

Афроамериканцы остаются основной аудиторией Tidal

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

В последние годы стриминговые сервисы все активнее набирают популярность — Apple и Google продолжают активно продвигать собственные сервисы, аудитория Spotify только растёт, но и пользовательская база ближайших конкурентов не перестаёт расти. Недавно стриминговый сервис Tidal, который в начале прошлого года известный репер Jay-Z, анонсировал преодоление отметки в 3 миллиона активных пользователей.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

Канье Уэст опять сделал это — выпустил альбом, который «купит» весь мир

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


А одновременно с этим Джей Зи заработает ещё немного «gees»* на своём стартапе, но об этом чуть ниже.
На моей памяти, за последние восемь-десять лет, действительно известные (но не «популярные») музыканты лишь несколько раз умудрялись успешно использовать те, или иные, сетевые стратегии для распространения своей музыки: Radiohead со своим In Rainbows и Nine Inch Nails с Ghosts I-IV. В обоих случаях в основе стратегии лежало первоначальное ограничение доступности альбома при низкой цене покупки, с одновременным всплеском «пиратской» активности на трекерах и сервисах, допускающих стриминг, например «Вконтакте».

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

У Уэста много известных достоинств, как и недостатков, цель этой заметки – не обсудить его как личность, но рассмотреть на совершаемые им прямо сейчас действия, кратно повышающую конверсию слушателей последнего выпущенного альбома, одновременно с увеличением количества подписчиков стриминг-сервиса Tidal, не так давно с помпой запущенного.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии20

Встреча с Евгением Бурмако: макросы в Scala

Время на прочтение2 мин
Количество просмотров7.8K
Друзья, к нам в JetBrains периодически заходят в гости хардкорные ученые и разработчики популярных технологий. В таких случаях мы просим наших гостей сделать небольшой доклад и рассказать коллегам о своей работе.



В грядущий вторник, 9 февраля, у нас в гостях будет Евгений Бурмако, PhD студент EPFL (École polytechnique fédérale de Lausanne), работающий в команде, ответственной за поддержку и эволюцию Scala. Во время своего пребывания в EPFL Евгений придумал макросы для Scala и реализовал их в официальном компиляторе. Последнее время Евгений работает над новым проектом, который значительно упрощает метапрограммирование в Scala и предоставляет новые возможности авторам средств анализа кода и интегрированной разработки.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии9

Микросервисные паттерны проектирования

Время на прочтение6 мин
Количество просмотров95K
Здравствуйте, Хабр!

В ближайшее время читайте пост о русском переводе долгожданной книги "Создание Микросервисов" Сэма Ньюмена, которая уже отправилась в магазины. Пока же мы предлагаем почитать перевод статьи Аруна Гупты, автор которой описывает самые интересные паттерны проектирования, применимые в микросервисной архитектуре
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии7

Да, Вирджиния, Scala сложна!

Время на прочтение5 мин
Количество просмотров18K
Для начала, позвольте уточнить, что я являюсь большим любителем и сторонником Scala вот уже 5 лет. Мною были написаны книги и статьи о Scala. Также я работал со множеством компаний, начавших использование Scala и Lift и проводил code review огромного количества Scala — проектов. Раньше я думал, что Scala — это просто. Она была и продолжает быть лекарством от многих проблем Java. С точки зрения “сложные или вообще невыполнимые вещи в Java довольно просты в Scala”, Scala — довольно простой язык. Работа с коллекциями очень проста. Изоляция бизнес-логики делает программы гораздо более поддерживаемыми и невероятно простыми, чем если бы они писались на Java.
Так почему же Scala сложна? Вот лучшее, что я смог придумать:
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии43

Scala хуже, чем Java. Как минимум, для половины Java проектов

Время на прочтение8 мин
Количество просмотров38K
Итак, в своем посте (прим.пер. Да, Вирджиния, Scala сложна!) я согласился с тем, что Scala слишком сложна для большей части Java разработчиков. Тот пост вызвал немало дискуссий, большая часть которых исказила его смысл. Теперь я пишу снова, надеясь пояснить, о чем я, собственно, говорил и зачем мне все это нужно.

Но сначала обо мне. Меня зовут Дэвид Поллак.
Читать дальше →
Всего голосов 76: ↑60 и ↓16+44
Комментарии80

Полвека «универсальным машинным языкам» (1966—2016): прошлое, настоящее, будущее

Время на прочтение27 мин
Количество просмотров19K
КДПВ

Прошлое


Повествование можно начать с 1962 г., когда в Кембриджском университете началась работа над CPL («Cambridge Programming Language») — «усовершенствованным вариантом» ALGOL-60. К работе над языком подключился аспирант Мартин Ричардс; главной сложностью в реализации нового ЯП ему показалась необходимость ручного портирования компилятора для разных компьютерных платформ. В частности, когда кембриджский EDSAC-2 заменили на Atlas-2, разработчики CPL потратили много времени на портирование своего компилятора для новой платформы.

Диссертация Мартина была посвящена «само-компилирующемуся» CPL: разработанный Мартином компилятор был написан на сильно упрощённом варианте CPL, компилятор которого несложно было написать на тогдашнем макроассемблере. Перенос CPL на новую платформу теперь можно было выполнить в два шага:
  1. Вручную пишем компилятор «упрощённого CPL»;
  2. Компилируем им компилятор «полного CPL».

На этом Мартин не остановился, и разработал BCPL — систему для разработки переносимых компиляторов. Компилятор BCPL генерировал псевдокод, названный Мартином «OCODE».
OCODE выглядел примерно так:
OCODE «расшифровка» («procode»)
94 5 L1 83 73 69 86 69
95 4
42 0
42 0 40 2 14
83
42 0 42 1 40 2 14 83
42 2
40 3 42 1 15
92
85 L5
90 L6
42 1 40 4 40 2 14 83
40 4 42 1 14 80 4 
90 5 40 4 40 5 88 L6
91 4
42 2 40 3 42 1 15 92
85 L7
90 L8 40 4 40 2 14
8 87 L9
40 4 42 2 11 92
85 L11
90 L10
42 0 40 6 40 2 14 83
40 4 40 6 14 80 6
90 L11
40 6 40 3 22 86 L10
91 6 90 L9
40 4 42 1 14 80 4
90 L7 40 4 40 5 88 L8
91 4 97 103 0
ENTRY 5 L1  'S' 'I' 'E' 'V' 'E'
SAVE 4
LN 0
LN 0 LP 2 PLUS
STIND
LN 0 LN 1 LP 2 PLUS STIND
LN 2
LP 3 LN 1 MINUS
STORE
JUMP L5
LAB L6
LN 1 LP 4 LP 2 PLUS STIND
LP 4 LN 1 PLUS SP 4
LAB L5 LP 4 LP 5 ENDFOR L6
STACK 4
LN 2 LP 3 LN 1 MINUS STORE
JUMP L7
LAB L8 LP 4 LP 2 PLUS
RV JF L9
LP 4 LN 2 MULT STORE
JUMP L11
LAB L10
LN 0 LP 6 LP 2 PLUS STIND
LP 4 LP 6 PLUS SP 6
LAB L11
LP 6 LP 3 LS JT L10
STACK 6 LAB L9
LP 4 LN 1 PLUS SP 4
LAB L7 LP 4 LP 5 ENDFOR L8
STACK 4 RTRN ENDPROC 0
; заголовок процедуры
; стековый кадр (два параметра и две локальные переменные)
; поместить на стек число 0
; поместить ещё один 0, прибавить к нему 2-ой элемент стека
; записать в массив на вершине стека значение под ним
; всё то же самое для 1-ого элемента массива
; поместить на стек число 2
; вычесть единицу из значения 3-его элемента стека
; записать результат в локальную переменную
; перейти к метке L5
; объявление метки L6
; взять 4-ый элемент стека, записать в массив по этому индексу 1
; прибавить к 4-ому элементу стека 1, записать результат обратно
; L5: перейти к метке L6, если 4-ый элемент стека <= 5-ому
; объявление, что на стеке сейчас четыре элемента
; вычесть единицу из значения 3-его элемента стека
; перейти к метке L7
; L8: сложить 4-ый и 2-ой элементы стека
; прочитать значение по этому адресу; если это 0, перейти к L9
; умножить 4-ый элемент на два
; перейти к метке L11
; объявление метки L10
; взять 6-ой элемент стека, записать в массив по этому индексу 0
; прибавить к 6-ому элементу стека 4-ый, записать рез-т обратно
; объявление метки L11
; перейти к метке L10, если 7-ой элемент стека меньше 4-ого
; на стеке сейчас шесть элементов; объявление метки L9
; прибавить к 4-ому элементу стека 1, записать результат обратно
; L10: перейти к L8, если 4-ый элемент стека <= 5-ому
; на стеке четыре элемента; окончание процедуры
(Для экономии места, последовательности команд записаны в одну строчку. Мартин в своём руководстве по BCPL поступает точно так же.)

Исходный код на BCPL:
LET sieve(workvec, vecsize) BE
{
  workvec!0 := 0
  workvec!1 := 0
  FOR i = 2 TO vecsize-1 DO workvec!i := 1
  FOR i = 2 TO vecsize-1 DO
    IF workvec!i DO
    { LET j = 2 * i
      WHILE j < vecsize DO
      { workvec!j := 0
        j := j + i
      }
    }
}
В более новых версиях OCODE добавилась поддержка чисел с плавающей точкой (соответственно, набор поддерживаемых опкодов почти удвоился), а также удалили опкод ENDFOR — вместо него генерируется пара LE JT.

Среди «универсальных машинных языков» OCODE уникален тем, что метки в нём определяются специальными инструкциями — т.е. для интерпретации программы её нужно сначала всю загрузить в память, и найти в ней метки.
— а отдельная программа, кодогенератор, превращала файл с таким псевдокодом в исполнимую программу для конечного процессора. OCODE сохранялся в виде текстового файла из десятичных чисел, разделённых пробелами и переводами строк: в то время, когда OCODE разрабатывался, привязка формата файла к конкретному размеру байта ограничивала бы переносимость такого файла.

Компилятор BCPL(1) поставлялся в виде OCODE, и чтобы перенести его на новую платформу, нужно было:
  1. Вручную написать интерпретатор псевдокода(2) (на любом языке, хоть на Бейсике);
  2. Адаптировать кодогенератор,(3) написанный на BCPL, для своей платформы;
  3. Запустить под интерпретатором (2) компилятор BCPL (1), скормить ему кодогенератор (3), и получить на выходе исполнимый файл кодогенератора(4);
    • Интерпретатор (2) нам с этого момента больше не нужен.
  4. Прогнать через кодогенератор (4) псевдокод компилятора (1), и получить на выходе исполнимый файл компилятора.


Такой подход означал, что для переноса компилятора на новую платформу требуется лишь самый минимум низкоуровневого программирования; и действительно, реализация BCPL была завершена к 1967 г. — раньше, чем была завершена реализация CPL, начатая на несколько лет раньше!

Достоинства BCPL применительно к системному программированию вдохновили Кена Томпсона на создание языка Би, а тот — коллегу Кена, Денниса Ритчи, на создание Си. Именно из BCPL пошла традиция обозначать {фигурными скобками} блоки программы, и именно на BCPL была написана первая программа «Hello, World!».
GET "libhdr"

LET start() = VALOF
{ writef("Hello*n")
  RESULTIS 0
}
Более важная нам причина, по которой BCPL вошёл в историю: OCODE — первая универсальная «архитектура набора команд» (ISA), т.е. «виртуальная машина», не привязанная ни к какой конкретной аппаратной платформе с её особенностями. BCPL, таким образом — первый язык программирования, соответствующий парадигме «Write once, run anywhere» (WORA): программу на BCPL можно распространять в скомпилированном виде, и её можно будет запустить на любой платформе, для которой существует OCODE-кодогенератор.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии45

Типичные грабли на пути программиста от Junior'а к Senior'у

Время на прочтение6 мин
Количество просмотров98K
Молодой программист, едва закончивший или ещё даже не закончивший ВУЗ, готов свернуть горы, учиться, учиться и ещё раз учиться и ему близлежащее будущее кажется таким:



Но более опытные товарищи знают, что на самом деле на его пути давно уже заботливо разложены грабли и путь от Junior'а к Senior'у выглядит как-то так:



Давайте вспомним некоторые типичные грабли, на которые мы все (ну или большинство) наступали сами того не замечая. Конечно, для опытных разработчиков многое покажется очевидным капитанством, однако молодых специалистов такие ловушки могут легко увести на темную сторону силы.
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии73

Оцифровка всемирного книжного наследия с помощью смартфонов

Время на прочтение4 мин
Количество просмотров12K
На планете более двух с половиной миллиардов пользователей смартфонов. Если бы каждый из них оцифровал хотя бы одну книгу, нам бы понадобился всего один день для всех когда-либо написанных произведений. Калев Литару, специалист по системам обработки данных с двадцатилетним стажем, предлагает новый способ оцифровки книг на основе краудсорсинга и обычных смартфонов.

image

В январе 2015 года пожар повредил 15% фондов научной библиотеки ИНИОН в Москве. Тогда выгорело 2000 квадратных метров и обрушилась часть кровли. В библиотеке хранилось 14 миллионов книг и документов, в том числе редкие издания XVI — начала XX веков. По словам директора библиотеки Юрия Пивоварова, деньги на оцифровку почти не выделялись. Проблема полной оцифровки книг, документов, рукописей не решена в глобальном масштабе, хотя существуют проекты, которые этим занимаются, и сами библиотеки в России и других странах пытаются перевести имеющиеся экземпляры в цифровой вид.

Для оцифровки книг используют громоздкие сканеры стоимостью от десяти тысяч долларов. За этими сканерами работают профессиональные операторы, время которых стоит денег. Операторы переворачивают страницы книги, а сканер фотографирует одновременно две страницы. Скорость работы обычно составляет до пятисот страниц в час, то есть за час работник отсканирует одну-две книги.

Калев Литару предлагает призвать на помощь энтузиастов со всего мира с их смартфонами. В качестве примера эффективности краудсорсинга он рассказывает о проекте eBird, который отслеживает миграции птиц. В этом проекте за тринадцать лет работали более ста тысяч волонтёров, что позволило зафиксировать 275 миллионов наблюдений из 2,87 миллионов уникальных локаций. Сейчас у людей на планете 2,6 миллиардов смартфонов, к 2020 году их количество вырастет до 6,1 миллиардов, в том числе за счёт развивающихся стран.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии16

Из Java в Scala: 7 причин для изучения нового языка

Время на прочтение4 мин
Количество просмотров50K
Много свободного времени только у студентов. Если вы не студент, то должны появиться очень веские причины для того, чтобы начать изучать новый язык программирования. Особенно это касается Java-программистов, потому что этот язык является лидером в своём сегменте. Тем не менее причины для изучения нового языка есть.
Читать дальше →
Всего голосов 45: ↑34 и ↓11+23
Комментарии82
1
23 ...

Информация

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