Обновить
8
23

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

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

Дешёвый грязный трюк, подаривший цветную графику первым домашним компьютерам

Время на прочтение5 мин
Охват и читатели47K

Пионер видеоигр Алан Элкорн рассказывает о том, как показал Стиву Возняку хак, позволивший компьютеру Apple II работать с цветами, и откуда взялся знаменитый звук «блип» в игре Pong



Домашняя консоль Atari Pong, поступившая в продажу в магазины The Sears под брендом Tele-Games в 1975

Недавно мы публиковали статью о современном любительском компьютере, использующем очень старый хак: артефактные цвета NTSC. Этот хак позволял цифровым системам, не имевщим отдельных графических карт, выдавать цветные изображения, эксплуатируя особенности декодирования телевизионного сигнала.

Наиболее известным примером использования артефактных цветов NTSC служит компьютер Apple II 1977 года. Использование этого хака Стивом Возняком в данном компьютере привлекло к нему широкое внимание. Позднее его использовали в компьютерах IBM PC и TRS-80 Color. Однако мало кто знал, откуда взялась эта идея, поэтому мы сильно взволновались, когда комментарий на эту тему к той статье оставил легенда электроники и видеоигр, Алан Элкорн. Оказывается, предком первой цветной компьютерной графики можно считать дешёвый испытательный прибор, который использовали в калифорнийских телеремонтных мастерских в 1960-х. Журнал IEEE Spectrum пообщался с Элкорном, чтобы узнать больше подробностей.
Читать дальше →

Выращиваем ИИ — Генетические алгоритмы: введение

Время на прочтение19 мин
Охват и читатели28K


(сгенерированое изображение)


Существует множество способов создать искусственную нейронную сеть или даже "искусственный интеллект". Но все эти способы обескураживают, от части сложностью которую я не до конца понимаю, отчасти от того, что все сводится к математическим формулам.


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

[Перевод] Смыть

Время на прочтение18 мин
Охват и читатели27K
Привет, Хабр! Представляю вашему вниманию перевод статьи «To Wash It All Away» автора James Mickens.



Когда я учился в аспирантуре в Анн-Арбор, у меня был друг, глубоко увлеченный движением защитников окружающей среды. Он покупал еду у местных фермеров, ездил на велосипеде вместо машины, желая уменьшить выбросы, и держал жуткое компостное ведро, которое, вероятно, будет источником следующей пандемии гриппа. Однажды он сказал мне, что собирается неделю пожить на ферме. Я спросил зачем, и он ответил, что хочет «побыть ближе к земле» — фраза, которую вы можете произнести с серьёзным лицом, только комментируя документальный фильм о древних южноамериканских племенах. Я сказал моему другу, что земля не хочет побыть ближе к нему и что если бы он действительно присмотрелся к земле, то увидел бы не молочные реки и кисельные берега, а голод, стервятников, непосильный труд с использованием тачек и в целом неприемлемые количества насекомых. Он разразился продолжительной лекцией об экологической ответственности, которую я тут же выбросил из головы, потому что понял, что мой наивный друг даст дуба на этой ферме, и посоветовал ему без колебаний возвращаться, если вдруг ему там будет недостаточно хорошо. Он улыбнулся мне так, как улыбаются люди в фильмах ужасов за минуту до встречи с топором, и отчалил.
Читать дальше →

Высокие технологии (н.-ф. рассказ)

Время на прочтение13 мин
Охват и читатели2.9K


Я прислонил запястье к считывающему элементу.

– Доброе утро, Максим Петрович. До начала вашего дежурства остается 3 минуты 23 секунды, – произнес механический голос.

Я не ответил, проходя внутрь Центра оптимизации здоровья. В рабочем помещении завершала работу предыдущая смена. За их спинами, в соответствии с заведенным порядком, ожидала моя команда – все, за исключением стажерки Скворцовой, которая по своему обыкновению опаздывала.
Читать дальше →

Почему мы должны перестать заниматься пет-проектами

Время на прочтение6 мин
Охват и читатели42K
image

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

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

Все это так, но удовольствие видеть, как твоим продуктом пользуется кто-нибудь еще, видеть, что он решает чьи-то проблемы — несравнимо выше. Так что я решил во что бы это ни стало довести хотя бы один проект до релиза.
Нужно было всего лишь разобраться, что мне мешало сделать это раньше.
Читать дальше →

Спор о первом языке программирования: окончательное решение

Время на прочтение10 мин
Охват и читатели31K
Некоторые относятся к спору о выборе первого языка программирования примерно так:



Говорят, на выбор влияет миллион фаторов и спорить по этому поводу не имеет никакого смысла. Тем не менее, холивары продолжаются.

Виталий Брагилевский решил поставить точку и на Saint AppsConf представил окончательное решение. После прочтения статьи (или просмотра доклада) вы будете знать, как правильно отвечать родственникам или знакомым, которые узнали, сколько зарабатывают в IT и что удалёнка тут не помеха, и теперь интересуются, с чего же начать.

Ошибки при проектировании интерфейса VR, VR для дизайнеров интерфейсов

Время на прочтение5 мин
Охват и читатели2.1K

Ошибка #1. Маленькие или далеко расположенные элементы


В то время как луч от джойстика в VR такой же тонкий как и кончик курсора мышки, может показаться, что взаимодействие в VR может быть “точечным”, вплоть до наведения на букву текста (как наведение на ссылку в вебе, например). В случае VR — это не так.

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

Реверс-инжиниринг. История. Моя

Время на прочтение9 мин
Охват и читатели55K


Всем привет,


На этот раз статья будет не технической (хотя в ней и будут попадаться какие-то технические термины/моменты), а скорее автобиографической, если так можно выразиться. Эта статья о том, как я докатился до такой жизни пришёл в реверс-инжиниринг, что читал, чем интересовался, где применял, и т.д. И, я почему-то уверен, что моя история будет иметь множество отличий от твоей. Поехали…

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

API как продукт: как монетизировать свою работу, когда разбираешься только в бэкенде

Время на прочтение5 мин
Охват и читатели13K


В этой статье я перескажу свой опыт создания, развёртывания и продажи API на специализированном маркетплейсе. Мне не пришлось делать вебсайт или придумывать, как внедрить решение для обработки платежей – я просто написал код и развернул API.

Чтобы создать стартап, нужна команда, и каждый в этой команде должен быть мастером на все руки – программистом, маркетологом, продавцом. К тому же, это долгий и трудный путь, так что шансы на успех невелики. Но для запуска собственного проекта стартап – не обязательное условие. Я убежден, что можно сбывать продукты, не занимаясь ничем, кроме бэкенда.

За последний год я придумал план выпуска собственного продукта, который не предполагает работы с аудиторией и/или обработки платежей. Вся процедура состоит из трех шагов:
Читать дальше →

Хорошо, что создатель вашего любимого инструмента не слушал ослов, когда изобретал велосипед

Время на прочтение5 мин
Охват и читатели35K


Прошлым летом мы с пацанами рассказали про свою либу, которую наш заказчик не принял и выкинул на помойку. Мы бомбили, потому что верили в свое решение, и рассказали о нем сообществу — уж обычные-то разрабы точно заценят и не будут размениваться на всякую чушь.

Ну конечно. Нас буквально смыло волной критики. Там было много людей, которым не нравится мое самомнение и я лично — это ок, с ними у меня нет проблем. Меня взбесили вроде бы умные люди, которые даже не захотели смотреть в код и вникать в контекст, потому что с порога заявили: «Вы, парни, сделали велосипед». И все подхватили — изобретать велосипеды плохо, ужасно, кошмарно, недопустимо, позор, казнить их, линчевать. Ведь, только идиот будет разрабатывать новый инструмент для задачи, которую кто-то уже решил.

Меня поражает насколько быстро разрабы ведутся на эту уловку. Я спрашивал даже самых критичных и глубоко думающих людей — “изобретать велосипеды плохо?”. Они отвечают “да” меньше чем через секунду.

Ну нет, мужики, так не пойдет. Давайте-ка остановимся здесь, посмотрим вокруг и обстоятельно порассуждаем.
Читать дальше →

Zip-файлы: история, объяснение и реализация

Время на прочтение76 мин
Охват и читатели119K


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

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать дальше →

Сети для начинающего IT-специалиста. Обязательная база

Время на прочтение12 мин
Охват и читатели605K

Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.


Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.


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


За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.


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


Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».

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

Карма — это приглашение на вечеринку

Время на прочтение3 мин
Охват и читатели23K
Рискуя кармой (хе-хе), хочу принять участие в дискуссии и ответить автору этого поста. В принципе, можно было бы ограничиться заголовком, но поскольку у нас тут Хабр, а не Твиттер, я растекусь мысию по древу, серым волком по земле, сизым орлом под облаками.

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

Алгоритмы на графах — Часть 0: Базовые понятия

Время на прочтение5 мин
Охват и читатели268K

Вступление


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

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

Factory pattern. Пример применения в Unity

Время на прочтение2 мин
Охват и читатели18K

Фабричных методов на самом деле много.
Даже базовые конструкции if else являются фабричным методом, так как и switch.
Но ведь это не удобно читать и расширять.


Представим простой пример. У нас есть игра slasher с монстрами. У нас есть несколько режимов: easy, medium, hard. Следовательно пусть у нас будут отличаться у монстров жизни и урон. Как организовать удобное создание монстров и в одном месте? Все в подcut`e.

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

Делегаты и события в C#

Время на прочтение8 мин
Охват и читатели94K
Перевод статьи подготовлен специально для студентов курса «Разработчик С#».




Что такое события в C#?


Событие может быть использовано для предоставления уведомлений. Вы можете подписаться на событие, если вам нужны эти уведомления. Вы также можете создавать свои собственные события, которые будут уведомлять вас о том, что случилось что-то, что вас интересует. .NET Framework предлагает встроенные типы, которые можно использовать для создания событий. Используя делегаты, лямбда-выражения и анонимные методы, вы можете создавать и использовать события удобным способом.
Читать дальше →

3.2 Обработка событий

Время на прочтение9 мин
Охват и читатели43K


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

Как «научиться учиться» — улучшаем внимательность

Время на прочтение5 мин
Охват и читатели71K
Ранее мы рассказали, какие исследования стоят за популярными советами о том, как «научиться учиться». Затем обсудили метакогнитивные процессы и полезность «каракулей на полях».

В третьей части — рассказали, как тренировать память «по науке». Кстати, про память — говорили отдельно тут и тут, еще — разбирались с тем, как «учиться по карточкам».

Сегодня — обсудим концентрацию, «многозадачность» и прокачку внимания.

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

Стихи про Хаскель, С++ и программистов

Время на прочтение5 мин
Охват и читатели13K
Привет, Хабр, не желаешь ли небольшого воскресного отдохновения? Почитай мои стихи, они поднимут тебе настроение, а некоторые и заставят задуматься.

Современный программист


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

Дополнение

Работа идет, и, как ни крути,
Меня в ремесло посвятят.
На джуна я выйду годам к тридцати,
А в сорок пойду в детский сад.
Читать дальше →

Форматы файлов для программ на FASM под Windows

Время на прочтение6 мин
Охват и читатели25K
При создании программы на ассемблере (для примера будет приведён FASM) из-под ОС Windows возникает вопрос о том, какой выбрать формат файла.
Для определения формата создаваемого исполняемого файла используется директива «format» со следующим за ним идентификатором формата.
Под катом краткое описание COM-программы и EXE-программы форматов MZ и PE с шаблоном программ (в виде традиционного «Hello World!»).
Читать дальше →

Информация

В рейтинге
342-й
Зарегистрирован
Активность