User
Модификация программы и что лучше менять: исполняемый код или AST программы?
- манипуляции с исполняемым кодом программы после компиляции или во время загрузки кода;
- изменение исходного кода перед компиляцией.

10 вещей, которых вы не знали о Java
Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
Аппаратное ускорение корпоративных вычислений
Хорошими примерами таких “ускорителей” могут служить GPU от NVIDIA или сопроцессоры Xeon Phi, без которых не обходится практически ни один проект в сфере научных или инженерных вычислений. Однако в корпоративном секторе подобные технологии практически не применялись (если не считать использование GPU в фермах виртуализации рабочих мест).
8 советов для более эффективной работы с Git
Привет, мне показалось хорошей идеей начать переводить не только релизные посты из блога ГитЛаба. Для разминки я взял этот пост почти наугад, так что не судите строго. Буду рад, если поможете определиться с выбором статьи для перевода, выбрав один из вариантов в опроснике
Git – это система контроля версий с огромным количеством возможностей. Пытаться изучить их все довольно утомительно, поэтому большинство пользователей ограничивается использованием лишь базового набора команд. В этой статье представлены несколько советов по работе с Git, о которых вы, возможно, не знали. Эти советы помогут вам оптимизировать ваш процесс разработки.
Распознавание образов в R с использованием сверточных нейронных сетей из пакета MXNet

Сколько нужно нейронов, чтобы узнать, разведён ли мост Александра Невского?
Введение.
На той неделе darkk описал свой подход к проблеме распознавания состояния моста(сведён/разведён).
Алгоритм, описанный в статье, использовал методы компьютерного зрения для извлечения признаков из картинок и скармливал их логистической регрессии для получения оценки вероятности того, что мост сведён.
В комментариях я попросил выложить картинки, чтобы можно было и самому поиграться. darkk на просьбу откликнулся, за что ему большое спасибо.
В последние несколько лет сильную популярность обрели нейронные сети, как алгоритм, который умудряется в автоматическом режиме извлекать признаки из данных и обрабатывать их, причём делается это настолько просто с точки зрения того, кто пишет код и достигается такая высокая точность, что во многих задачах (~5% от всех задач в машинном обучении) они рвут конкурентов на британский флаг с таким отрывом, что другие алгоритмы уже даже и не рассматриваются. Одно из этих успешных для нейронных сетей направлений — работа с изображениями. После убедительной победы свёрточных нейронных сетей на соревновании ImageNet в 2012 году публика в академических и не очень кругах возбудилась настолько, что научные результаты, а также програмные продукты в этом направлении появляются чуть ли не каждый день. И, как результат, использовать нейронные сети во многих случаях стало очень просто и они превратились из "модно и молодёжно" в обыкновенный инструмент, которым пользуются специалисты по машинному обучению, да и просто все желающие.
Почему теория струн не является научной теорией

Учёные работают над ней, она согласовывается с наукой, и выражаются надежды, что она может стать величайшим научным прорывом. Но в ней не хватает ключевого ингредиента.
Сейчас у струнных теоретиков нет объяснения тому, почему существует три больших пространственных измерения и время, а остальные измерения микроскопические. Предположения на этот счёт делаются самые разные.
— Эдвард Уиттен
Существует много способов определения науки, но один из тех, с которым могут согласиться, пожалуй, все – описывает науку, как процесс, в результате которого:
собираются знания по поводу естественных процессов или конкретного явления;
выдвигается проверяемая гипотеза, содержащая естественное, физическое объяснение этого явления;
эта гипотеза проверяется и либо подтверждается, либо опровергается;
строится более общий каркас, или научная теория, описывающая гипотезу и делающая предсказания других явлений;
она в свою очередь также проверяется и либо подтверждается, в случае чего начинаются поиски новых явлений, которые можно проверить (обратно на 3-й шаг), или опровергается, в случае чего выдвигается новая проверяемая гипотеза (обратно на 2-й шаг).
И так далее. Этот научный процесс всегда включает постоянный сбор новых данных, уточнение или замену гипотез, когда процесс выходит за сферу действия гипотезы, и проверку теории с целью её подтверждения или опровержения.
Именно так всегда продвигалась наука, признаём мы это или нет. Гелиоцентризм пришёл на смену геоцентризму, потому что он объяснял явления, которые не мог объяснить геоцентризм, включая:
- луны Юпитера;
- фазы и относительные размеры Венеры и Марса в разное время года;
- периодичность кометных орбит.
Эффективное использование Github

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.
Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).
Содержание
- Трюки с URL
- Горячие клавиши
- Тикеты и пулл-реквесты
- Github markdown
- Аккаунт
- Работа с репозиториями
- Поиск кода
- Командная строка и Github
- User scripts
- Github-вандализм
- Дополнительные Github-ресурсы
- Полезные ссылки
Удивительный план по выращиванию денег на деревьях

Однажды, около пяти лет назад, Фрэнк Нолво, немногословный коренастый шкипер с верховий реки Сепик, на севере Папуа – Новой Гвинеи, проснулся и отправился в город. У 42-хлетнего Нолво было девять детей. Он работал над пристройкой к дому, и ему требовались стройматериалы.
Если вы живёте в верховьях Сепик, вы не можете просто сходить в магазин. Нолво вышел из своей деревни Кагиру рано утром. Как и у других групп домов с пальмовыми крышами по реке, в Кагиру нет электричества, мобильной связи и дороги, соединяющей её с другими местами. Даже по стандартам Папуа – Новой Гвинеи, регион считается слишком жарким, бедным и сложным для проживания. Во время дождя наступает наводнение. Во время засухи ручьи пересыхают, и люди со своими каноэ оказываются в ловушке. Чтобы дойти куда-нибудь, нужно идти несколько дней. По безжалостным географическим причинам экономическое развитие в верховьях Сепик буксовало тысячи лет. А ещё там очень, очень много крокодилов.
Целый день проведя на воде, Нолво достиг Амбунти, большой деревни с населением в 2000 человек, где он переночевал. Следующим утром он двинулся дальше. Нолво считался среди местных процветающим и влиятельным человеком. Кроме лодки, у него была должность председателя района, в который входят 30 деревень, включая Кагиру. Но и для него путешествие было серьёзным предприятием. Одного горючего пришлось израсходовать на почти на 1000 кина [около 20 000 руб]. К обеду второго дня Нолво пришвартовал лодку и сел на грузовик, направлявшийся в Вевак, столицу провинции. Это и была цель его поездки, находившаяся в четырёх часах езды от берега. Именно на рынке в Веваке, покупая материалы, Нолво встретился с ещё одним главой района в верховьях Сепик, Дэвидом Салио, пригласившим его на встречу в местном отеле, посвящённую торговле квотами на выбросы CO2.
Vulners — Гугл для хакера. Как устроен лучший поисковик по уязвимостям и как им пользоваться

Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось искать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам, причем бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Методические заметки об отборе информативных признаков (feature selection)
Меня зовут Алексей Бурнаков. Я Data Scientist в компании Align Technology. В этом материале я расскажу вам о подходах к feature selection, которые мы практикуем в ходе экспериментов по анализу данных.
В нашей компании статистики и инженеры machine learning анализируют большие объемы клинической информации, связанные с лечением пациентов. В двух словах смысл этой статьи можно свести к извлечению ценных крупиц знания, содержащихся в небольшой доле доступных нам зашумленных и избыточных гигабайтов данных.
Данная статья предназначена для статистиков, инженеров машинного обучения и специалистов, которые интересуются вопросами обнаружения зависимостей в наборах данных. Также материал, изложенный в статье, может быть интересен широкому кругу читателей, неравнодушных к data mining. В материале не будут затронуты вопросы feature engineering и, в частности, применения таких методов как анализ главных компонент.

Источник.
Более 60 инструментов для мониторинга Windows

Интерполяция: рисуем плавные графики с помощью кривых Безье
В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построения плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием вот этой статьи и очень полезного комментария товарища lany, за что им отдельное спасибо.
Постановка задачи
Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:

Всех, кому интересно, прошу под кат.
Аппаратный ускоритель нейросети подключается по USB

Американская компания Movidius известна как разработчик аппаратного ускорителя нейросетей Myriad 2 VPU и поставщик микросхем для системы искусственного интеллекта GoogleNet.
После оптимизации и подготовки бинарника в фирменном фреймворке Fathom Deep Learning Software Framework нейросеть эффективно работает на ускорителе Myriad 2 с энергопотреблением менее 1 Вт. Такие микросхемы идеально подходят для роботов, мультикоптеров, смартфонов, видеокамер наблюдения, шлемов дополненной реальности — любых гаджетов, где пригодится распознавание объектов, распознавание речи, трекинг объектов, навигация и т.д.
Одновременно с фреймворком Fathom компания Movidius сегодня на саммите Embedded Vision Summit в Калифорнии впервые показала публике ускоритель-на-флешке Fathom Neural Compute Stick — первый в мире прибор такого рода. Здесь вообще всё сразу готово к применению. Флэшка со встроенным ускорителем Myriad 2 просто вставляется в любое устройство с USB-портом.
От шедулера к планировщику
Сразу просьба к строгим читателям. Если вы не поняли какой-либо термин из применённых — спросите, я подскажу, что я имел в виду. А если вам нравится другое написание или перевод этого термина — укажите его в комментарии. Я применяю те, которые нравятся мне.
Итак, в прошлых статьях описан механизм реализации многозадачности за вычетом планировщика, он же шедулер, он же скедулер,
Как я уже говорил, шедулер — это просто функция, которая отвечает на вопрос: какую нить и на сколько времени поставить на процессор.
Кстати, в SMP системе шедулер ничем не отличается от однопроцессорного. Вообще, чтобы проще понимать структуру взаимодействия сущностей на одном и нескольких процессорах, проще всего представить себе следующую модель: для каждого процессора есть нить «простоя» (которая работает, если вообще больше некому и просто останавливае процессор до прерывания), которая постоянно пытается «отдать» процессор (которым она как бы владеет) другим нитям, выбирая нить с помощью шедулера.
Говоря о шедулере нельзя не сказать о приоритетах.
Приоритет — свойство нити (или процесса) влияющее на конкуренцию этой нити с другими нитями за процессор.
Приоритет обычно описывается парой <класс приоритета, значение приоритета внутри класса>.
День рождения Ершова
— Андрей Петрович Ершов

«Суть проблемы в том, чтобы признать, что программирование требует от человека несколько особого взгляда на мир, его потребности и эволюцию, особой моральной подготовленности к своему долгу. Программист — это солдат технической революции и как таковой должен обладать революционным мышлением.»
— А. П. Ершов
Дональд Кнут вспоминал: «Это началось еще когда я был студентом последнего курса. Тогда только появилась книга Андрея «Программирование для БЭСМ», и мы, группа студентов, смогли убедить преподавателя русского языка включить её в курс в качестве одного из двух сборников текстов для изучения научной лексики».
Ершов потом водил дружбу с Кнутом и Сеймуром Пейпертом, разработал Русский алгоритмический язык, который народ за глаза называл «Ершол». В 1985 создал серию обучающих телепередач для обучения программированию школьников (советский MOOC), через год свозил группу школьников-программистов в Америку, а еще через год принял в Новосибе ответную делегацию американских школьников-программистов. (Кстати, если вы знаете участников этих событий — отпишитесь в комментах или в личку.)
Заслуги и вклад Ершова в советское (и мировое) программирование описаны в Википедии, мне же захотелось заглянуть чуть глубже и поискать
А это Ершов и МакКарти если что:
Пагинация списков в Android с RxJava. Часть I
В данной статье я бы хотел рассказать вам о том, как сделать автоподгружаемый список простейшим в реализации для разработчика и максимально эффективным и быстрым для пользователя. А также о том, как нам в этом здорово поможет RxJava с ее главной догмой — «Everything is Stream!»
Разбираемся с многопоточностью в RxJava

Когда описывают преимущества RxJava, всегда упоминают об удобстве организации работы многопоточного приложения средствами RxJava. То, как использовать операторы subscribeOn и observeOn, можно прочитать практически в каждой статье, посвященной основам RxJava. Например, здесь хорошо описаны случаи, когда использовать методы subscribeOn и когда observeOn. Однако, на практике часто приходится сталкиваться с проблемами, для которых нужно более глубокое понимание того, что именно делают методы subscribeOn и observeOn. В этой статье я хотел бы рассмотреть ряд вопросов, которые иногда возникают при использовании этих операторов.
Улучшаем работу в консоли или как я написал команду sshcdvim

Information
- Rating
- 788-th
- Location
- Екатеринбург, Свердловская обл., Россия
- Date of birth
- Registered
- Activity