Как стать автором
Обновить
98
0
Владислав Степанов @Utter_step

Пользователь

Отправить сообщение

Maximum overload — приключения в JavaScript в мире С++

Время на прочтение12 мин
Количество просмотров12K
Как правильно расширить возможности языка программирования используя перегрузку операторов.

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

«А зачем, ведь то, что вы предлагаете, можно сделать имеющимися средствами языка».

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

Хотя физикам и математикам эта возможность пришлась по душе, программистам, в том числе создалелям С++ перегрузка операторов никогда особо не нравилась. Слишком сложное дело, много неявностей, поэтому за перегрузкой операторов закрепилось мнение чего-то вредного и применяемого в редких случаях.

Сегодня я попробую показать почему это так сложно и как правильно использовать перегрузку на примере создания одного нового типа под названием var поведение которого будет максимально приближено к аналогичному типу в JavaScript.
Читать дальше →
Всего голосов 39: ↑23 и ↓16+7
Комментарии31

LFS: Темная сторона Силы. Часть 1

Время на прочтение21 мин
Количество просмотров71K

Предисловие


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

Пингвины ручной сборки...


На Хабре уже мелькала пара статей на тему LFS, например эта, или вот эта. Комментарии к последней наводят на закономерную мысль — если набор возможностей для установки Linux и его изучения и так исчерпывающе широк, зачем нужен LFS?

Не буду витеивато излагать истории о том «как космические корабли бороздят… и когда Земля была огненным шаром...». Я отвечу на поставленный вопрос исходя из своей позиции — я собираю LFS потому, что мне просто интересно это сделать. Я вижу в этом процессе хорошую возможность заглянуть «под капот» системы. Допускаю, что этот путь сложно назвать оптимальным. Тем не менее, данная статья, и последующие за ней будут посвящены процессу ручной сборки Linux-системы. Данные статьи не будут переводом документации по сборке — в этом нет особой нужды. Акценты будут расставлены на специфике и ньюансах процесса, с которыми пришлось столкнуться автору лично. Будем считать этот цикл чем-то вроде дневника неофита.

Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии21

PythonDigest — 2014 год, итоги нашей работы в цифрах и ссылках

Время на прочтение7 мин
Количество просмотров17K
В предверии Нового года подводим итоги работы над дайджестом и выводим тенденций выявленные в процессе сбора новостей по языку Python.

За год доведен до ума и по максимуму автоматизирован сбор новостей. Ежедневно автоматически мониторится 19 источников и набирается в среднем 10-15 релевантных новостей из которых, в последствии отбираются лучшие и готовятся анонсы для дайджеста.
Ощутимый вклад приносят читатели дайджеста, ни один выпуск не проходит без добавленных ими новостей.
За полгода, прошедшие с тех пор как еженедельный дайджест новостей о языке программирования python и близлежащих технологиях перестал публиковаться на хабре, мы обзавелись постоянной аудиторией читателей, подружились c ведущими русскоязычными python-площадками, нашли и научились обрабатывать новые источники информации о python в сети, стали постоянно публиковаться в популярном паблике на эту тему во вконтактиках, переводили и публиковали интересные статьи.

Интересующихся подробностями и цифрами, милости просим под кат.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии12

Расширяя полотно картины Ван Гога “Звездная ночь” с помощью языка Wolfram Language (Mathematica)

Время на прочтение3 мин
Количество просмотров76K

Перевод поста Piotr Wendykier "Extending Van Gogh's Starry Night with Inpainting"
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~8 МБ).


Могут ли компьютеры научиться рисовать, как Ван Гог? Определенно да, до некоторой степени! Для этого, подобно художникам-копиистам, алгоритму сначало потребуется взять некоторое оригинальное произведение, а затем он сможет на их основе создать что-то сам. Насколько хорошо он сможет с этим справиться? Пожалуйста, судите сами.

ExtendingVanGoghStarryNightInpainting_1.gif
Вторая премия на фотоконкурсе ZEISS
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии36

Microsoft Azure ❤ Big Data

Время на прочтение6 мин
Количество просмотров10K
Около полугода назад я публиковал ретроспективу того, что интересного для исследователей происходит в облаке Microsoft Azure.

Продолжу эту тему, немного сместив акцент в области, которые для меня последние пару лет неизменно остаются наиболее интересными в ИТ: Big Data, машинное обучение и их симбиозом с облачными технологиями.

Ниже обсудим преимущественно октябрьские анонсы сервисов Microsoft Azure, предоставляющих возможность пакетной и real-time обработки больших массивов данных, высокопроизводительный кластер по требованию, широкую поддержку алгоритмов машинного обучения.



Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии6

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Время на прочтение40 мин
Количество просмотров547K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →
Всего голосов 548: ↑505 и ↓43+462
Комментарии330

Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле

Время на прочтение5 мин
Количество просмотров96K
Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
Читать дальше →
Всего голосов 52: ↑44 и ↓8+36
Комментарии59

Фильмы IT-тематики

Время на прочтение2 мин
Количество просмотров15K
imageВ свое время, в 1995-ом году, на меня произвел впечатление фильм «Хакеры». Можно
сказать, он стал мотиватором моей дальнейшей ИТ-карьеры. Далеко не эталон киноискусства, однако
стремление стать похожим на героев фильма, продолжилось в самообразовании. Далее первый выклянченный компьютер, первые строчки кода, начало проб и ошибок. Когда уже были написаны эти самые «хэлоу-ворды», «калькуляторы», затем испробованы несколько *nix'ов — на руки попалась болванка с «Antitrust». В одноголосном переводе и гиблом качестве. К слову, это не помешало, пересмотреть фильм пару десятков раз. Что послужило более зрелому стремлению, чем быть всемогущим кул-хакером. Под катом, перечислю увиденные мной фильмы IT-тематики, с кратким описанием. В основном из двухтысячных. Неувиденное или забытое, будем добавлять.

Читать дальше →
Всего голосов 227: ↑191 и ↓36+155
Комментарии210

Мой опыт реанимации жесткого диска

Время на прочтение3 мин
Количество просмотров377K
Наверное, рано или поздно это случается с каждым — однажды и у меня слетел usb-жесткий диск.
Куда-то сильно торопился и просто выдернул шнурок из гнезда USB в ноутбуке (как это часто бывает).
Прихожу на работу, подключаю HDD, а он пустой…
image
Что делать!? Что делал я — читаем далее.
Читать дальше →
Всего голосов 52: ↑35 и ↓17+18
Комментарии84

Обзор зарядного устройства TechnoLine BC-700, или мой опыт восстановления Ni-MH аккумуляторов

Время на прочтение6 мин
Количество просмотров313K
Опыт восстановления Ni-MH аккумуляторов, или обзор зарядного устройства Techno Line BC700

Так случилось, что после двух лет активного увлечения фотографией я немного подзабил на всё это дело. И, вот, спустя год, недельки 3 назад, меня «пробило» на фото. Достал фотоаппарат, аккумуляторы, побежал на радостях фотографировать. Сделал 2 фотки, получил сообщение: «Замените аккумуляторы». «С кем не бывает, захватил случайно разряженный комплект», подумал я. Поставил другой комплект — одна-две фотки и фотоаппарат просит новые батарейки. Так со всеми моими четырьмя парами аккумуляторов. Не въехав в ситуацию, пошел, воткнул их в зарядку, пока читал на ночь хабр, заметил, что от момента установки на зарядку не прошло и пяти минут, а светодиод зарядного устройства уже оповещает о полной зарядке. С этого момента и началась история. Добро пожаловать под кат!
Читать дальше →
Всего голосов 133: ↑125 и ↓8+117
Комментарии188

Пара советов к прохождению технических интервью

Время на прочтение4 мин
Количество просмотров15K
Я уже достаточно давно провожу технические интервью с кандидатами на позицию Software engineer и на моем счету их имеется несколько десятков. Сегодня я попробую сформулировать основные моменты, которые лично мне, как интервьюеру, кажутся довольно важными.

Советы довольно очевидные (хотя, как показывает практика, бывают и те, кто не знает этих очевидных вещей) и субъективные.

Читать дальше →
Всего голосов 126: ↑112 и ↓14+98
Комментарии195

Google не получит патентов Nortel. Не помогло даже число пи

Время на прочтение3 мин
Количество просмотров7.5K
О перипетиях, сопровождающих процедуру банкротства телекоммуникационной компании Nortel, писал Shapelez в своей записи о патентном оружии, которое находилось в распоряжении Nortel и должно было пойти с молотка. Google заявила о том, что собирается купить огромный пакет патентов (порядка 6000 патентов, затрагивающих телекоммуникационные технологии) для инноваций и защиты компаний от патентных троллей. Тогда же Министерство Юстиций США положило глаз на Apple, которая также хотела разжиться патентами, ибо у юристов были подозрения в том, что у Apple стремления не к инновациям, а к патентному троллингу. Но в итоге подозрения оказались лишь подозрениями, а Google по окончанию торгов осталась ни с чем.
Читать дальше →
Всего голосов 72: ↑64 и ↓8+56
Комментарии93

4 The Lulz

Время на прочтение4 мин
Количество просмотров1K
imageЭтот пост опубликован на TechCrunch автором по имени Аарон Крэйфорд (Aaron Crayford). В настоящий момент он занимает должность CEO компании Mighty, чьим основным продуктом является «умный» фреймворк для коммуникации в реальном времени. Но в то время, когда он учился в старших классах, его преследовало правительство США за т.н. «самую высоко-организованную систематическую атаку которую пережил Пентагон». Ему было запрещено прикасаться к компьютеру и рассказывать об этой истории в течение 10 лет. В твиттере он @aaroncray.

Во всех новостях сейчас Lulzsec, утирающая нос ЦРУ, а так же члены группы Anonymous, пойманные в Испании.

Герои, хакеры или неудачники? Я видел много разных историй. Моя выглядит примерно так:

Агент ФБР: «Расскажите нам как вы проникли в систему контроля спутников Ливерморской национальной лаборатории».

Парень: «Вы хотите знать, (шепотом) вы правда хотите знать?»

Агент ФБР: «Конечно, расскажи мне».

Парень: «Магия».

Агент ФБР: «Это уже не гребаные игры пацан!»
Читать дальше →
Всего голосов 220: ↑153 и ↓67+86
Комментарии112

The Scene — настоящий андеграунд Интернета

Время на прочтение8 мин
Количество просмотров33K


Все мы привыкли считать, что в Интернете найти можно все. «Где бы почитать новости? — Зайди на lenta.ru», «Где достать программу для распознавания текста? — А-а, тебе нужен Finereader, слей из инета», «Где бы достать свежий фильм? — Зарегистрируйся в торрентах и качай». Пребывая в гуще сети никто из нас уже не задумывается над тем, откуда все это берется. В самом деле, почему свежевышедшая игра уже доступна в интернете и работает без установочного диска, хотя разработчики защитили свой продукт последней версией StarForce? Каким образом на горбушке продают DVD, если фильм только сегодня выходит в США? Все это покрыто тайной для обычного обывателя, а в СМИ общеупотребимым стало абстрактное слово «пиратство».
Читать дальше →
Всего голосов 170: ↑164 и ↓6+158
Комментарии108

Как правильно оформить статью?

Время на прочтение5 мин
Количество просмотров8.6K
Если вы ведете блог, то, возможно, вам знакомо чувство, когда взлелеянную, родившуюся в тяжелом труде статью никто не читает. И вы не можете понять причины. Кажется, и тема выбрана правильно. И стиль подобран адекватно. И слова использованы именно те, которые нужно! Статья написана интересно, и, бесспорно, должна быть полезной значительной части вашей ключевой аудитории…

image

Вы готовы воспринять это и адекватно отнестись, если сами чувствуете, где совершили ошибку, а где откровенно схалтурили. Знаете, что статья не дотягивает до уровня ваших привычных публикаций. Но если все сделано вроде бы правильно — можно попасть даже в глубокую депрессию из-за непонимания причин такого провала. Я промолчу о том, что мотивация к дальнейшему ведению блога испаряется пропорционально количеству таких «незамеченных» публикаций.
Читать дальше →
Всего голосов 105: ↑87 и ↓18+69
Комментарии26

Я выше вас всех или как общаться с IT специалистом

Время на прочтение5 мин
Количество просмотров7.1K


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

Читать дальше →
Всего голосов 247: ↑124 и ↓123+1
Комментарии248

Что ещё можно сделать в Фотошопе?

Время на прочтение3 мин
Количество просмотров26K
Речь пойдёт о собственном .NET+WPF программном продукте (называется «inForm»), который использую для получения так называемых «интерактивных презентаций» (они же «не-линейные презентации»), а также интерактивных информационных интерфейсов.
Читать дальше →
Всего голосов 31: ↑21 и ↓10+11
Комментарии6

SASM – IDE для ассемблера

Время на прочтение4 мин
Количество просмотров118K
Здравствуйте, уважаемые хабравчане!

Данным постом хочу представить сообществу проект, который время от времени писался мной последний год: SASM (SimpleASM) — IDE для разработки программ на языке ассемблера x86 и x86-64.

image

SASM — простая кроссплатформенная (доступна на Windows и Linux) среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. Программа работает «из коробки» и хорошо подойдет для начинающих изучение языка ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.

Исходники лежат в репозитории на GitHub.
Бинарники можно скачать на сайте программы.

Под катом Вы найдете немножко истории и более подробное описание возможностей.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии39

Определитель типа блокировки сайтов у провайдера

Время на прочтение1 мин
Количество просмотров139K
image

Написал тут маленькую программку, которая позволяет определить тип блокировки сайтов из реестра, применяемый провайдером. Она умеет определять подмену DNS, перенаправление DNS, IP/Port restricted DPI, Full DPI, ну и блокировку по IP, конечно же.
Программа отправляет применяемый тип блокировки на сервер, в дальнейшем можно будет составить таблицу по провайдерам.

Написано на Python 3.
Репозиторий на Github
Бинарники для Windows
Всего голосов 124: ↑121 и ↓3+118
Комментарии118

И снова про опасность eval()

Время на прочтение6 мин
Количество просмотров117K
Сколько было сломано копий при обсуждении вопроса «Возможно ли сделать eval безопасным?» — невозможно сосчитать. Всегда находится кто-то, кто утверждает, что нашёл способ оградиться от всех возможных последствий выполнения этой функции.
Когда мне понадобилось найти развёрнутый ответ на этот вопрос, я наткнулся на один пост. Меня приятно удивила глубина исследования, так что я решил, что это стоит перевести.

Коротко о проблеме


В Python есть встроенная функция eval(), которая выполняет строку с кодом и возвращает результат выполнения:
assert eval("2 + 3 * len('hello')") == 17

Это очень мощная, но в то же время и очень опасная инструкция, особенно если строки, которые вы передаёте в eval, получены не из доверенного источника. Что будет, если строкой, которую мы решим скормить eval'у, окажется os.system('rm -rf /')? Интерпретатор честно запустит процесс удаления всех данных с компьютера, и хорошо ещё, если он будет выполняться от имени наименее привилегированного пользователя (в последующих примерах я буду использовать clear (cls, если вы используете Windows) вместо rm -rf /, чтобы никто из читателей случайно не выстрелил себе в ногу).
Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии25

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность