Pull to refresh
46
0.8
Send message

Lua, ООП и ничего лишнего

Reading time4 min
Views69K
Однажды судьба свела меня с ней. С первого взгляда я был ослеплен и долгое время не мог отвести от нее взгляд. Шло время, но она не переставала меня удивлять, иногда казалось, что я изучил ее вдоль и поперек, но она снова переворачивала все мои представления. Ее гибкости не было предела, а потом я узнал, что она умеет еще и… ООП!

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

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

Инженерная культура, которую мы потеряли?

Reading time5 min
Views243K

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

Гаджет, который ушёл: старая реклама пейджеров

Reading time3 min
Views51K
Один из символов достатка в России в 1993-1997 годах — пейджер. Это устройство, способное принимать короткие буквенно-цифровые сообщения. Сотовые телефоны и смартфоны заменили эти гаджеты с миниатюрными экранами. Под катом — немного истории и раритетная телевизионная реклама.

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

Новый графический режим: CGA в 1024 цвета

Reading time9 min
Views43K
image

Речь пойдёт о демке "8088 MPH", победившей в соревновании Revision 2015's Oldskool Demo. Мы, вместе с Trixter, reenigne и Scali сделали это. И я получил возможность не только работать с группой волшебников программирования, но и побить мировые рекорды при изготовлении демок для старого доброго IBM PC, мамы и папы современной платформы x86.

Если у вас под рукой по какой-то причине не оказалось IBM PC XT x86 с CGA-адаптером, вы можете посмотреть демку на ютубе:



Технические подробности содержатся в посте reenigne, а я решил рассказать эту историю в более наглядном виде.
Читать дальше →

Базовый траблшутинг в среде VMware vSphere или что делать, если тормозит ВМ

Reading time6 min
Views61K
Что-то в последнее время технические статьи о виртуализации (да и не только о виртуализации) скатываются к формату «в новой версии ожидается такая фича». Складывается ощущение, что разбор механизмов и описание опыта, проблем и решений интересны только зарубежным экспертам. С другой стороны, есть такая проблема у экспертов — если что-то изучил, оно становится элементарным и воспринимается само собой разумеющимся, настолько, что писать об этом как-то глупо. Особенно если уже было кем-то описано где-то. Когда-то. На каком-то языке. Ниженаписанное — плод консолидации личных заметок, сначала предназначавшийся для личного упорядочивания мыслей, но наупорядочив значительный объём текста, подумал, что кому-то может пригодиться.

Типовая проблема «виртуализаторов» — владелец сервиса, заказчик или пользователь жалуется, что у него «тормозит» виртуальная машина. Так как виртуализация предполагает консолидацию большого количества ВМ на базе одного комплекта аппаратных ресурсов, переподписку (overprovision — когда мы предполагаем, что серверы не затребуют одновременно максимум своих ресурсов, а значит, например, в 40 ГБ физической памяти мы можем натолкать не 10 серверов по 4 ГБ RAM, а 15, используя Dynamic Memory), а кроме того, серверы могут тормозить и из-за ошибок в программных компонентах и их настройках, то каждый раз приходится решать за что хвататься и куда смотреть в первую очередь. Особенно, если с таким ёмким описанием проблемы, как «тормозит машина» не предоставлено никакой диагностической информации, как чаще всего и бывает. Под катом небольшое руководство для этого случая.
Читать дальше →

Запускаем BIGIP Trial Edition под Oracle VirtualBox

Reading time2 min
Views6.5K
Пару лет назад по работе столкнулся с чудом инженерной мысли — сетевым балансировщиком. Сам класс LB для меня тогда был незнаком поэтому я с рвением приступил к изучению. В то время я отвечал за веб-сервера, так что работать с балансировщиком приходилось со стороны клиента, а не администратора, но любопытство все же взяло свое.
Читать дальше →

Оптимизация рендеринга веб-страницы

Reading time5 min
Views43K
image

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

«Под капотом» Netflix: Анализ мирового кинематографа

Reading time3 min
Views34K


/ фото Brian Cantoni CC

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

Уязвимость TLS Logjam — FREAK с DH

Reading time4 min
Views16K
image

Исследователи из CNRS, Inria Nancy-Grand Est, Inria Paris-Rocquencourt, Microsoft Research, Johns Hopkins University, University of Michigan и University of Pennsylvania обнаружили новую уязвимость в TLS, схожую с FREAK, но более опасную и применимую в реальной жизни — Logjam. В случае с Logjam, атака производится на сессионные ключи, которые устанавливаются во время обмена про протоколу Диффи-Хеллмана, с целью понижения их криптостойкости до 512-битных. Такие ключи, как показали исследователи FREAK, можно взломать в течение нескольких часов, однако здесь ситуация несколько иная: из-за того, что многое (устаревшее) ПО использует общедоступные статичные DH-группы и одни и те же предопределенные начальные простые числа, существует возможность предварительного выполнения дискретного логарифмирования методом решета числового поля до определенного состояния, которое позволяет быстро, в течение 2 минут, взломать сессионный ключ той DH-группы, для которой было сделано такое вычисление.

Ученые произвели предварительный расчет для двух популярных экспортных DH-групп: первая группа используется в Apache в версиях 2.1.5-2.4.7 и встречается на 7% сайтов из TOP 1M по версии Alexa, а вторая зашита в OpenSSL, еще когда он назывался SSLeay, в 1995 году. Расчет занял неделю для каждой группы, и проводился он с использованием модифицированной версии CADO-NFS.
По заявлению исследователей, предварительный расчет этих двух групп позволяет взламывать до 80% зашифрованных соединений на серверах, которые поддерживают экспортные DH-ключи. Были предложены и продемонстрированы на видео три способа проведения атаки:
  • Оффлайн-дешифрование слабых подключений для серверов, использующих 512-битные DH-ключи по умолчанию, при пассивном прослушивании трафика
  • Понижение стойкости ключей до 512-битных с использованием TLS False Start, путем MiTM-подмены отправляемых на сервер данных о типе DH
  • Понижение стойкости ключей до 512-битных путем MiTM-подмены отправляемых на сервер данных о типе DH, и приостановления соединения до момента взлома ключей
Читать дальше →

Как «мафия PayPal» повлияла на успех Силиконовой долины

Reading time14 min
Views19K
image

Сегодня мы хотели бы поделиться с вами переводом статьи Коннера Форреста «Как «мафия PayPal» повлияла на успех Силиконовой долины» — в ней автор рассказал о лидерах проекта, о причинах, почему им пришлось покинуть компанию после слияния с eBay, а также о том, как принципы работы PayPal повлияли на развитие и будущее Силиконовой долины.

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

Надеемся, вы получите такое же удовольствие от чтения этой статьи, как и мы.

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

Оптимизация картинок для Google PageSpeed

Reading time2 min
Views93K
Нет предела совершенству, и Google PageSpeed тому доказательство. С его помощью меньше чем за минуту можно получить подробный отчет о производительности Web страницы. В подавляющем большинстве случаев PageSpeed подскажет, что нужно оптимизировать графику. Это наиболее частая проблема и наиболее весомая.



Например, даже на стартовой странице Google Developers графику можно сжать на 71%. Чем меньше весят фотки – тем быстрее грузится сайт. Меньше картинки — меньше трафика — все работает быстрее. Посетители тратят меньше времени – все довольны.

В этом материале подобраны основные инструменты для оптимизации графики.
Читать дальше →

Проблемы установки CentOS 7 с flash USB

Reading time2 min
Views59K
В данной статье рассматриваются сложности, с которыми может столкнуться пользователь при установке CentOS 7 с flash USB-накопителя, а также показаны некоторые варианты их решения.

Совсем недавно, 1 апреля 2015 года, вышла новая версия операционной системы CentOS, а именно 7 (1503).
Имеется несколько возможностей установки данной системы: сетевая установка, а также образы *.iso в вариантах исполнения от «минимальный набор» и " LiveCD" до «всё включено». Однако при попытке произвести установку можно наткнуться на некоторые сложности.

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

Как Youtube забанил наш канал и как мы его восстановили

Reading time4 min
Views70K
Однажды утром мы увидели в почте письмо от Youtube: “Из-за неоднократных или серьезных нарушений наших принципов сообщества действие Вашего аккаунта YouTube приостановлено”.

Мы в Alconost делаем видеоролики для приложений, игр и сервисов, и наш канал на Youtube — единственное (до недавнего времени) место, где мы храним все свои видео. Бан аккаунта означал, что все ролики, которые мы когда-либо размещали в сети (на нашем сайте, в социальных сетях, в постах на Хабре и т.п.) оказались недоступны. Вместо роликов зрители видели лишь сообщение “Аккаунт заблокирован”, а при переходе на сам канал натыкались на обвинение нас в мошенничестве и спаме.



На нашем канале нет ничего, что можно было бы классифицировать как “обман, спам, мошенничество”. Забегая вперед, скажем, что мы доказали свою правоту и в итоге восстановили свой канал. А вот что для этого нам пришлось сделать — читайте под катом.
Читать дальше →

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

Reading time10 min
Views31K


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

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

На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.

Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья — приглашение к обсуждению.
Читать дальше →

Подсчет себестоимости часа разработки программного обеспечения

Reading time4 min
Views150K
Сегодня я расскажу о больной теме как для покупателей программного обеспечения, так и для провайдера этой услуги – себестоимости разработки. Понятно, что сейчас не самое лучшее время для того, чтобы разбрасываться бюджетами. Только это не значит, что производители должны работать себе в убыток. Многие говорят о жадности предпринимателей, но я вам вот что скажу: нет ничего постыдного в том, чтобы делать честный бизнес и адекватно считать свои косты.

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

SkyNet всё-таки существует, но терминаторов пока опасаться рано

Reading time2 min
Views23K


Согласно сообщениям The Intercept, известный журналист Ахмад Муаффак Зайдан попал под прицел автоматической системы, выслеживающей террористов при помощи анализа данных из мобильных сетей. Его добавили в чёрный список по подозрению в причастности к Аль-Каиде.

Эдвард Сноуден несколько лет назад передал журналистам секретные презентации, из которых стало известно, что у американского агентства национальной безопасности АНБ (NSA) есть система под угрожающим названием SKYNET. Презентации детально описывают принципы работы системы.

Эта SKYNET не сможет запустить ядерные ракеты в автоматическом режиме и стереть с лица земли большую часть человечества. Зато она умеет обрабатывать большие объёмы данных, полученных от GSM-сетей. Она отслеживает людей, включённых в чёрные списки, и выделяет подозрительные шаблоны поведения. В работе системы используются облачные технологии и машинное обучение.

image

Система отслеживает путешествующих людей из списка, определяет, что они делают по прибытию на место, кому звонят. Ездят ли часто одним и тем же маршрутом. Меняют ли SIM-карты или, возможно, часто выключают свой телефон. С кем пересекаются координаты их телефонов (что говорит о возможных встречах). Не работает ли телефон человека исключительно на входящие звонки. И проверяет различные комбинации подобных данных.
Читать дальше →

Незваный гость. Почему виртуальные машины — не лучшее решение для приложений завтрашнего дня?

Reading time10 min
Views38K
Здравствуйте, уважаемые читатели!

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

Почему не RemoteFX, а также подробнее о технологиии NVIDIA GRID VGPU

Reading time11 min
Views50K
Увеличение количества рабочих мест на предприятии и рост инфраструктуры ИТ в целом рано или поздно заставляет задуматься о ряде вопросов, связанных с более грамотным построением самой ИТ-инфраструктуры, нацеленной на решение следующих задач, стоящих перед сотрудниками ИТ-отдела:
  1. сокращение затрат на создание полноценных рабочих мест;
  2. создание более удобного механизма администрирования рабочих мест сотрудниками ИТ отдела и, как следствие, сокращение времени на выполнение тех или иных операций, связанных с технической поддержкой пользователей;
  3. реализация возможности резервного копирования и быстрого восстановления данных (или рабочих мест целиком).

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

Инфляция программного обеспечения с точки зрения ресурсов процессора — почему новые версии приложения порой гораздо медленнее старых?

Reading time7 min
Views31K

Прелюдия


Это был обычный вечер четверга. Я вернулся с работы, сел за ноутбук, включил его, запустил Skype и начал привычно ждать, когда же он наконец загрузится полностью и целиком. И тут неожиданно я задумался — а почему он так долго загружается, да еще и система явно тяжело переносит этот процесс?

Я решил заглянуть в Task Manager, чтобы оценить, сколько ресурсов потребляет Skype в фоновом режиме. Но для начала небольшие предварительные расчеты. А сколько вообще это должно потреблять ресурсов? Я сейчас говорю про фоновый режим. Т.е. когда никакой видеосвязи нет, я ни с кем не говорю даже по микрофону. Все, что есть, это список контактов, который отображается в виде иконок и имен, и меню, в котором можно что-то выбрать.

Т.е. это одна форма, по сути, из которой можно запустить дополнительные меню. На этой форме один список. И текстовое поле для ввода сообщений кому-то, несколько кнопок. Лет 15 назад, когда я писал на Delphi, такое приложение (с одной формой) весило бы пару сотен килобайт. Конечно, с тех пор среды разработки стали потреблять гораздо больше ресурсов, компоненты визуальные стали богаче. Однако даже с учетом этого прогресса Skype в фоновом режиме должен весить где-то мегабайт 10 максимум. Ведь я же ни с кем не говорю и не звоню, на что там еще можно столько потратить?
Читать дальше →

IPv6 не нужен?

Reading time7 min
Views104K
Недавно прочитал заметку, смысл которой сводится к тому, что не мешало бы проверить, вдруг вы уже используете IPv6 и ничего не замечаете. Следствием этого, на мой взгляд, является другой смысл, что для подавляющего большинства IPv6 ничего нового не принесёт: сайты будут так же открываться, а телефоны так же звонить.

Последнее время IPv6 перестал быть новым, возможно это относится только к моей среде общения, но говорить об IPv6 как о новом протоколе — перестали. Читать о том как здорово поднимать туннели ради доступа к заветному и недоступному уже совсем неинтересно. IPv6 стал одним из… Казалось бы, наконец-то, можно кричать «Ура!», но став одним из, он потерял драйвер роста, превратившись в заурядный. Доказать потребителю что ему надо именно это стало сложнее, потребитель не готов платить за один из…

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

Information

Rating
2,680-th
Location
Niedersachsen, Германия
Registered
Activity