Pull to refresh
-22
0
Send message

О тонкостях повышения performance на С++, или как делать не надо

Reading time4 min
Views35K
image
Однажды, много лет назад, пришел ко мне клиент, и слезно умолял поручил разобраться в одном чудесном проекте, и повысить скорость работы.

Вкратце, задача была такой — есть некий робот на С++, обдирающий HTML страницы, и собранное складывающий в БД (MySQL). С массой функционала и вебом на LAMP — но это к повествованию отношения не имеет.

Предыдущая команда умудрилась на 4-ядерном Xeon в облаке получить фантастическую скорость сбора аж в 2 страницы в секунду, при 100% утилизации CPU как сборщика, так и БД на отдельном таком же сервере.

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

Микроэлектроника для космоса и военных

Reading time13 min
Views308K
Возможное, многие из вас думали после ситуации с Фобос-Грунтом — что такого особенного в микросхемах для космоса и почему они столько стоят? Почему нельзя поставить защиту от космического излучения? Что там за история с арестом людей, которые микросхемы экспортировали из США в Россию? Где все полимеры?

На эти вопросы я и попробую ответить в этой статье.

Disclaimer: Сведения получены из открытых источников и могут быть не вполне точными. Я лично с военной электроникой не работаю, а кто работает — те статьи писать не могут. Буду рад дополнить и исправить статью.
Читать дальше →

Самостоятельное изучение схемотехники. Основные понятия. Часть 1

Reading time3 min
Views338K
Изучение цифровой схемотехники нужно начинать с теории автоматов. В этой статье можно найти некоторые элементарные вещи, которые помогут не потеряться в дальнейших статьях. Я постарался сделать статью легкочитабельной и уверен, что неподготовленный читатель сможет в ней легко разобраться.

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

Микроэлектронная индустрия в России (2012)

Reading time10 min
Views159K
С теорией (1) (2) закончили — пора переходить к практике. В этой статье — о том, какие микроэлектронные заводы в России (и Белоруссии) существуют и что они могут делать, а также о самых крупных разработчиках собственно самих микросхем, и каких работающих результатов им удалось добиться.

Под катом — драматическая история о пластиковой электронике, российской «гуманитарной помощи» знакомой многим компании AMD и билетах Метро.

Ну и в дополнение — график показывающий как изменялось состояние российской микроэлектроники последние 22 года по сравнению с США и Китаем.
Читать дальше →

Первый опыт в исследовании вредоносного ПО под Microsoft Windows

Reading time4 min
Views9.1K

Введение


Многие наверняка знают это чувство опасения за свою флешку, подключая ее в «чужой» компьютер. Тем более, если нельзя посмотреть что происходит в операционной системе этого компьютера из-за прав пользователя, да и сам этот компьютер «публичного доступа» ( аудитория в учебном заведении). И еще более паршивое чувство, когда опасения оправдываются: помимо записи на флешку, вирус некоторым образом модифицирует данные на ней, притом криво.
С этим столкнулся и я. А заполучив образец вируса на подставную флешку, решил разобраться, что еще он делает и в чем вообще заключается суть его работы, а главное – как изгнать эту заразу с компов и «зараженных» флешек.
Статья будет полезна тем, кому интересна область анализа ПО, независимо от квалификации и навыков (специалисты могут в комментарии написать о своем опыте).

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

Встречайте IntelliCommand (Visual Studio 2010/2012 extension)

Reading time1 min
Views15K
Как много горячих клавиш вы знаете в Visual Studio? Знаете все? Я знаю способ выучить их все. Хочу представить вам расширение для Visual Studio 2010/2012, которое я написал вместе со своими коллегами Drake Campbell и Aditya Mandaleeka. Позвольте мне просто скопировать описание расширения с Visual Studio Gallery:

IntelliCommand — это расширение для Visual Studio 2010 и 2012, которое помогает находить комбинации горячих клавиш. Данное расширение показывает окно-помощник со всеми возможными комбинациями клавиш при нажатии Control, Shift или Alt, или их комбинации (по умолчанию нужно удерживать клавишу на пару секунд). Так же данное расширение показывает список возможных комбинаций, когда вы нажимаете первую комбинацию из chord shortcut keys, например, Ctrl+K, Ctrl+C (данная комбинация закомментирует код в редакторе).
Читать дальше →

Microsoft отказывается установить руткит от Verizon, начало продаж Windows Phone 8 могут отложить

Reading time1 min
Views25K
Появились слухи, что крупнейший в США оператор сотовой связи Verizon Wireless отложил начало продаж смартфонов на платформе Windows Phone 8. Причина — разногласия с Microsoft по поводу программного обеспечения на смартфонах.

Дело в том, что на телефонах в сети Verizon должно быть установлено приложение для диагностики и дистанционного мониторинга. Подобные программы встроены в прошивку телефона и собирают данные об использовании устройства, они отслеживают различные действия пользователя, в том числе звонки, SMS, уровень сигнала, координаты пользователя, нажатия на тачскрин — и передают сотовому оператору.

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

История противостояния OpenGL и Direct3D

Reading time11 min
Views26K
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

Зарождение конфликта

Управление памятью в реальном режиме Windows

Reading time6 min
Views40K
Недавно Реймонд Чен завершил серию постов, начатую ещё полтора года назад, и посвящённую управлению виртуальной памятью безо всякой поддержки со стороны процессора: Windows до версии 3.0 включительно поддерживала реальный режим 8086. В этом режиме трансляция адреса из «виртуального» (видимого программе) в физический (выдаваемый на системную шину) осуществляется бесхитростным сложением сегмента и смещения — никакой «проверки доступа», никаких «недопустимых адресов». Все адреса доступны всем. При этом в Windows могли одновременно работать несколько программ и не мешать друг другу; Windows могла перемещать их сегменты в памяти, выгружать неиспользуемые, и по мере необходимости подгружать назад, возможно — по другим адресам.

(Интересно, всегдашние холиворщики «это была графическая оболочка, а не операционная система» в курсе об этих её необычайных способностях?)
И как же она ухитрялась?

«А пошло оно всё!» или снова о Coursera и ему подобных

Reading time3 min
Views24K

Привет хабровчанам!


image
Во-первых, спасибо вам, хабровчане! Именно от вас я узнал о таком замечательном проекте, как Coursera.
Как-то классе в 10 я решил, что хочу поступить в один из технических ВУЗов Вены — в этом городе я живу уже достаточно продолжительное время. У меня было какое-то очень общее понимание того, что такое php, mySQL, краем уха слышал о существовании RoR, и мне казалось, что веб-программирование — это крайне круто и что это то, чем мне бы подошло заниматься.

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

И вот я узнаю о Coursera, заглядываю туда и вижу такую халяву. Откинув старые убеждения о своей непригодности и воскликнув: «А пошло оно всё!» — записался на курс «Learn to Program: The Fundamentals», который начался на прошлой неделе. А вскоре и на несколько других курсов, + «Introduction to Computer Science I» на edX
В своём первом топике хочу написать свои впечатления от первых двух недель курса, и если кому интересно —
милости просим.

Изучить Github за 15 минут

Reading time1 min
Views127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.

Вслед за malware, Punto (Yandex) тоже решил нарушать интерфейс

Reading time2 min
Views75K
В последние дни, наверное, все, использующие Punto Switcher (начиная с некоторой, не очень старой версии) и имеющие выход в интернет, получили такое сообщение, как на скриншоте:
Punto Switcher: доступно обновление.

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

Изучение OpenCL на примере взлома паролей

Reading time10 min
Views11K

Вступление


Недавно, почитав различных статей и презентаций про GPGPU, я решил тоже попробовать для себя программирование под видеокарты. Фактически, выбор технологий в этой области не велик — сейчас живы и развиваются только CUDA (проприетарный стандарт nVidia) и OpenCL (свободный стандарт, работает на GPU от ATI, nVidia, а также на центральных процессорах). В связи с тем, что мой ноутбук располагает видеокартой ATI (Mobility Radeon 5650 HD), то выбор и вовсе свёлся к одному варианту — OpenCL. В этой статье речь пойдёт о процессе изучения OpenCL с нуля, а также о том, что из этого получилось.
Читать дальше →

ИК пульт для ПК и розеток. Часть 1

Reading time9 min
Views168K
У меня нет телевизора. Совсем. На антресолях где-то лежит старый маленький пузатик, но кабель антенны давно свернут, а телевизор этот — скорее издевательство, разве что на кухне поставить и то маловат.
Поэтому в качестве музыкального центра и телевизора я использую свой ПК. И все бы хорошо, но лень — это не только двигатель прогресса, но и фактор, который портит удовольствие, заставляя встать с дивана, на котором уютно устроился с кружкой чая, чтобы запустить программу или выключить колонки после просмотра фильма перед сном.
Существует множество ИК приемников, практически все они могут управлять компьютером и даже могут его выключить, но не могут его включить. И вот в этот момент компьютер перестает быть столь же удобным сколь телевизор или музыкальный центр. Но и проект Igor HID не порадовал своим софтом. Вроде все умеет, а неудобно. И не влезешь в него, исходников нет. Вот поэтому я собрался и сделал свой проект, открытый и доступный всем.
Сделал я его с нуля до законченного комплекта. А поскольку мой опыт в разработке и программировании электронных девайсов до него можно сказать был нулевым, то я считаю, что повторить это сможет каждый, кому это интересно.
image
Называется он USB-IRPC (USB Infrared Remote Personal Computer Control — «Юэсби-ИРПиСи» или ИРПЦ, кому как больше нравится :). Буква R на самом девайсе — просто сокращение от моего ника.
Важным преимуществом девайса является то, что он программно совместим с Arduino и в случае отсутствия уверенности в своих силах в ЛУТ может быть сделан на основе Arduino на макетной плате. Это, конечно, не так компактно и аккуратно, не так дешево, но зато доступно практически всем, даже навыки пайки особые не потребуются.
Если стремление к комфорту вам не чуждо и идея превратить свой компьютер в медиацентр, а заодно поуправлять электророзетками с пульта вам интересна, тогда вперед.

Просьба, если соберетесь делать устройство после прочтения статьи, задавайте вопросы в комментариях. По опыту предыдущих статей: вас довольно много и вопросы вы задаете одинаковые :)
Я лучше один раз отвечу всем, добавив в статью или в комментариях. Уведомления о комментариях с вопросами я просматриваю и стараюсь отвечать.
поехали, делаем USB-IRPC

Легкий способ записывать лекции по техническим предметам с LibreOffice Math

Reading time3 min
Views61K
Проблема:
Я регулярно езжу на работу в метро, и вижу молодых людей, вероятно, студентов, с макбуками, планшетами, айфонами и айпадами. Ну, то есть, понятно, что они живут в ногу со временем — твиттер там, фейсбук наверняка, инстаграмм. Может, даже наверное смотрят лекции на Coursera. Удивляет то, что при всем при этом, студенты читают конспекты рукописных лекций в тетрадке — с сокращениями, таблицами, подчеркнутыми снизу определениями терминов и т.п. И вот эти рукописные тетрадки вызвают у меня когнитивный диссонанс — ну почему нельзя в 2012 году писать лекции на ноутбуке?

Ведь решение давно известно — OpenOffice/LibreOffice.
Читать дальше →

Тестирование: из грязи в князи

Reading time7 min
Views13K
Пролог

В этой записи я поделюсь личными впечатлениями о становлении и взрослении процессов тестирования ПО в Российском IT. Волею судеб, это происходило, можно сказать, у меня на глазах и в процессе освоения этой профессии на пути от младшего тестировщика в небольшой компании до директора по качеству в солидной компании с многомиллионными оборотами.

Рекомендуется несколько абстрагироваться от текущего восприятия читателем тестирования в современном его статусе, чтобы понять как это происходило в прошлом, дабы с лету не отмахнуть статью с возгласами «да это и так все понятно», «это давно известные факты, зачем об этом писать» и т.д. Я не пытаюсь Вам рассказать о том, как нужно ходить, а лишь хочу рассказать о том, как когда-то научился ходить сам и как научились этому все мы.
Читать дальше →

Многопоточный загрузчик файлов на JS (jQuery)

Reading time5 min
Views5.5K
Доброго времени суток, коллеги. В этой статье я опишу опыт создание многопоточного загрузчика файлов (с ограниченной нагрузкой на сервер) на JS (jQuery).

Совсем недавно у меня появилась задача (опытом решения которой я и хочу с вами поделится): сделать, в админке, возможность выбирать и загружать более одного файла за один раз. Задание вроде тривиальное и не сложное, но в итоге мое решение показалось мне довольно таки интересным, так как не было найдено аналогов.
Читать дальше →

Синтаксис объявления указателей на функции в С++

Reading time1 min
Views32K
Когда я только начинал использовать С++, то всё время забывал синтаксис определения указателей на функции и особенно указателей на функции члены.

Позже узнал об одном небольшом lifehack'e, который помог мне избавиться от того что-бы держать в голове синтаксис определения указателей на ф-ции. Правда чуть позже этот всё само как-то осело у меня в голове и даже стало очевидно.

На днях показывал этот lifehack одному программисту и решил поделиться им здесь.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity