Pull to refresh
114.5
Karma
0.3
Rating

Expert C++ Engineer

  • Followers 80
  • Following 6

Еще один способ высокотехнологичного мошенничества

Data visualization Legislation in IT Finance in IT
В уходящем году я столкнулся с довольно оригинальным и высокотехнологичным способом мошенничества. По всей видимости далеко не новым, но я раньше не встречал подробных описаний того как работают подобные схемы, так что попробую восполнить этот пробел.

Итак, в этой статье мы поговорим о мошенниках, скрывающихся под видом торговых (STP) брокеров занимающихся маржинальной торговлей. Это ребята, которые предоставляют услуги в покупке контрактов на акции компаний, контрактов FOREX и прочих CFD-инструментов.

Однажды в России...
Total votes 98: ↑90 and ↓8 +82
Views 51K
Comments 109

Правильная работа с потоками в Qt

Programming *C++ *Qt *Concurrent computing *
Qt — чрезвычайно мощный и удобный фреймворк для C++. Но у этого удобства есть и обратная сторона: довольно много вещей в Qt происходят скрыто от пользователя. В большинстве случаев соответствующая функциональность в Qt «магически» работает и это приучает пользователя просто принимать эту магию как данность. Однако когда магия все же ломается то распознать и решить неожиданно возникшую на ровном казалось бы месте проблему оказывается чрезвычайно сложно.

Эта статья — попытка систематизации того как в Qt «под капотом» реализована работа с потоками и о некотором количестве неочевидных подводных камней связанных с ограничениями этой модели.

Основы
Thread affinity, инициализация и их ограничения
Главный поток, QCoreApplication и GUI
Rendering thread
Заключение

А Вы правильно работаете с QThread и сигналами?
Total votes 44: ↑44 and ↓0 +44
Views 35K
Comments 36

Выпускники американских университетов превосходят выпускников России, Китая и Индии

Research and forecasts in IT Studying in IT Education abroad IT-emigration Statistics in IT
Translation
Каждый месяц мы читаем новости о недостатках и провалах образования в США. Если верить прессе, то начальная школа в Америке не способна научить учеников даже базовым знаниям, знаний даваемых средней школой явно недостаточно для поступления в колледж, ну а школьники, сумевшие все же продержаться до окончания колледжа, оказываются абсолютно беспомощны за его стенами. Но недавно была опубликована весьма интересная статистика, показывающая что по крайней мере в одном конкретном аспекте подобное мнение весьма далеко от истины. Несмотря на известные проблемы американской системы среднего образования, выпускники американских колледжей специализирующихся на computer science оказались прекрасно развитыми и очень конкурентоспособными специалистами по сравнению со своими зарубежными конкурентами.

Исследование проведенное международной командой исследователей сравнивало между собой выпускников колледжей США с выпускниками школ трех крупнейших стран, в которые США аутсорсят разработку программного обеспечения: Китая, Индии и России. Эти три страны славятся своими первоклассными программистами и победителями международных олимпиад, их репутация безупречна, а успешные действия российских и китайский хакеров постоянно отражаются в новостях. К тому же в Китае и Индии существуют крупные внутренние рынки программного обеспечения, обслуживаемые большим количеством местных специалистов. Все эти факторы делают программистов из этих трех стран весьма релевантной точкой отсчета с которой можно сравнивать американских выпускников. При этом немало студентов из этих стран приезжает учиться в Соединенные Штаты.
Результаты для россиян, увы, оказались разгромными
Total votes 130: ↑111 and ↓19 +92
Views 81K
Comments 637

Настраиваем удобную сборку проектов в Visual Studio

C++ *Visual Studio *Build automation *
Эта статья является руководством по настройке сборки C++ проектов Visual Studio. Частично она сводилась из материалов разрозненных статей на эту тему, частично является результатом реверс-инжениринга стандартных конфигурационных файлов Студии. Я написал ее в основном потому что полезность документации от самой Microsoft на эту тему стремится к нулю и мне хотелось иметь под рукой удобный референс к которому в дальнейшем можно будет обращаться и отсылать других разработчиков. Visual Studio имеет удобные и широкие возможности для настройки по-настоящему удобной работы со сложными проектами и мне досадно видеть что из-за отвратительной документации эти возможности очень редко сейчас используются.

В качестве примера попробуем сделать так чтобы в Студию можно было добавлять flatbuffer schema, а Студия автоматически вызывала flatc в тех случаях когда это нужно (и не вызывала — когда изменений не было) и позволяла задавать настройки напрямую через File Properties



Укрощаем MSBuild
Total votes 42: ↑39 and ↓3 +36
Views 53K
Comments 23

История неудач SpaceX

Popular science Astronautics
Компания SpaceX вчера выложила совершенно шикарное видео где продемонстрированы все многочисленные фейлы (и указаны их причины) через которые компания прошла за три года отрабатывая технологию возврата и мягкой посадки первой ступени.


В видео девять фейлов, шесть взрывов и немного пятничного юмора от SpaceX. Часть кадров мне ранее не встречалась. Enjoy :)
Total votes 52: ↑49 and ↓3 +46
Views 19K
Comments 43

Научно-технические мифы, часть 1. Почему летают самолеты?

Popular science
В современном мире многие люди интересуются наукой и техникой и пытаются хотя бы в общих чертах понять, как работают вещи, которые их окружают. Благодаря этому стремлению к просвещению существует научно-просветительская литература и сайты, подобные Гиктаймсу. А поскольку читать и воспринимать ряды формул большинству людей затруднительно, то излагаемые в подобных изданиях теории неизбежно подвергаются значительному упрощению в попытке донести до читателя «суть» идеи с помощью простого и понятного объяснения которое легко воспринять и запомнить. К сожалению, некоторые из подобных «простых объяснений» являются в корне неверными, но при этом оказываются настолько «очевидными», что не подвергаясь особому сомнению начинают кочевать из одного издания в другое и нередко становятся доминирующей точкой зрения, несмотря на свою ошибочность.

В качестве одного из примеров попробуйте ответить на простой вопрос: «откуда возникает подъемная сила в крыле самолета»?



Если в Вашем объяснении фигурируют «разная длина верхней и нижней поверхности крыла», «разная скорость потока воздуха на верхней и нижней кромках крыла» и «закон Бернулли», то я вынужден Вам сообщить, что Вы скорее всего стали жертвой популярнейшего мифа, который преподают порою даже в школьной программе.
То есть это как это миф? Ведь там же все внятно и с доказательствами объясняется!
Total votes 130: ↑118 and ↓12 +106
Views 140K
Comments 177

Посадки Falcon 9 становятся рутиной

Popular science Astronautics
Утром 14 августа в 5:45 UTC (8:45 утра по Москве) тихо и без особой помпы компания SpaceX запустила очередной Falcon 9 FT, успешно отправив пятитонный спутник JCSAT-16 на геопереходную орбиту.

CRS-9

Отработавшая своё первая ступень совершила мягкую посадку на баржу в Атлантике
Total votes 45: ↑40 and ↓5 +35
Views 20K
Comments 95

Представление движений в 3D моделировании: интерполяция, аппроксимация и алгебры Ли

Align Technology, R&D corporate blog C++ *CAD/CAM *Mathematics *
В этой статье мне бы хотелось рассказать об одном интересном математическом приеме, который будучи весьма интересным и полезным мало известен широкому кругу людей, занимающихся компьютерной графикой.

Сколько существует разных способов представить обыкновенный поворот в трехмерном пространстве? Большинство людей, когда-либо занимавшихся 3D-графикой или 3D-моделированием, сходу назовут три основных широко распространенных варианта:

  • Матрица поворота 3x3;
  • Задание поворота через углы Эйлера;
  • Кватернионы.

Люди с богатым опытом добавят сюда почему-то не пользующийся популярностью четвертый пункт:
  • Ось поворота и угол.

Мне бы хотелось рассказать о пятом способе представления вращений, который симпатичен тем, что удобен для параметризации, позволяет эффективно строить полиномиальные аппроксимации этих параметризаций, проводить сферическую интерполяцию, и главное, универсален — с минимальными изменениями он работает для любых видов движений. Если вам когда-либо был нужен метод, который позволял бы легко сделать «аналог slerp, но не для чистых вращений, а для произвольных движений, да еще и с масштабированием», то читайте эту статью.
Читать дальше →
Total votes 54: ↑53 and ↓1 +52
Views 25K
Comments 14

Давайте знакомиться: компания Align Technology

Align Technology, R&D corporate blog Programming *C++ *CAD/CAM *Development for Windows *
Представьте себе компанию, будничный рабочий процесс которой включает лазерные резаки, трехмерные принтеры и трехмерные сканеры, рентгеновские томографы, CAD, композитные материалы, автоматические станки с ЧПУ, оптическую и биохимическую лабораторию и даже собственную сборку специализированных железячных девайсов. Здесь широко реализуется поточная обработка данных в реальном масштабе времени, используется 3D печать, занимаются биоинжинерией и программируют FPGA, есть сети хранящие терабайты данных, датамайнинг и даже немножко искусственного интеллекта. Представили? А теперь попробуйте угадать чем эта компания может заниматься. Сразу скажу, что это не космос, не авиация и даже не автомобилестроение.


Заинтересовались?..
Total votes 32: ↑29 and ↓3 +26
Views 35K
Comments 21

Простыми словами о преобразовании Фурье

Mathematics *Data visualization
Sandbox
Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

image (с) xkcd

Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
  • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
  • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
  • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
  • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
  • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
  • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
  • Как по цифровой последовательности восстанавливают исходный сигнал


Я буду исходить из предположения что читатель понимает что такое интеграл, комплексное число (а так же его модуль и аргумент), свертка функций, плюс хотя бы “на пальцах” представляет себе что такое дельта-функция Дирака. Не знаете — не беда, прочитайте вышеприведенные ссылки. Под “произведением функций” в данном тексте я везде буду понимать “поточечное умножение”

Итак, приступим?
Total votes 203: ↑192 and ↓11 +181
Views 879K
Comments 188

Information

Rating
1,667-th
Location
Россия
Registered
Activity