Как стать автором
Обновить
3
0

Пользователь

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

Статистика Backblaze: какой HDD самый лучший

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


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

В дата-центре Backblaze на 31 декабря 2014 года работало 41213 дисков, которые используются для наших тарифных планов без ограничения на размер дискового пространства. Это больше, чем 27134 диска на конец 2013 года. В прошлом году большинство новых дисков имели объём 4 терабайта, а некоторые 6 терабайт.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии22

Пять лучших VPN-сервисов

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


В свете событий, связанных с ограничением доступа в интернет, цензурой и блокировками сайтов, считаю нужным представить вам перевод сравнительной статьи о VPN-сервисах с ресурса LifeHacker.

Private Internet Access


Это наш любимый сервис, а судя по количеству наград, которые они собрали – и ваш тоже. PIA обеспечивает не только шифрование трафика, но и анонимизацию вкупе с отвязкой от регионального расположения. Вы можете выбрать выходной сервер из списка почти в 1000 штук (в 10 разных странах). PIA не хранит логи, не запрещает никакие протоколы и IP-адреса, и не хранит у себя информации о действиях пользователей. Также они поддерживают несколько методов авторизации, практически все операционки (мобильные и десктопные), а стоимость услуг начинается от $7 в месяц. Возможно подключение до пяти различных устройств.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии37

Что нового в C# 6.0?

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

Microsoft выпустила предварительную версию Visual studio 2015 и .Net 4.6 для разработчиков. В новом C# 6.0 несколько новых возможностей, которые могут облегчить кодинг.

В этой статье рассмотрены новые возможности языка C# 6.0. Скачать новую VS можно по ссылке:
Microsoft Visual Studio Ultimate 2015 Preview

Инициализация свойств со значениями


В C# 6.0 мы можем инициализировать свойства со значениями, написав справа от них их значение. Это поможет избежать ошибки с null и пустыми значениями свойства.

Раньше:


public int Id { get; set; }
public string FirstName { get; set; }

Теперь:


public int Id { get; set; } = 1001;
public string FirstName { get; set; } = "Srinivas";
Читать дальше →
Всего голосов 95: ↑81 и ↓14+67
Комментарии133

Руководство хакера по нейронным сетям. Схемы реальных значений. Стратегия №3: Аналитический градиент

Время на прочтение4 мин
Количество просмотров17K
Содержание:
Глава 1: Схемы реальных значений
Часть 1:
   Введение   
      Базовый сценарий: Простой логический элемент в схеме
      Цель
         Стратегия №1: Произвольный локальный поиск

Часть 2:
         Стратегия №2: Числовой градиент

Часть 3:
         Стратегия №3: Аналитический градиент

Часть 4:
      Схемы с несколькими логическими элементами
         Обратное распространение ошибки

Часть 5:
         Шаблоны в «обратном» потоке 
      Пример "Один нейрон"

Часть 6:
      Становимся мастером обратного распространения ошибки


Глава 2: Машинное обучение
Часть 7:
      Бинарная классификация

Часть 8:
      Обучение сети на основе метода опорных векторов (SVM)

Часть 9:
      Обобщаем SVM до нейронной сети

Часть 10:
      Более традиционный подход: Функции потерь



В предыдущем разделе мы оценивали градиент путем исследования выходного значения схемы по каждому исходному значению по отдельности. Эта процедура дает нам то, что мы называем числовым градиентом. Однако этот подход все равно считается довольно проблематичным, так как нам нужно вычислять результат схемы по мере изменения каждого исходного значения на небольшое число. Поэтому сложность оценки градиента является линейной по количеству исходных значений. Но на практике у нас будут сотни, тысячи или (для нейронных сетей) от десятков до сотен миллионов исходных значений, и схемы будут включать не только один логический элемент умножения, но и огромные выражения, которые могут быть очень сложными в вычислении. Нам нужно что-то получше.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии0

Особенности русской разработки

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

По роду занятий я часто общаюсь с различными русскими и западными командами. Очень частый вопрос — есть ли какая-нибудь специфика в работе наших и как это влияет на разработку?

Есть очень неплохая книжка о специфике работы русских вообще. Она называется «Русская модель управления». Ее написал А.П.Прохоров (другой, не олигарх). Не буду ее пересказывать. Основная идея в том, что русские по своей природе могут работать только в двух модах. В нестабильном состоянии они могут свернуть горы. В это время мотивация очень высокая. В стабильном расслабленном состоянии — когда никто не пинает — русские вроде как работают плохо и не сильно утруждаются.

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

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

Я буду приводить влияние разных факторов в порядке их важности и силы влияния. Чем выше — тем сложнее это изменить и тем больший эффект это оказывает.
Читать дальше →
Всего голосов 531: ↑513 и ↓18+495
Комментарии420

Грандиозное тестирование батареек

Время на прочтение4 мин
Количество просмотров364K
Каждый раз при покупке батареек у меня возникало много вопросов:

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

Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.


Читать дальше →
Всего голосов 234: ↑232 и ↓2+230
Комментарии117

Руководство хакера по нейронным сетям. Схемы реальных значений. Стратегия №1: Произвольный локальный поиск

Время на прочтение4 мин
Количество просмотров52K
Мы начинаем публиковать перевод книги (как называет ее сам автор) «Руководство хакера по нейронным сетям». Книга состоит из четырех частей, две из которых уже закончены. Мы постараемся разбить текст на логически завершенные части, размер которых позволит не перегружать читателя. Также мы будем следить за обновлением книги и опубликуем перевод новых частей после их появления в блоге автора.

Содержание:
Глава 1: Схемы реальных значений
Часть 1:
   Введение   
      Базовый сценарий: Простой логический элемент в схеме
      Цель
         Стратегия №1: Произвольный локальный поиск

Часть 2:
         Стратегия №2: Числовой градиент

Часть 3:
         Стратегия №3: Аналитический градиент

Часть 4:
      Схемы с несколькими логическими элементами
         Обратное распространение ошибки

Часть 5:
         Шаблоны в «обратном» потоке 
      Пример "Один нейрон"

Часть 6:
      Становимся мастером обратного распространения ошибки


Глава 2: Машинное обучение
Часть 7:
      Бинарная классификация

Часть 8:
      Обучение сети на основе метода опорных векторов (SVM)

Часть 9:
      Обобщаем SVM до нейронной сети

Часть 10:
      Более традиционный подход: Функции потерь


Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

Что такое TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR (итд)

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


Многие C++ программисты, пишущие под Windows часто путаются над этими странными идентификаторами как TCHAR, LPCTSTR. В этой статье я попытаюсь наилучшим способом расставить все точки над И. И рассеять туман сомнений.

В свое время я потратил много времени копаясь в исходниках и не понимал что значат эти загадочные TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR.
Недавно нашел очень грамотную статью и представляю ее качественный перевод.
Статья рекомендуется тем кто бессонными ночами копошиться в кодах С++.

Вам интересно ??
Прошу под кат!!!
Читать дальше →
Всего голосов 91: ↑64 и ↓27+37
Комментарии85

Краткая инструкция: GitHub через Tor

Время на прочтение2 мин
Количество просмотров91K
Предлагаю использовать Tor для доступа к сайтам, к которым отсутствует прямой доступ.

image

Узнать, как использовать git через tor
Всего голосов 100: ↑92 и ↓8+84
Комментарии110

Byrobot: квадрокоптер для Чака Норриса и 6d-мышление

Время на прочтение4 мин
Количество просмотров18K
Когда несколько лет назад в руки попался первый вертолетик, сразу возникла мысль: «Дайте второй, посмотрим кто кого!»


(Вес квадрокоптера Drone Fighter 25г, батарейки 8г)

Недавно корейцы порадовали — в Москве появились специально заточенные под файтинги квадрокоптеры (Drone Fighter), причем неубиваемые (несколько раз на полной скорости втыкал его в стену — ему все равно, совал палец в лопасти — винт слетает и легко ставится на место. Очень важный момент — снимает страх ошибки/поломки дрона, что существенно повышает фан и мотивацию учиться, эдакий вариант save/load в реальном мире. А так же допускает режим файтинга в стиле «таран»)

Что порадовало:
  • Драки. Наконец-то драки.
  • Нагрузка на мозг. Прям таки чувствуются, как образуются новые нейронные связи.
  • Девушкам нравится. Можно подлетать (отвлекать от проекта) и вызывать их улыбки
  • Стабилизация. В идеале, если не предпринимать действий, вертолет висит в той точке в которой оставил.
  • Два режима управления: с абсолютной системой координат (право-лево относительно пилота) и относительной (право-лево относительно курса квадрокоптера)
  • Сальто. (Плюс мегакрутое автоматическое управление тягой двигателей и автовыравнивание после маневров)
  • Видеокамера. HD-видеокамера (5г)
  • Много запасных батареек позволяет летать непрерывно
  • Неубиваемость. Не паришься совершенно про то, что кто-то куда-то врезался (у меня за час полетов около 100 "(по)падений" в стену/столб/цветок/кошку)
  • Удобная инструкция с подготовительными и мастерскими полетными заданиями


На Хабре уже писали про 20 профессий будущего, одна из них — «Оператор дрона». Так же на Хабре есть дельные рекомендации начинающим пилотам дронов. В Воронеже уже готовят таких специалистов с 2013 года. Так что покупайте себе своим детям квадрокоптер. Это исключительно в образовательных целях.

Под катом описание системы боя Drone Fighter, несколько фоток и много видео
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии29

ABC: Always Be Coding (не переставай программировать)

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


Как получить работу инженера?

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

# x = количество компаний, в которых ты проходил собеседования

# y = количество предложений о работе, которые ты получил

рейтинг = 100 * log(x) * y / x



Если твой рейтинг < 90, обязательно прочти это. Если > 120, возможно, тебе это не нужно, но, все равно прочти.

Читать дальше →
Всего голосов 109: ↑90 и ↓19+71
Комментарии58

Python на Хабре

Время на прочтение7 мин
Количество просмотров452K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Всего голосов 182: ↑162 и ↓20+142
Комментарии65

Обзор специализированных способов обхода блокировок в интернете

Время на прочтение4 мин
Количество просмотров919K
Представляю вашему вниманию обзор и мои субъективные оценки некоторых специализированных способов обхода блокировок со стороны провайдеров или сетевых администраторов.

1. Аддоны для браузеров


ZenMate (Chromium-based, Firefox, Android, iOS)

  • Удобство использования: 5/5
  • Скорость: 5/5
  • Шифрование трафика: Да (TLS)
  • Анонимность: Да
  • Проксирование всего трафика: Да
  • Выборочное проксирование: Да

    Описание:
        Хороший, быстрый аддон.
        На момент тестирования было доступно 5 прокси в разных странах.

    Плюсы:
        Высокая скорость работы аддона
        Быстрые прокси

    Минусы:
        Требуется регистрация в сервисе
Читать дальше →
Всего голосов 123: ↑106 и ↓17+89
Комментарии115

Как два программиста хлеб пекли

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


Я работаю программистом уже много лет, на протяжении которых, как это ни странно, я всё время что-то программирую. И вот какую интересную вещь я заметил: в коде, написанном мной месяц назад, всегда хочется что-то чуть-чуть поправить. В код полугодичной давности хочется поменять очень многое, а код, написанный два-три года назад, превращает меня в эмо: хочется заплакать и умереть. В этой статье я опишу два подхода. Благодаря первому архитектура программы получается запутанной, а сопровождение — неоправданно дорогим, а второй — это принцип KISS.

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Всего голосов 380: ↑348 и ↓32+316
Комментарии328

Что такое анти-паттерны?

Время на прочтение9 мин
Количество просмотров144K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!
Всего голосов 157: ↑147 и ↓10+137
Комментарии103

WoodyMac — деревянный конструктор будущего

Время на прочтение4 мин
Количество просмотров203K
Не берусь утверждать что каждый, но во всяком случае — большинство из нас в детстве сталкивались с конструкторами.
Некоторые из них запомнились больше, часть некоторых навсегда остались в «коробочках для гаек» (если мы говорим о железном конструкторе «Конструктор»).

И если оставить в стороне «премиальное» на те времена Lego и его китайские заменители из 90-х, остается еще одна ниша — деревянные конструкторы.

Кроме, собственно, классических кубиков — у меня сохранились отчетливые воспоминания о конструкторе «Дом»

image

Однако, прогресс неумолимо приблизился и к ним…

Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии170

Не пельменем единым жив программист или история о том, как все успеть

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

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

На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
Читать дальше →
Всего голосов 269: ↑263 и ↓6+257
Комментарии303

Меня попросили взломать программу на собеседовании

Время на прочтение11 мин
Количество просмотров194K
TL;DR Меня попросили взломать программу на собеседовании. И я получил работу.

Всем привет,

Я собеседовался на позицию инженера программной безопасности, они спрашивали в основном разные низкоуровневые вещи. Некоторые ответы я знал, некоторые нет.
Потом они прислали email с защищённым и зашифрованным бинарником, который нужно было взломать.
Когда я добрался до дома, я скачал его и увидел, что он спрашивает пароль. Они хотели, чтобы я нашёл этот пароль.
Вот что я увидел при первом запуске:
Читать дальше →
Всего голосов 220: ↑187 и ↓33+154
Комментарии61

Rust: как код может быть одновременно быстрым и безопасным. Рассказ Степана Кольцова в Яндексе

Время на прочтение2 мин
Количество просмотров54K
Привет. Меня зовут Степан Кольцов. Недавно я выступал на Java Party в киевском офисе Яндекса с докладом про язык Rust, который несёт в себе очень много для будущего программирования. Некоторые коллеги утверждают, что я всегда говорю про Rust, когда у меня есть такая возможность. Сегодня я хочу поделиться этим рассказом с вами и объяснить, почему мне это кажется важным.



Для начала пара слов о том, что такое Rust. Последние 15 лет между разработчиками на Java и на C++ ведётся спор о том, какой язык программирования хуже — Java или C++. Программы на C++ глючат, падают, и в них утекает память. Программы на Java тормозят и требуют слишком много памяти.

Rust — новый современный язык программирования, разрабатываемый компанией Mozilla — решает проблемы Java и C++: программы, написанные на Rust, одновременно быстрые и безопасные. Rust является таким же низкоуровневым (в смысле close-to-metal) языком программирования, как и C++, однако в язык встроены конструкции, позволяющие на этапе компиляции доказывать, что в программе не случатся ошибки работы с памятью, как то обращение после использования, двойное удаление, использование неинициализированной памяти и т.п. В Rust для этого используется механизм borrowed pointers. Большая часть моего рассказа была посвящена описанию этого механизма.
Читать дальше →
Всего голосов 114: ↑109 и ↓5+104
Комментарии128

Вся правда о Chrome (и не только) Web Inspector. Часть 1

Время на прочтение9 мин
Количество просмотров152K
Я постараюсь сделать самое полное и подробное описание возможностей Web Inspector, на русском языке.
В первой серии мы залезем в настройки, посмотрим, что умеет консоль и поиграемся с панелью «Elements».

Так как Web-Inspector не переведен на Русский, я буду сохранять оригинальные названия.


В качестве бонуса, приложу скриншот одной и самых первых версий, из далекого 2006го.
Читать дальше →
Всего голосов 165: ↑154 и ↓11+143
Комментарии36

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность