Как стать автором
Обновить
3
0
Vitaly Kiselev @st411ar

web dev

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

Dagaz: Сумма технологий

Время на прочтение10 мин
Количество просмотров2.5K
          Итак, технологии интересуют меня, так сказать, по необходимости: потому что всякая цивилизация включает и то, к чему общество стремилось, и то, чего никто не замышлял.

          Порой, и довольно часто, путь технологии открывал случай: искали же когда-то философский камень, а нашли фарфор.
 
 
Станислав Лем.


С самого начала работы над проектом, было понятно, что качественный AI мне жизненно необходим! Самому с собой играть скучно, а модуль для игры по сети — он неизвестно когда ещё будет. Я пытался писать ботов сам, но все они работали либо плохо, либо плохо и медленно. В конце концов, я устал заниматься этой самодеятельностью и нашёл шахматного бота, качество игры которого меня вполне устраивало. Но тут возникла проблема. Мне-то были нужны не только Шахматы. Тому, как я с этим боролся, и посвящена эта статья.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии19

Стать Цукербергом или детство программиста

Время на прочтение6 мин
Количество просмотров13K
В детстве я мечтал стать Марком Цукербергом. Пока мои друзья грезили профессиями летчиков, врачей и космонавтов, я планировал запрограммировать самую большую ИТ-компанию. Марк Цукерберг ещё не родился, а я уже хотел им быть.
Читать дальше →
Всего голосов 35: ↑27 и ↓8+19
Комментарии42

Введение в Си. Послание из прошлого столетия

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

Предисловие


Я несколько раз в своих комментариях ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубликовать перевод этого введения в язык Си. Оно по-прежнему актуально. Хотя наверняка найдутся и те, кто не слышал о языке программировании PL/1, а может даже и об операционной системе Minix.

Это описание интересно также и с исторической точки зрения и для понимания того, как далеко ушел язык Си с момента своего рождения и IT-отрасль в целом.
Читать дальше →
Всего голосов 64: ↑52 и ↓12+40
Комментарии104

Программирование на калькуляторе

Время на прочтение5 мин
Количество просмотров86K
Здравствуйте, хабражители. Думаю, многие из вас слышали о программируемых калькуляторах (а некоторые даже использовали их). Как ни странно, здесь я не нашел ни одной статьи, рассказывающей о такой интересной вещи, и поэтому решил восполнить этот пробел и рассказать об основах программирования на калькуляторах.

Некоторое время назад я нашел у себя в кладовке старый «Электроника МК-61», принадлежавший моему папе. Естественно, я не мог упустить такой шанс освоить не совсем «стандартное» программирование на калькуляторе. (В случае, если у вас нет программируемого калькулятора, вы можете скачать эмулятор здесь)
Читать дальше →
Всего голосов 94: ↑90 и ↓4+86
Комментарии83

О мобильных приложениях в Советском Союзе

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

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

Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии70

Программирование на калькуляторах МК: как я делал графические игры

Время на прочтение4 мин
Количество просмотров26K
После прочтения статьи о программируемом микрокалькуляторе на iOS на меня накатил такой приступ ностальгии, что я полез копаться в книжный шкаф, и, после продолжительного поиска, нашёл старую тетрадь с конспектами по программированию и самостоятельно разработанными играми.
Что за шедевры я там нашёл?
Всего голосов 50: ↑50 и ↓0+50
Комментарии17

Как мы турнир провели

Время на прочтение20 мин
Количество просмотров1.9K
Потому что совместный труд, для моей пользы
— он объединяет.

Матроскин

Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою.

Козьма Прутков «Мысли и афоризмы».


Недавно, в прошлую пятницу, мы решили слегка разнообразить свои будни, проведя программистский турнир. Повестка определилась не сразу. Были мысли про аналитическую обработку данных, машинное обучение, но в конце концов, остановились на настольных играх. Нам хотелось ввести в мероприятие элемент соревнования, а что, как не игры, позволяет легко это сделать?
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Моя первая оверлейная программа

Время на прочтение6 мин
Количество просмотров21K
Во времена повсеместного господства планшетов и смартфонов, сложно поверить, что совсем недавно, можно было получить немалое удовольствие, играя с калькулятором. Разумеется, я имею в виду не обычный (или даже инженерный) калькулятор, а программируемый. Я хочу рассказать об устройстве, которое буквально перевернуло мою жизнь и фактически подтолкнуло меня к тому, чтобы стать программистом.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии16

Эмулятор x86 на JavaScript

Время на прочтение1 мин
Количество просмотров38K
Virtual x86 — еще один эмулятор платформы x86 на языке программирования JavaScript. Как и JSLinux от Фабриса Беллара, для запуска Linux здесь достаточно только браузера. После загрузки образа нормально работают все встроенные команды Linux, работают компилированные программы, файловая система и проч., хотя сетевых интерфейсов пока нет.


Читать дальше →
Всего голосов 100: ↑91 и ↓9+82
Комментарии43

МК-61: история, эмуляция, устройство

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

Расцвет эпохи программируемых калькуляторов в нашей стране пришёлся на середину 80-х годов. Потом на смену относительно сытым и благополучным временам пришла эпоха бандитского капитализма, когда стране стало не до выпуска своей высокотехнологичной продукции бытового назначения, вот уже сменились поколения, но ностальгия по тем временам, когда мы бессонными ночами пытались сократить код программы хотя бы на пару байтов, чтобы уместить задуманную функцию, выискивали всё новые и новые недокументированные возможности, придумывая способы, как их можно использовать на практике, сочиняли целые циклы рассказов в качестве фона для наших игровых программ, не даёт забыть свой МК-61 со 105 байтами программной памяти. Поэтому хочу написать заметку о том, что собой представляли и как работали эти самые программируемые калькуляторы. Даже если эта тема сегодня периодически и поднимается, то не настолько часто, чтобы приесться уважаемому читателю, так что надеюсь поведать что-то новое.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+68
Комментарии158

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

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

Здравствуйте, меня зовут Сергей, я работаю JavaScript-программистом, и я - буддист. Но совсем не такой, каким вы меня только что представили. Наверняка, при прочтении слова "буддист", в вашей голове всплывает либо образ улыбчивого азиата в оранжевом одеянии, либо образ безработного хиппи-вегана, путешествующего по Индии, занимающегося йогой и ищущего "просветления" в сомнительных религиозных практиках. Так вот, я ни тот, и ни другой. Так кто же я? Чтобы ответить на этот вопрос, нужно для начала поближе познакомиться с историей буддизма.

Около трех с половиной тысяч лет назад Древняя Индия была завоевана ариями - одним из индоевропейских племен, пришедшем в Индию с предгорий Кавказа через территорию современного Ирана. Немного отклонившись от основной темы поста, скажу, что с этим завоеванием связано много интересных фактов. Именно потому, что кроме Индии эти племена завоевали также территории Европы и Ирана, все европейские, персидский и индийские языки родственны друг другу и входят в одну языковую семью. Вы же понимаете санскритское слово "веды" без перевода, верно? И именно по названию места происхождения этих племен в английском языке европеоидная раса называется caucasian race. А также именно по названию этого племени французский граф Жозев Артюр де Гобино дал имя своей печально известной расовой теории, позже популяризованной и претворенной в жизнь Адольфом Гитлером. Но давайте вернемся назад к нашей теме.

Читать далее
Всего голосов 134: ↑102 и ↓32+103
Комментарии575

Как египетский фараон Аменхотеп основал христианство, и почему оно стало идеальным мемом

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

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

Я вырос в абсолютно нерелигиозной семье. Среди моих знакомых и друзей тоже почти не было религиозных людей. Поэтому с самого детства меня мучал один вопрос: почему существуют религии? Заметьте, вопрос состоял не в том, почему люди верят в Бога, хотя это тоже было мне не совсем понятно, а именно почему существуют религии с их нелепыми ритуалами и ограничениями. Раньше я считал их дремучими пережитками прошлых времен, простой картиной мира для глупых людей и удобным способом для властей управлять людьми. Но потом узнавая все больше и больше, я начал сомневаться. Факт, который в дребезги разбивал любые мои аргументы о том, что религия - это плохо: у всех когда-либо существовавших цивилизаций и обществ на нашей планете была своя религия. Это значило, что без религии цивилизация не может существовать. Но я все еще не мог понять почему. И вдруг совсем недавно я нашел простой и логичный ответ на этот вопрос в совершенно неожиданном месте.

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

Читать далее
Всего голосов 153: ↑97 и ↓56+72
Комментарии749

ИТЭР в 2020 году, часть вторая

Время на прочтение10 мин
Количество просмотров17K
Продолжение. начало в первой части.

image
Российские шинопроводы и корейские преобразователи (слева) в здании магнитных конверторов.

Производство


2020 год отметился передачей с производства на монтаж сразу нескольких важнейших компонентов международного токамака. Речь идет про первый сектор вакуумной камеры, сразу несколько магнитов тороидального поля, первую катушку полоидального поля, основание криостата и множество более мелких, но от этого не менее важных элементов.
Всего голосов 127: ↑127 и ↓0+127
Комментарии40

ИТЭР в 2020 году, часть первая

Время на прочтение10 мин
Количество просмотров22K
Прошедший год, безусловно, сильно выделяется силе слома привычного течения вещей и по количеству внезапно возникших проблем. Особенно сильно эти проблемы могли бы проявиться для большого индустриального проекта, раскинутого на 35 стран и зависящего от государственного финансирования. Тем не менее, можно сказать, что ИТЭР прошел пандемические ограничения и трудности с честью.

image

Строительство, монтаж, производство, координация и связь участников из разных стран — все это быстро перестраивалось по мере изменения обстановки, и в итоге прогресс проекта в 2020 году вышел весьма впечатляющим. Везло проекту и с финансированием, так, главные отстающие — США, в 2020 финансовом нарастили вливания в проект даже выше своих прямых обязательств, покрывая накопленные за предыдущие годы долги. Все это привело к впечатляющему техническому прогрессу, в который мы и окунемся.
Всего голосов 78: ↑77 и ↓1+106
Комментарии206

Черные дыры и голограммы

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

Эта статья является четвертой заключительной и самой объемной частью конспекта книги «Скрытая реальность: Параллельные миры и глубинные законы Космоса».

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии16

Пишем мессенджер на Vue в облаке Amazon

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

Разберем как использовать облачный сервис Amazon для создания мессенджера Chatty многопользовательского чат-приложения в реальном времени с одной комнатой с помощью фреймворка Vue и AWS Amplify. Настроим регистрацию пользователей и хранение данных.

Читать далее
Всего голосов 9: ↑8 и ↓1+15
Комментарии2

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

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

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

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

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

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

Кунг-фу стиля Linux: запуск команд

Время на прочтение9 мин
Количество просмотров32K
Одна из особенностей Linux- и Unix-подобных операционных систем, возможность мощная, но, в то же время, вызывающая немало путаницы, заключается в том, что в этих системах до одной и той же цели можно добраться разными путями. Возьмём, например, что-то простое, вроде запуска последовательностей команд. Как это сделать? Пожалуй, самый очевидный ответ на этот вопрос заключается в написании shell-скрипта. Это — потрясающе гибкий подход к решению подобной задачи. Но что если нужно всего лишь запустить несколько команд, по возможности ничем не усложняя себе жизнь? Выглядит такая задача весьма простой, но существует множество способов решить её — от простого ввода этих команд в командной строке, до планирования их запуска. За выполняющимися командами, кроме того, можно наблюдать, организовав мониторинг очереди задач так, как он может быть организован на мейнфрейме.



Поговорим о запуске команд в Linux, рассмотрим несколько способов запуска последовательностей команд из bash (и из многих других оболочек Linux). Здесь мы коснёмся таких вопросов, как использование утилит cron и at, поговорим о системе пакетного выполнения команд с использованием очереди (task spooler). Я, как и в большинстве случаев обсуждения возможностей Linux, не могу сказать, что то, о чём я хочу рассказать, хотя бы близко подходит к полному освещению способов запуска команд в Linux. Но я надеюсь, что мой рассказ даст вам некоторые идеи относительно управления выполнением последовательностей команд.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+39
Комментарии8

Это не легаси-код, это PHP

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


За последний год разработчики Vimeo писали код бэкенда на множестве языков — PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного на Rust.

В 2004 году мы начинали всего с одного: PHP. Это был идеальный язык для новых стартапов наподобие Vimeo. Интерпретатор PHP позволял предпринимателям быстро разрабатывать прототипы и имел большую стандартную библиотеку, позволявшую избавиться от мороки с повседневными задачами типа отправки писем и доступа к базам данных.

Большинство стартапов развалилось, однако некоторые из них, взявшие за основу PHP, по-прежнему были живы спустя десяток лет. Немногие из них добилась резкого роста, а в дальнейшем кое-кто из этих стартапов (самым заметный пример — это Facebook) решил, что PHP является узким местом, и начал мигрировать с него. Для этого исхода было две серьёзные причины: производительность PHP и сложность поддержки больших кодовых баз PHP.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+58
Комментарии115

Решаем мини-игру про взлом протокола в Cyberpunk 2077 за 50 строк на Python

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

Если вы хотя бы отдалённо интересуетесь играми и не прожили последнюю пару лет в тайге, то, вероятно, слышали что-нибудь о Cyberpunk 2077. После долгого ожидания она наконец вышла! И в ней есть мини-игра про взлом! И чем больше получишь в ней очков, тем ценнее приз! Может ли магия Python дать нам преимущество в этом жестоком Нете? Разумеется.

Краткое описание мини-игры: игроку даётся квадратная матрица и одна или несколько последовательностей шестнадцатеричных чисел, а также буфер определённой длины. Цель игрока — завершить наибольшее количество последовательностей, выбирая столько узлов, сколько позволяет буфер. Каждая последовательность заполняется значением, если выбранный узел является следующим узлом последовательности. В начале игры можно выбрать любое из значений в первой строке матрицы. После этого в каждом ходе можно попеременно выбирать N-ный столбец/строку, где N — индекс последнего выбранного значения. Если это ужасное описание вам не помогло, то более подробное можно прочитать здесь.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Информация

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