Pull to refresh
139
0
Коваленко Александр @alk0v

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

Send message

Python: неочевидное в очевидном

Reading time 9 min
Views 21K

Изучение любого языка - очень долгий процесс, в ходе которого могут возникать ситуации, когда очевидные с виду вещи ведут себя странно. Даже спустя много лет изучения языка не все и не всегда могут с уверенностью сказать “да, я знаю этот на 100%, несите следующий”.

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

Ознакомиться
Total votes 7: ↑4 and ↓3 +1
Comments 10

Цифровая трансформация офисной печати от зарождения до современных технологий

Reading time 40 min
Views 2.7K

Эта статья - история изобретения печатного оборудования и его создателей, про современный рынок и тренды в индустрии офисной печати, а также о том, почему всё больше компаний в России и в мире выбирают аутсорсинг печати.

Читать далее...
Total votes 2: ↑1 and ↓1 0
Comments 15

The Centre for Computing History in Cambridge

Reading time 3 min
Views 1.6K

О существовании компьютерного музея в Кембридже я узнал случайно, лениво гугля "things to do in Cambridge" буквально в ночь перед поездкой. На сайте The Centre for Computing History, в разделе Visiting красным по белому написано, что они closed и когда re-opening — неизвестно. Тем не менее, я доверился новости про открытие и не прогадал, так что теперь у меня десятки фотографий уникальных раритетных железяк, которыми было бы грешновато не поделиться.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 6

То, чего не может быть: самые необычные версии обычных игровых консолей

Reading time 19 min
Views 16K


Мы с вами давно привыкли к тому, что на протяжении своего жизненного цикла игровые консоли остаются практически неизменными. Да, они подвергаются рестайлингу, выходят в разных комплектациях и лимитированных версиях, приуроченных к громким релизам или юбилею платформы, и даже могут получить более мощную начинку. Однако в общем и целом модификации одной и той же приставки идентичны по функционалу и не имеют принципиальных различий, а ситуации вроде той, что произошла с PlayStation 3, когда последующие ревизии консоли лишились аппаратного блока для запуска игр с PS2, являются скорее исключением, нежели правилом.

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

Теория гибрида: консольные эксперименты Sega


Хотя шестое поколение консолей оказалось для компании последним, именно Sega побила все рекорды по количеству невероятных гибридов, опередив на этом поприще и Sony, и даже Nintendo.

Sega SC-3000



8-битный игровой компьютер Sega SC-3000
Читать дальше →
Total votes 56: ↑45 and ↓11 +34
Comments 13

Dreamstation: собираем ретрокомпьютер мечты на платформе Socket 8

Reading time 16 min
Views 9.9K

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

Одно из моих увлечений, как вы уже знаете, это ретрокомпьютинг и история техники. И помимо просто коллекционирования и восстановления старой техники, я люблю собирать компьютеры с нуля, так называемые «сборки». Учитывая интерес к прошлой статье — о сборке «компьютера мечты 2000 года», я решил периодически рассказывать о компьютерах мечты других эпох. И начну, пожалуй, с одного очень личного проекта.
Читать дальше →
Total votes 50: ↑50 and ↓0 +50
Comments 27

Быстрое освоение 3D-моделирования в ZBrush

Reading time 9 min
Views 40K

Почти каждый айтишник рано или поздно сталкивается с проблемой нехватки знания из смежных областей. Например, фронт-разработчику вдруг необходимо проверить бэк-сервер и посмотреть, каким образом реализовано API. Или php-разработчику необходимо переделать дизайн кнопок на главной странице. Бывает и так, что программиста C++ Unreal Engine (это я) вдруг просят проверить разверстку 3D модели. Короче нет-нет, да придется изучить что-то, не относящееся к нашим прямым обязанностям (T-shaped специалисты же сейчас в тренде, да?)

В данной статье (в рамках изучения пути гейм-дева) я расскажу, на что именно надо обратить свое внимание при первом знакомстве с 3D-моделированием. То есть, что лучше освоить в первую очередь, чтобы 3D-моделирование для непосвящённого специалиста стало наиболее простым и максимально эффективным в освоении.

Читать полностью
Total votes 8: ↑8 and ↓0 +8
Comments 2

Пишем на Питоне сразу хорошо

Reading time 8 min
Views 45K

Привет Хабр!

Сегодня я сниму костюм аниматора и вместо развлечений расскажу вам немного за питон.

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

Читать далее
Total votes 42: ↑41 and ↓1 +40
Comments 46

Соблюдай технику безопасности

Reading time 10 min
Views 13K

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

Зачем и от чего защищаться? Какие инструменты для этого существуют, в том числе Open Source? Что такое Secure Software Development Lifecycle? Александр Киверин — технический директор в Ак Барс Цифровые Технологии — рассказал об опыте своей компании на TechLead Conf 2020 Online. А мы подготовили расшифровку.

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 4

Архитектура и программирование Fairchild Channel F

