Pull to refresh
0
max7 @max7read⁠-⁠only

User

Send message

Lenovo отличилась снова: bloatware оказалось встроенным в BIOS ноутбуков компании

Reading time3 min
Views41K


Компания Lenovo снова оказалась в центре скандала, связанного с модификацией операционной системы на ноутбуках, которые производит и продаёт эта компания. В прошлый раз выяснилось, что их OEM-операционка включала установленную рекламную программу Superfish, отличившуюся навязчивым поведением и полным пренебрежением к безопасности. На этот раз всё гораздо хуже – пользователя не спасёт даже полная переустановка операционной системы с нуля.

После установки чистой системы Windows перед первым её запуском, специальная программа, хранящаяся в BIOS, заменяет системный файл autochk.exe, служащий для проверки целостности файловой системы и исправления ошибок, на свой загрузчик. Он создаёт системные службы, которые скачивают нужные программы с серверов Lenovo. Так эта система работает с Windows 7. В случае Windows 8 всё происходит ещё проще.

Дело в том, что ОС Windows, начиная с восьмёрки, поддерживает т.н. Windows Platform Binary Table (WPBT) – таблицу, формат которой был разработан компанией в виде расширения таблиц ACPI (Advanced Configuration and Power Interface). Система работает так: в BIOS компьютера может храниться бинарный исполняемый файл. Если система при загрузке находит там этот файл, она копирует его на диск и выполняет.

К сожалению, компания Microsoft с высоты своего положения имеет все возможности для того, чтобы продавить производителей железа на поддержку такой системы – чем она и не преминула воспользоваться. А сделано всё это, разумеется, на благо пользователей. Компания Microsoft, не щадя себя, заботится о безопасности пользователей операционных систем Windows. Поэтому, таким образом она решила организовать помощь в розыске украденных компьютеров.
Читать дальше →

Tor для всех: если заблокируют сайт torproject

Reading time2 min
Views67K
Что делать, если у вас в стране запретили Тор, и заблокировали все ссылки, ведущие на проект torproject? Где скачать Tor-браузер человеку, совершенно не разбирающемуся в IT? На этот случай сообщество, развивающее эту сеть, предлагает сервис GetTor Robot. Это почтовый робот, который в ответ на мейл-запрос присылает ссылки на облачные файловые хранилища с дистрибутивом браузера.

Читать дальше →

Интервалы в С++, часть 2: Бесконечные интервалы

Reading time4 min
Views12K
В предыдущем посте мы пытались впихнуть интервалы с ограничителями в STL, и убедились, что результат оставляет желать лучшего. Сейчас мы попробуем сделать это с бесконечными интервалами, чтобы прийти к аналогичному заключению. Но это упражнение направит нас к концепции супер-интервалов, которые будут включать в себя и интервалы с ограничителями, и бесконечные, и пары итераторов, напоминающие STL'ные.

Бесконечные интервалы


Необходимость бесконечных интервалов обосновать чуть сложнее. Программисты на С++ редко сталкиваются с бесконечностями. В других языках это случается сплошь и рядом. В Haskell можно создать бесконечный список целых чисел, просто набрав [1..]. Это просто «ленивый список», элементы в котором создаются по требованию. Все бесконечные интервалы ленивые.

Для чего это может понадобиться? Допустим, в алгоритме, строящем новый список из N первых элементов другого. Или вы захотите «склеить» бесконечный список с конечным. Тогда вы получите конечный список пар элементов. Это совершенно нормальная практика.

Было бы круто иметь поддержку бесконечных списков в библиотеке общего назначения.
Читать дальше →

Интервалы в С++, часть 1: Интервалы с ограничителями

Reading time6 min
Views25K
Как мы уже писали конференцию C++ Siberia в Новосибирске будет открывать Эрик Ниблер. Чтобы поближе познакомить Хабр с этим замечательным человеком, мы решили перевести цикл его статей об интервалах. Сейчас Эрик работает над реализацией библиотеки Ranges по гранту, полученному от комитета стандартизации.

В последнее время я плотно занимался интервалами, и мне стало понятно, что это нечто большее, чем просто пара итераторов. В нескольких постах я хочу объяснить понятие интервала, описать несколько интервалов, которые не получается просто или эффективно выразить при помощи STL: интервалы с ограничителями и бесконечные интервалы. В этом посте мы рассмотрим задачу представления интервалов с ограничителями через итераторы STL.
Читать дальше →

Генераторы непрерывно распределенных случайных величин

Reading time15 min
Views122K
Генератор случайных чисел во многом подобен сексу: когда он хорош — это прекрасно, когда он плох, все равно приятно (Джордж Марсалья, 1984)

Популярность стохастических алгоритмов все растет. Многие из них базируются на генерации большого количества различных случайных величин. Далеко не всегда равномерно распределенных. Здесь я попытался собрать информацию о быстрых и точных генераторах случайных величин с известными распределениями. Задачи могут быть разными, разными могут быть и критерии. Кому-то важно время генерации, кому-то — точность, кому-то — криптоустойчивость, кому-то — скорость сходимости. Лично я исходил из предположения, что мы имеем некий базовый генератор, возвращающий псевдослучайное целое число, равномерно распределенное от 0 до некого RAND_MAX

unsigned long long BasicRandGenerator() {
    unsigned long long randomVariable;
    // some magic here
    ...
    return randomVariable;
}

и что этот генератор достаточно быстрый. Я имею ввиду, что дешевле сгенерировать с десяток случайных чисел, нежели чем посчитать логарифм или возвести в степень одно из них. Это могут быть стандартные генераторы: std::rand(), rand в MATLAB, Java.util.Random и т.д. Но имейте ввиду, что подобные генераторы редко подходят для серьезной работы. Зачастую они проваливают разные статистические тесты. А также, помните, что вы полностью зависите от них и лучше использовать свой собственный генератор, чтобы иметь представление о его работе.

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


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

Равномерное распределение





Читать дальше →

Алярм, ахтунг, внимание, свистать всех в серверную

Reading time4 min
Views39K


Многим невдомёк, какая у системных администраторов нервная работа: постоянно что-то выходит из строя, а пользователи чудят безо всякой меры. Ежедневно приходится решать десятки, если не сотни задач, связанных с поддержанием работоспособности серверов, сетевой инфраструктуры, парка пользовательских компьютеров, всевозможной техники и электроники. Не говоря уже о всевозможных более простых задачах вроде настройки ПО и обслуживания оргтехники. В нашей работе очень много рутины, и нам захотелось привнести немного разнообразия и веселья в рабочий процесс. Сказано — сделано: подумав немного, мы построили специальную систему оповещения, управления, контроля и властвования.
Читать дальше →

Как не стать ботом в Bittorrent DHT и других P2P сетях

Reading time2 min
Views30K
image

Сеть Bittorrent DHT позволяет найти источники торрента по хешу из магнет-ссылки. Сеть состоит из узлов которые могут быть как Bittorent клиентами так и вредоносными программами которые препятсвуют нормальной работе сети. Они мешают клиенту получить источники торрента, перенаправляют запросы на атакуемые узлы, заполняют список узлов бесполезными адресами.

Пока я работал над счетчиком пиров и сидов(DHT Scrape) в этой сети я наткнулся на такие виды атаки.
Читать дальше →

Электронный документооборот с налоговой инспекцией для ИП

Reading time6 min
Views58K
Я индивидуальный предприниматель. Моя небольшая фирма занимается разработкой и производством электроники. Пока нет возможности держать штатного бухгалтера, поэтому соответствующие вопросы я решаю самостоятельно.

Однако решение одного вопроса у меня затянулось на полгода.

Дело в том, что при регистрации ИП я выбрал несколько кодов экономической деятельности (ОКВЭД), среди которых было производство электрооборудования, разработка программного обеспечения и некоторые ещё из смежных отраслей. И был ещё код 52.6.2 «Розничная торговля, осуществляемая через телемагазины и компьютерные сети (электронная торговля, включая Интернет)», потому что у меня есть свой сайт и там реализован Интернет-магазин. Когда я регистрировался, я не знал, что среди этих кодов есть так называемый основной, которым по какому-то стечению обстоятельств и стал именно 52.6.2.
Читать дальше →

В ближайшие месяцы введут уголовную ответственность за пропаганду наркотиков в интернете

Reading time3 min
Views17K
Президент России Владимир Путин поручил правительству внести в законодательство изменения, которые повлекут уголовную ответственность за распространение в интернете информации о приобретении, хранении, перевозке, изготовлении и переработке наркотиков. Путин потребовал подготовить законопроект о внесудебном ограничении доступа к страницам в сети, содержащим информацию о наркотиках.

image
Читать дальше →

Программиста могут оштрафовать на $48000 за мультикоптер, врезавшийся в небоскрёб

Reading time2 min
Views12K


21 июля 30-летний китайский турист Ян Юнфан, находясь в столице Тайваня Тайбэе со своей девушкой, решил снять крутое видео при помощи своего квадрокоптера DJI Phantom 3 возле небоскрёба Тайбэй 101. В результате коптер потерял управление и врезался в небоскрёб, после чего упал.

Поскольку пострадавших в этом инциденте не было (а падение довольно крупного дрона весом более 1 Кг с такой высоты могло бы окончиться весьма печально), об этом мог бы никто и не узнать — если бы китаец не выложил видео аварии, снятое дроном, в интернет.

В результате оно приобрело большую популярность, и на него обратили внимание власти Тайваня. И если до этого Юнфан мог решить, что он потерял на этом происшествии порядка $1000-$1500 (стоимость дрона вместе с видеокамерой), то теперь ему может грозить штраф в размере от $9600 до $48000.

Юнфан, работающий программистом, уже бывал в Тайбэе в качестве студента по обмену. В этот раз он должен был улететь домой в Китай, провинцию Фуцзянь, 30 июля. Но пока власти решают, применять ли к данному случаю штрафы на основании неправомерного использования воздушного пространства, ему пришлось посетить местное полицейское отделение.
Читать дальше →

Побег из темницы типов. Реализуем работу с данными, тип которых определяется динамически

Reading time15 min
Views32K


Когда результат SQL-запроса влечет бесконечные приведения типов ко всевозможным вариантам типов полей. Когда код заполнен малопонятной логикой с гигантским перебором перегрузок по типам boost::variant. Когда не знаешь, как принять аргумент произвольного типа по RPC-протоколу. Тогда требуется механизм эмуляции динамической типизации в C++. Расширяемый и удобный, создающий понятный API. Такой, что не требует предопределенного списка типов и не заставляет работать с указателями на базовый класс. Такой механизм есть — нам поможет двойная диспетчеризация!
Читать дальше →

Многопоточный SOCKS 4 сервер на Qt

Reading time5 min
Views29K
Время от времени на форумах рунета в ветке Qt появляются вопросы связанные с программированием сетевых приложений. Одна из проблем которая терзает этих людей, — это подход к организации сервера. Обычно перечисляют три подхода:
  • однопоточный асинхронный;
  • многопоточный, создавать по потоку на соединение;
  • многопоточный, с пулом потоков на QThreadPool и QRunnable.

Когда говоришь про фиксированное количество рабочих потоков со своим циклом обработки событий, то просят привести пример. Дальше будет приведен пример сервера с пулом потоков, каждый из которых имеет свой цикл обработки событий.
Читать дальше →

nxweb – HTTP сервер для приложений на Си

Reading time10 min
Views16K
nxweb – это новый встраиваемый высокопроизводительный веб-сервер для приложений на Си. По функциональности это фреймворк для написания обработчиков HTTP запросов. Аналоги: G-WAN/libevent/Mongoose, Apache/mod_<ваш любимый язык>, Tomcat, Node.js. Разработчик – Ярослав Ставничий. Меня проект заинтересовал прежде всего тем, что он представляет реальную альтернативу существующим решениям, каждое из которых обладает своими недостатками. Выбор – это хорошо. Возможно, и вам понравится сочетание особенностей, плюсов и минусов этого сервера.

Под катом подробная информация о проекте из интервью с разработчиком.
Читать дальше →

Здрасьте. Это ЦРУ. Мы хотим долю в вашем бизнесе

Reading time3 min
Views6.6K


Сегодня с утра на работе, потягивая кофе, пробегал глазами информационную ленту на techcrunch.com. Взгляд остановился на фразе, что пятому по уровню финансирования стартапу в США оказала финансовую поддержку Центральное Разведывательное Управление (ЦРУ).

Сама новость не очень впечатлила меня, но вспомнился эпизод пятилетней давности когда я был нанят одним из стартапов в Сан Бруно, чтоб решить небольшую проблему с аутентификацией использования SAML протокола. Я был довольно сильно увлечен проектом так, что было не особо до налаживания отношений с коллегами и тут в одну из пятниц народ в офисе по-расcлабону завел разговор про социальные сети… я особо не парясь вставил свое лыко в строку, бросив в общий разговор фразу — что мол де «социальные сети это лучший проект ЦРУ за последние несколько десятков лет». Мое замечание было встречено истерическим хохотом и аплодисментами…

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

Так что это за фонд ЦРУ, который финансирует стартапы в США?
Читать дальше →

Palantir, мафия PayPal, спецслужбы, мировое правительство

Reading time8 min
Views72K
«Лучший способ избавиться от дракона — это иметь своего собственного»



На Хабре нет ни одного упоминания о Palantir`е, в русской Википедии об этом проекте нет статьи, Mithgol молчит — что-то идет не так. Или так.

А между тем Palantir стала второй крупнейшей частной компанией Кремниевой Долины с оценкой в 20 000 000 000$ (уступив Uber). Среди прочих заслуг Palantir`а — раскрытие крупных китайских разведывательных операций Ghostnet и Shadow Network.
Журналист: — В «Википедии» говорится, что вы входите в управляющий комитет Бильдербергского клуба. Правда ли это, и если да, чем вы там занимаетесь? Организуете тайное мировое господство?

Питер Тиль: — Это правда, хотя все не до такой степени тайно или секретно, чтобы я не мог вам рассказать. Суть в том, что ведется хороший диалог между разными политическими, финансовыми, медиа- и бизнес-лидерами Америки и Западной Европы. Никакого заговора нет. И это проблема нашего общества. Нет секретного плана. У наших лидеров нет секретного плана, как решить все наши проблемы. Возможно, секретные планы – это и плохо, но гораздо возмутительнее, по-моему, отсутствие плана в принципе.

Приходится собирать информацию о Palantir`е по крохам. И такая жирная кроха прячется в книге Питера Тиля «От нуля к единице» (хотя в этой книге множество намеков и информации между строк, так же как в легендарном курсе и его переводе на Хабре, спасибо zag2art).

Питер Тиль: Цель, которую я ставил перед собой, читая стэнфордский курс о стартапах и предпринимательстве, заключалась в том, чтобы донести все те знания о бизнесе, которые я приобрел за последние 15 лет в Кремниевой долине как инвестор и предприниматель, собрать их воедино. С книгой то же самое.

Надеюсь, благодаря этой статье и комментам хабрачитателей, положение дел относительно Palantir`а станет чуточку яснее.
(Есть многомиллиардный рынок, связанный с аналитикой и ИБ, а мы ничего про него не знаем.)
Читать дальше →

Интернет как новое огораживание

Reading time6 min
Views15K
Предлагаю читателям Geektimes перевод публикации «The Internet as New Enclosure». Перевод был прислан в песочницу на Хабр, пролежал там довольно долгое время и лежал бы и дальше, недоступный широкой аудитории, однако его достали модераторы и перенесли сюда.

image

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

В плоть до конца 20 века, СМИ были чрезвычайно однонаправленными: информация текла в одну сторону, а внимание в другую. Критики обычно сосредотачивались на этом аспекте их устройства, обвиняя их в том, что они давали крохотной политической клике огромное влияние над обществом, закрепляя за остальными роли зрителей. В отличии от них, подпольные СМИ придерживались более интерактивных и децентрализованных форм.

Всеобщее участие и децентрализация внезапно стали мейнстримом с появлением общедоступных цифровых медиа. Во многих отношениях, Интернет представлял из себя более раскрепощающее и укрепляющее самооценку пространство для новых методов коммуникации. Поскольку его базовая модель была разработана исследователями, финансируемыми военными, а не частным сектором, он проектировался для того, чтобы приносить пользу, а не прибыль. По сей день, большая часть Интернета остаётся своего рода «Диким Западом», в котором затруднительно следить за исполнением традиционного вещного права. Возможность делиться материалами бесплатно и напрямую с другими пользователями оказала огромное воздействие на некоторые отрасли, в то время как коллаборативные форматы вроде Википедии и ПО с открытым исходным кодом показали, как просто люди могут удовлетворять свои потребности без частной собственности. Корпорации по-прежнему ищут способы делания денег в Интернет кроме как через онлайн-торговлю и рекламу.

image

Однако, по мере того как наши жизни становятся всё более и более оцифрованными, важно не принимать как данность то, что это всегда к лучшему. Капитализм разрастается за счёт захвата тех сторон мира, которые когда-то были свободными, а затем предлагает доступ к ним по высокой цене, и эта цена не всегда выплачивается в долларах.
Читать дальше →

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

Reading time13 min
Views86K
image

Семь месяцев назад, сидя за столом на кухне в своей старенькой квартире, расположенной в оживленном районе Тегерана, я повторил то, что уже делал тысячи раз. Открыв ноутбук, я разместил очередную запись в своем блоге. Это была первая запись за последние шесть лет — мое сердце разрывалось.
Читать дальше →

Научно-практический комментарий Роскомнадзора к закону «О персональных данных». Есть ли в нем что-то научное и практическое?

Reading time16 min
Views23K
Совсем недавно в узконаправленных СМИ появилась новость о том, что Роскомнадзор опубликовал под эгидой Российской газеты чтиво под названием: «Федеральный закон «О персональных данных». Научно-практический комментарий». Для меня по роду деятельности эта брошюра (ну как брошюра, почти 200-страничный талмуд) просто «маст хэв». Несмотря на то что я уже 7 лет занимаюсь защитой персональных данных в организациях, за все это время так и не выстроилось в голове стройной картины «что, как и почему». Я надеялся, что рассматриваемый документ поможет хоть что-то упорядочить. Получилось ли у Роскомнадзора прояснить мутные моменты законодательства о персональных данных, читайте под катом.

image

Читать дальше →

Исторический видеоархив Associated Press длительностью более 1 миллиона минут появился на YouTube

Reading time1 min
Views7.8K
Одно из крупнейших информационно-новостных агентств мира Associated Press (AP) сегодня объявило о том, что исторический архив видеозаписей длительностью более миллиона минут появится на YouTube-канале AP. AP объединило усилия с другим британским архивом кинохроники British Movietone, в котором хранятся уникальные видео, снятые в период с 1895-го по 1986 год ещё на 35-мм плёнку.
Узнать подробности

Семь видов интерпретаторов виртуальной машины. В поисках самого быстрого

Reading time35 min
Views35K
Все проблемы в области Computer Science могут быть решены введением дополнительного уровня косвенности. За исключением одной: слишком большого числа уровней косвенности.
All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.

Программные интерпретаторы известны своей невысокой скоростью работы. В этой статье я расскажу, как их можно ускорить.
Я давно уже хотел поподробней остановиться на создании интерпретаторов. Прямо таки обещал, в том числе самому себе. Однако серьёзный подход требовал использования более-менее реалистичного кода для примеров, а также проведения измерений производительности, подтверждающих (а иногда и опровергающих) мои аргументы. Но наконец-то я готов представить почтенной публике результаты, причём даже чуть более интересные, чем собирался.
В данной статье будет описано семь способов построения программной ВМ для одной гостевой системы. От самых медленных мы проследуем к более быстрым, поочерёдно избавляясь от различных «неэффективностей» в коде, и в конце сравним их работу на примере одной программы.
Тех, кто не боится ассемблерных листингов, испещрённого макросами кода на Си, обильно удобренного адресной арифметикой, goto и даже longjmp, а также программ, использующих копипаст во имя скорости или даже создающих куски самих себя, прошу пожаловать под кат.
Читать дальше →

Information

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