Pull to refresh
10
0
Денис @debacle

Dev

Send message

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

Reading time9 min
Views60K
Вот какие заголовки мелькали в финансовых новостях в последние недели:

«Цена биткоина наконец дошла до 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 биткоинов за две пиццы, раздувают ажиотаж и приносят деньги.
Читать дальше →
Total votes 67: ↑42 and ↓25+17
Comments416

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

Reading time8 min
Views33K

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


image

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

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

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

Reading time5 min
Views65K


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

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

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

Reading time6 min
Views34K


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

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

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

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



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

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

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

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

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

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

Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments44

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

Reading time7 min
Views325K
image

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

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

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

Reading time5 min
Views26K
image

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

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

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

Reading time4 min
Views97K

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

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

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

Reading time5 min
Views192K
Вот некое простое значение:


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


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


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


data Maybe a = Nothing | Just a

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

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

Reading time2 min
Views3.9K
image

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

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

Reading time3 min
Views18K


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

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

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

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

Reading time2 min
Views7.8K
Друзья, к нам в JetBrains периодически заходят в гости хардкорные ученые и разработчики популярных технологий. В таких случаях мы просим наших гостей сделать небольшой доклад и рассказать коллегам о своей работе.



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

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

Reading time6 min
Views95K
Здравствуйте, Хабр!

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

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

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

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

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

Но сначала обо мне. Меня зовут Дэвид Поллак.
Читать дальше →
Total votes 76: ↑60 and ↓16+44
Comments80

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

Reading time27 min
Views19K
КДПВ

Прошлое


Повествование можно начать с 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-кодогенератор.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments45

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

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



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



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

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

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

image

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

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

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

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

Reading time4 min
Views50K
Много свободного времени только у студентов. Если вы не студент, то должны появиться очень веские причины для того, чтобы начать изучать новый язык программирования. Особенно это касается Java-программистов, потому что этот язык является лидером в своём сегменте. Тем не менее причины для изучения нового языка есть.
Читать дальше →
Total votes 45: ↑34 and ↓11+23
Comments82
1
23 ...

Information

Rating
Does not participate
Location
Oslo, Oslo, Норвегия
Date of birth
Registered
Activity