Reading time 10 min
Views 5.8K
«Channel F homebrew would be like programming sprites via hardware jumpers...»
/ chadtower, atariage forum /




Игровая приставка Fairchild Channel F, также известная как VES, появилась в ноябре 1976 года. В отличие от своих предшественников типа Ping-Pong, Tennis (в том же ряду — советский «Видеоспорт»), у неё было очень существенное отличие — наличие микропроцессора и картриджей с программами. До этого игры в приставках реализовывались на жёсткой логике — программа, в современном понимании, там отсутствовала.

Fairchild Channel F выпускалась вплоть до 1983 года. За это время было продано более четверти миллиона этих приставок и выпущено около 30-40 игр, некоторые из которых — уже в 2000-х годах.

Говоря о первенстве в плане использования микропроцессора стоит отметить, что RCA Studio II, о которой я рассказывал в прошлой статье, опоздала всего на пару месяцев, но оказалась существенно слабее Channel F, ввиду чего и провалилась по продажам. Впрочем, появление, менее чем через год, Atari VCS — вытеснило с рынка и Channel F.

Развития Fairchild_Channel_F, как такового, не было. В System II и нескольких клонах, типа Saba Videoplay 2 (1979), отличия состояли преимущественно в корпусе, джойстиках (кстати, все они понимали кроме обычных положений ещё и поворот ручки) и количестве микросхем. Архитектурно всё было практически идентично.

Что же собой представляет Channel F?
Total votes 52: ↑50 and ↓2 +48
Comments 10

Архитектура и программирование Philips Videopac (Magnavox Odyssey 2)

Reading time 7 min
Views 5.8K
«Hardware is just software crystallized early»
— Alan Kay


Компьютер Magnavox Odyssey 2 (Videopac) появился в 1978 году и позиционировался как игровой, однако с возможностью более серьёзного применения (для чего у него имелась встроенная плёночная клавиатура). Серьёзных приложений, учитывая назначительный объём памяти, было очень мало, так что, по факту, правильнее считать Videopac игровой приставкой.

Что касается названий, Magnavox Odyssey 2 продавался в США и выдавал NTSC видеосигнал (через RF выход). Philips Videopac G7000 (он же C52) продавался в Европе, соответственно, с PAL видео. Кроме этого различия (которое, разумеется, влияло на работоспособность части игр) компьютеры совершенно одинаковые.

Videopac был одной из первых игровых приставок, для которой игры выпускались в виде картриджей с программами. Поэтому ничего удивительного, что и технически это устройство весьма аскетично.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 0

Векторные игры на 32с3

Reading time 8 min
Views 5.4K

Статья раскрывает тему нашего выступления на 32-м Всемирном конгрессе хакеров (32с3), посвященного ретро-геймингу и работе с эмулятором игровых автоматов (MAME) на XY-дисплеях. В нем освещается результат моего сотрудничества с еще одним членом NYC Resistor, цифровым дизайнером Адель Лин, которая увлекается разработкой игр и игровых пространств. При желании можно посмотреть получасовое видео выступления онлайн.
Total votes 45: ↑45 and ↓0 +45
Comments 0

Радиолюбительские измерения: анализ сигналов шины I2C

Reading time 5 min
Views 29K


Как я уже неоднократно упоминал в своих публикациях, любительские проекты финансируются из семейного бюджета, и радиолюбитель, обычно, не может себе позволить покупку дорогостоящего измерительного оборудования. Приходится довольствоваться тем, что есть. Или тем, что удаётся взять попользоваться «на время». А иногда от безысходности радиолюбителю приходится «сверлить пилой и пилить буравчиком».

Недавно я испытал потребность выяснить, что на самом деле передаётся в разрабатываемом мной устройстве по шине I2C. Это был тот счастливый момент, когда можно было себе позволить «пилить пилой».
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 38

Интересности и полезности python. Часть 3

Reading time 4 min
Views 34K
В предыдущих частях мы рассмотрели срезы, распаковку\упаковку коллекций и некоторые особенности булевых операций и типов.

В комментариях упоминалась возможность умножения коллекций на скаляр:

a = [0] * 3
s = 'a' * 2
print(a, s)  # -> [0, 0, 0], 'aa'

Более-менее опытный разработчик на языке python знает, что в нём отсутствует механизм копирования при записи

a = [0]
b = a
b[0] = 1
print(a, b)  # -> [1], [1]

Что же тогда выведет следующий код?

b = a * 2
b[0] = 2
print(a, b)
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 44

Поле загрузки файлов, которое мы заслужили

Reading time 10 min
Views 122K
Все течет, все меняется, но только input[type=file] как портил нервы всем начинающим веб-разработчикам, так и продолжает это делать до сих пор. Вспомните себя N лет назад, когда вы только начинали постигать азы создания веб-сайтов. Молодой и неопытный, вы искренне удивлялись, когда кнопка выбора файла напрочь отказывалась менять цвет своего фона на ваш любимый персиковый. Именно в тот момент вы впервые столкнулись с этим несокрушимым айсбергом под названием «Загрузка файлов», который и по сей день продолжает «топить» начинающих веб-разработчиков.

На примере создания поля для загрузки файлов я покажу вам, как правильно прятать input[type=file], настраивать фокус на объекте, у которого фокуса быть не может, обрабатывать события Drag-and-Drop и отправлять файлы через AJAX. А также я познакомлю вас с парой браузерных багов и путями их обхода. Статья написана для новичков, но в некоторых моментах может быть полезна и занимательна даже для матерых разработчиков.
Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 19

Руководство по ассемблеру x86 для начинающих

Reading time 16 min
Views 144K
В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите вещи под иным углом, а навыки пригодятся при отладке кода на других языках.

В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. Когда закончим, то сможем использовать его так:

$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30

Весь код для статьи здесь. Он обильно закомментирован и может служить учебным материалом для тех, кто уже знает ассемблер.

Начнём с написания базовой программы Hello world! для проверки настроек среды. Затем перейдём к системным вызовам, стеку вызовов, стековым кадрам и соглашению о вызовах x86. Потом для практики напишем некоторые базовые функции на ассемблере x86 — и начнём писать калькулятор RPN.
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 26

Джеф Безос и его отношение к филантропии, благотворительности и проектам в масштабах человечества

Reading time 7 min
Views 12K
«Отдавать деньги нужно так же внимательно, как и строить успешную компанию».
— Джеф Безос

image

Безос спонсировал поиск и подъем с глубины 3 км Атлантического океана двигателей F-1 от Аполлона в 2015 году и подарил их Музею полетов в Сиэтле.

Безос, самый богатый человек планеты, подвергается критике за отсутствие участия в благотворительности по сравнению с его «коллегами-миллиардерами», такими как Билл Гейтс и Уоррен Баффет. Разберемся, почему Безос «не спешит» давать деньги на благотворительность а если и дает, то как и по каким соображениям.

По данным сайта Inside Philanthropy, Безос вкладывает в благотворительность сотни миллионов долларов. Фонд его родителей Bezos Family Foundation поддерживает проекты в сфере образования, сам Безос вместе с супругой Маккензи жертвует на здравоохранение и науку. Amazon поддерживает приют для бездомных Mary's Place, а семья Безоса вложила более $40 млн в исследования раковых заболеваний.

Недавно Безос объявил в Твиттере, что он выбрал две области, которым он готов посвятить свою долгосрочную благотворительную деятельность. Какие две области? Он не сказал. Он обещал дать ответы до конца этого лета. Кроме того, будет проводиться новый набор сотрудников, чтобы было кому возглавить эти мероприятия.
Total votes 25: ↑20 and ↓5 +15
Comments 57

Набор инструментов инди-разработчика игр

Reading time 7 min
Views 19K
Доброго времени суток, начинающие игроделы!

Инди-разработчик игр, это универсальный солдат, которому приходится делать все: писать код, рисовать картинки, лепить 3D модели потом делать для них текстуры и многое другое. Под каждую задачу нужен определенный инструмент, да еще и бесплатный по возможности, так как начинающий игродел имеет скромный бюджет. О том, какие программы помогли мне ускорить рабочий процесс я расскажу под катом.


Внимание: данный пост не рекламный, это лишь список программ, которые помогают мне в моих проектах.
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Comments 17

Архитектура и программирование RCA Studio II

Reading time 12 min
Views 6.9K

«Finally, we come to the instruction we've all been waiting for – SEX!»
/ из статьи про микропроцессор CDP1802 /




В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой логике. Соответственно, сменные картриджи не имели особого смысла, а там где они были — представляли собой просто набор перемычек, включающих нужную игру.

В 1977 году были почти одновременно выпущены две консоли: Fairchild Channel F и RCA Studio II. Это были первые игровые приставки в виде полноценных компьютеров — с микропроцессором и программами на сменных картриджах.
Приставка RCA Studio II, о которой пойдёт речь, является разработкой не столько фирмы RCA, сколько конкретного человека — Joseph A. Weisbecker (как и вся архитектура COSMAC).
Total votes 38: ↑38 and ↓0 +38
Comments 6

Курс MIT «Безопасность компьютерных систем». Лекция 6: «Возможности», часть 3

Reading time 16 min
Views 5.1K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Total votes 15: ↑12 and ↓3 +9
Comments 0

Создание тонкого клиента на базе дешевых одноплатных ПК

Reading time 19 min
Views 47K
Иногда требуется сделать хитрый тонкий клиент — с необычной авторизацией и минимумом затрат.

Проще всего для этого использовать Linux.

Для одноплатных пк на базе ARM широко распространен дистрибутив Armbian, который основан на Debian ветке.

Для экспериментов у меня в наличии была плата OrangePi One
image
и MicroSD карта на 2G — я решил сделать из этого тонкий клиент RDP с окном блокировки и без лишнего программного обеспечения.
Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Comments 85

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity