Рубрика «ненормальное программирование» - 90

Как известно, использование виртуальных машин, работа которых строится на программной интерпретации кода, позволяет создавать универсальные приложения, выполняемые на различных аппаратных платформах без рекомпиляции. Технология EFI Byte Code является типичным примером успешного применения данного подхода. Но при всех его преимуществах есть очевидный недостаток – программно реализованный процессор существенно медленнее аппаратного. В предлагаемой статье рассматривается метод, позволяющий нивелировать падение производительности EBC-программ на примере операций заполнения блока памяти константой и копирования содержимого блока памяти. Причем, об использовании «вставок» нативного кода центрального процессора речь не идет, поскольку это дискредитирует саму идею кроссплатформенности.Читать полностью »

Глядя в историю выполнения мной тестовых заданий, видятся закономерности, о которых хотелось бы предупредить коллег, потому что такие случаи встречаются регулярно и, скорее всего, независимо от специализации разработок. Например, к таким выводам я пришёл, имея на счету более десятка выполненных в разные годы заданий объёмом 2-5 рабочих дней каждое. А выводы — настолько парадоксальные, что, думаю, вызовут споры и удивление у тех, кто этого не прошёл. Сформулирую основной вывод для начала, а затем покажу обоснования на примерах из практики.

Вывод: (софизм) тестовое задание объёмом более дня с основной целью (поступления на работу) выполнять невыгодно.
Читать полностью »

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

image

Поскольку значительная часть моих знакомых — это люди, не имеющие достаточных знаний в сфере IT, то приходится изощрятся, чтобы заставить их пользоватся непривычными им сервисами либо утилитами, которые я считаю безопасными.
Предлагаю относительно простой способ установки безопасного канала для текстового общения через всеми известную сеть ВКонтакте. Для этого не нужно никакого дополнительного софта либо обширных знаний в сфере информационной безопасности. Всё, что вам нужно иметь — это web-браузер и аддон GreaseMonkey.
Читать полностью »

Вчера компания Apple выпустила обновление безопасности iOS 7.0.6 для iPhone 4 и более поздних моделей, iPod touch 5-го поколения и iPad 2+. Одновременно выпущен аналогичный патч 6.1.6 для iPhone 3GS и iPod touch 4-го поколения.

Обновление закрывает уязвимость CVE-2014-1266, которая позволяет злоумышленнику из «привилегированной позиции в сети» перехватывать и модифицировать пакеты в сессиях, защищённых SSL/TLS. Речь идёт о MiTM-атаке с подменой трафика.

В лаконичном пояснении Apple говорит, что при установке защищённого соединения по SSL/TLS система не способна определить аутентичность соединения. Проблему решили путём «добавления недостающих этапов валидации».
Читать полностью »

image
Читаю я вчерашний пост простоквашино на Хабре или письмо Дяди Федора. Мысль интересная, но.

Комментарии пугают.

Поясню почему.

Комментарии там условно можно разделить на два вида

  • «как много помещается ангелов на конце иглы» «о сортировке дат»,
  • «как забивать гвозди электронным микроскопом» «мы напишем что-то такое большое в энтерпрайзненьком стиле».

Душа поэта не выдержала, нашел полчаса, и нарисовал userscript.

Скрипт прост до ужаса — перебирает все комментарии в поисках специального маркера. Если маркер найден — показывает все комментарии с маркером во всплывающем окошке.

Всем желающим поучаствовать в улучшении — добро пожаловать, так сказать откатаем технологию. Если ваш комментарий надо добавить в пост — пишите внутри комментария вот так [also]. А я как инициатор этого безобразия — по мере сил буду ваши пожелания в пост переносить. И соответственно — улучшать скрипт тоже.

Читать полностью »

Эта статья продолжает мои предыдущие:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 3

В своих статьях я поэтапно расписываю процесс создания однопоточного кроссплатформенного сервера на неблокирующих сокетах.
Во всех предыдущих статьях, сервер принимал и отправлял сообщения только по ssl протоколу. В этой статье я опишу добавление в сервер поддержки обычного нешифрованного tcp протокола и научу сервер отправлять в браузер графический файл.
Но сначала немного пройдусь по комментариям к предыдущим статьям.
Читать полностью »

Практически все дети (бывшие и нет) знают про деревню Простоквашино и помнят письмо Дяди Федора.

Нечто подобное, когда любой человек присоединяется к тексту письма, можно сделать на Хабре, где нет кота Матроскина и пса Шарика, но обитает много других замечательных персонажей с прекрасным чувством юмора, тактом и расстановкой.

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

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

Идея реализации коллективного поста

Автор поста придумывает название: “Тема письма и адрес послания”, при желании пишет краткую вступительную часть, ставит HabracutЧитать полностью »

Иногда создаваемый компонент связан с большим количеством статических данных. Единственный «нормальный» способ хранить эти данные в javascript — это строки. Но хранить в строках многострочные данные неудобно, т.к. каждая строка требует дополнительного форматирования. Кроме того приходится следить за экранированием символов.
Читать полностью »

В отличие от систем с архитектурой x86, использование UEFI (Unified Extensible Firmware Interface) на ARM-платформах не стало топом в IT-новостях. Из этого не следует, что расширяемый интерфейс фирменного программного обеспечения – идея только для рынка персональных компьютеров. Спецификация UEFI декларирует универсальные подходы для инициализации любого аппаратного обеспечения и его взаимодействия с операционной системой.

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

Робот сжигающий копии блокнотаМногие программисты программного обеспечения сталкивались с задачей запрета запуска копий приложения. Это делается с различными целями и зависит от ситуации. Существует даже отдельный термин для решения данной задачи — Mutex.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js