Size: a a a

2018 October 15
brain_dump_etc
Минутка #retrogaming

На Internet Archive теперь доступна библиотека игр для C64. В общей сложности 10К игр. Всё как обычно работает прямо в браузере (на обраузереном силами emscripten эмуляторе Vice).
источник
2018 October 16
brain_dump_etc
Образовательный набор "собери свой телефон": https://www.kickstarter.com/projects/albertgajsak/makerphone-an-educational-diy-mobile-phone

MAKERphone, это настоящий тетефон, только старой школы. Никакой ОС не имеет. "Думает" с помощью ESP32, умеет запускать MicroPython. Звонит и шлёт SMS через GSM-модуль. Звук выводит через отдельный модуль с ЦАП и усилителем. Корпус собирается из листов оргстекла, паяются только детали с монтажём в отверстия (SMD-компоненты уже распаяны).

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

Одобряю.

#diy #electronics #kit
источник
brain_dump_etc
Авторы MAKERphone до этого уже собирали деньги на подобный проект. Это был MAKERbuino: https://www.kickstarter.com/projects/albertgajsak/makerbuino-a-diy-game-console

Это Arduino-совместимая плата с кнопками и монохромным LCD-экраном, выполненная в форм-факторе портативной игровой консоли. Нацеленная на использование в качестве оной же - после того, как устройство соберут и прошьют соответствующим ПО. Как минимум "змейки" и "тетрис" с "арканоидом" на таком железе можно реализовать :)

Ах да, корпус и здесь собирается из слоёв огрстекла. Это вообще довольно популярная среди хоббистов технология корпусирования.

P.S. Эти наборы можно купить. Со временем и MAKERphone будут продавать, думаю.

#diy #electronics #kit #gamedev #retrogaming
источник
brain_dump_etc
Красиво
источник
brain_dump_etc
Раз уж публикую сюда ссылочки на наборы, упомяну и Meggy Jr RGB: https://shop.evilmadscientist.com/tinykitlist/100-meggyjr

Этот набор довольно старый. Я его в первый раз увидел, когда только-только начал с микроконтроллерами знакомиться - десять лет назад.

По сути же Meggy, это тоже карманная игровая консоль. И у неё даже экран цветной! Вот только разрешение экрана необычное: оным у Meggy работает 8x8 RGB матрица - очень концептуально :)

Да, пикселей мало. Зато цветов много. И процессора хватит даже маломощного (ATMega168P, как в оригинальной Arduino). Как минимум, можно программировать красивые световые эффекты!

#diy #electronics #kit #gamedev
источник
brain_dump_etc
Опять же, красиво
источник
2018 October 17
brain_dump_etc
Немножко попиарю книжки по Haskell

#haskell #learning #book
источник
brain_dump_etc
В издательстве Manning Publications отличная Deal of the Day с тремя книжками: Haskell in Depth, Get Programming with Haskell и Type-driven Development with Idris. Можно воспользоваться 50%-й скидкой по промокоду DOTD101718 на все три книжки. В двух не своих я, кстати, упомянут в благодарностях, а в Get programming был ещё и technical proofer. Очень их рекомендую.
источник
2018 October 20
brain_dump_etc
Многие знают, что на железячных конференциях частенько оформляют бейджи участников в виде печатных плат. Чаще всего такие платы так или иначе подразумевают возможность поиграться с ними (похакать). Скажем, бейдж может быть #arduino совместимой платой с матрицей светодиодов и акселерометром и показывать при запуске умолчательной прошивки анимацию, управляемую наклонами корпуса. Иногда бейдж может подразумевать ещё и самостоятельную сборку (которую часто можно произвести прямо на мероприятии!). Меня такое всегда очень радует (посмотрел на стопку бейджей с обычных программистских конференций...).

Вот один из самых крутых электронных бейджей, которые я видел: https://hackaday.io/project/161859-2018-hackaday-superconference-badge
Это полноценный компьютер на базе PIC32 c QWERTY-клавиатурой, трёхголосым синтезатором звука и цветным экраном, запускающий BASIC, эмулятор CP/M (на котором можно поиграть в ZORK!). И, как водится, плата оснащена портами GPIO, которые в данном случае доступны из BASIC, т.е. внешними железками можно поуправлять, не подключая бейдж к большому компьютеру.

P.S. На hackaday есть даже раздел с подобными бейджами: https://hackaday.io/list/25935-conference-badges

#diy #electronics
источник
2018 October 27
brain_dump_etc
Для тех, кто предпочитает читать на русском и в бумаге, и при этом хочет изучить #haskell порекомендую эту книгу. Оригинал вышел в марте, так что книга свежая. И цена за томик очень демократичная - "ДМК Пресс" в этом плане всегда радуют.

#book
источник
2018 October 29
brain_dump_etc
Популярная вводная лекция Виталия Брагилевского о теории алгоритмов (или вычислений): https://www.youtube.com/watch?v=PK1YzLdTqXc
источник
2018 November 03
brain_dump_etc
Наконец дошли руки поиграться с парой BBC micro:bit.

Если быть точным, то железки я щупал и раньше, но периферию так и не подключал ни разу и радиомодуль не пробовал использовать.

Пользовал MicroPython, потому что альтернативы пока не нашёл, а на JS писать не хочу. Был бы iPad, я бы попробовал Swift: да, теперь можно и такое, так что фанаты яблочных сред и языков - обратите внимание! :)

"IDE" внутрибраузерная, в которой предлагается писать Python-код, простенькая, конечно, но зато и работает без установки чего либо. Даже прошивка сделана очень просто: microbit видится в системе, как storage device без единого файла на нём, и при сохранение .hex-файла на который происходит прошивка и запуск программы! Очень остроумно! А в качестве альтертативы существует CLI-утилитка, позволяющая закидывать файлы на плату вручную - в т.ч. и файлы данных - и читать (и писать!) из питона стандартными средствами (эмулируется файловая система). Места немного, около 30КБ, но всё равно очень удобно. Также данный "ручной режим" приятен тем, что можно закидывать на плату python-модули и импортировать через стандартный же import, скажем, в головной модуль main.py.

Изначально хотел опробовать радиомодуль - у меня две платки как раз и я их связал в "сеть". Как и ожидалось, всё работает сразу и при минимуме усилий! Приятно. Пока ничего сложнее "нажал кнопку на одном модуле, а другой мигнул экраном, и наоборот" не придумал. Но имею план попробовать сделать автоматический выбор ведущего и синхронизацию с оным ведомого (жаль, что микробита у меня талько два!).

Потом откопал в закромах пьезопищалку и опробовал искоробочные либы для воспроизведения музыки и синтеза речи(!). Прямое подключение к порту пищалку не раскачивает как следует, так что надо бы в будущем добавить ключ. Но всё равно результат меня порадовал. Музыку играл встроенную: микробитова stdlib богата на встроенные приятности и music.play(music.NYAN) была вполне узнаваема :) Синтез речи очень условный, но зато можно тонко управлять произношением и выводом. Как миниум, здорово, что он есть из коробки.

Отдельно отмечу документацию - она отличная. В лучших традициях питонопакетов всё лежит на readthedocs, удобно структурировано, приятно читается.

#electronics #microbit #micropython #python
источник
brain_dump_etc
Звуки взяты из примеров в документации - BBC не смогли не припомнить "Доктора" :)
источник
2018 November 15
brain_dump_etc
Эх, я бы посетил...
источник
brain_dump_etc
Последние три года осенью в Сан-Франциско проходит странное событие Roguelike Celebration bit.ly/2MM2qzy. Грубо говоря, это конфа, посвящённая написанию компьютерных игр древнего жанра Roguelike (на русском сленге "рогалики") bit.ly/2zXtAOA. Жанр этот, родственный RPG, назван по одной из первых подобных игр, Rogue 1980 года. Другими известными его преставителями являются NetHack, Moria, ADOM, а в качестве граничных примеров часто называют Dwarf Fortress и, внезапно, Diablo. Среди жанрообразующих аспектов рогаликов значатся хардкорность, процедурная генерация контента и тяга к ASCII-графике, что делает весь жанр крайне нёрдовским.

Так вот, на этом самом Roguelike Celebration попадаются довольно дельные доклады, которые они выкладывают онлайн. В качестве затравки поделюсь ссылкой на доклад двух профессоров факультета компьютерных искусств канадского Concordia University "Chess + Rogue = Chogue" bit.ly/2B7uk5K, авторы довольно системно подходят к вопросу о том, как можно построить органичный гибрид из двух совсем разных систем игровых правил.
источник
2018 November 18
brain_dump_etc
В сообществе хаскелистов сильно движение "IDE не нужны". И если с дидактической точки зрения абсолютному новичку полезно работать с кодом вручную - при наличии нормального тулинга за пределами написания кода, замечу(!) - то после "набивания руки" правильно и законно хотеть получать от среды столько помощи, сколько вообще возможно получить.

Увы, часто говорят, что "достаточно REPL и редактора" или "автодополнение по словарю есть, что ещё нужно?".

"Не достаточно", "нужно больше".

Я сам лично худо-бедно настроил окружение, которе в целом позволяет жить с рабочими проектами на #haskell, но не стану говорить, что большего и не желаю.

А написал текст выше я, чтобы дать вводную для интересного, как мне кажется, доклада: https://www.youtube.com/watch?v=baxtyeFVn3w
Докладчик (хаскелист, кстати) сразу же отмечает, что доклад - не про #smalltalk. Так что можете не пугаться.
источник
2018 November 25
brain_dump_etc
Вот "Амперка" и анонсировала наконец свой XOD. Ознакомиться настоятельно рекомендую. Только комментарии к видео не читайте - там сплошь жалобы на отсутствие русского языка. В комментариях же сравнивали с FLProg, мол "тоже бесплатно, ещё и на русском". С этой штукой тоже можно познакомиться, но сравнивать не стоит - XOD и FLProg разные концептуально, хоть и решают обе одну задачу (визуальное программирование микроконтроллеров).

XOD, это "что-то типа FRP" (Functional Reactive Programming) с проталкиванием событий (как в push-FRP). Программа выглядит, как data flow схема, в которой источники событий (кнопка, потенциометр, таймер) через цепочки преобразований управляют "стоками" (светодиод, сервопривод, ЖКИ). Реализовано описание схем довольно удобно, есть возможность описывать свои блочки (и визуально, и на текстовом ЯП), делиться наработками с сообществом - натоящий современный продукт. Работает и в браузере, и в десктопных приложениях (на базе electron).

FLProg предоставляет для описания программ язык описания Ladder Diagrams - язык релейной логики. Заметно (мне), что FLProg пытается быть средой визуального описания автоматики, похожей на больших братьев - срез программирования ПЛК. И от этого дружественность страдает, как мне кажется, очень сильно. Ну не могу я представить, как новички (а конкретнее - дети) будут с удовольствием пользоваться интерфейсом из нулевых, который ещё и не особо упрощает жизнь - одну лишь некрасивость можно было бы и потерпеть.

Заметьте, я не пытаюсь принизить заслуги авторов - FLProg, это опрелённо достойное уважения творение - но конкуренцию с XOD оно проиграет. Потому что новичку гужно, чтобы было удобно, просто - и, чего уж там,  красиво. XOD про это. А неновичку уже не будут нужны среды для графического программирования, если уж возникнет желание плотно погрузиться "в железки".

P.S. А хорошо, что тут нет комментариев. Никто не прибежит ругать меня за то, что я ругаю FLProg (на всякий случай: а не "ругаю" - я просто "не хвалю").

#diy #electronics #learning #lang
YouTube
XOD — графический язык программирования для Arduino
XOD — это графический язык программирования с открытым кодом. Платформа предназначена для быстрой разработки устройств на базе плат Arduino.

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

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

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

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

Для работы с XOD используется интегрированная среда разработки XOD (IDE для…
источник
2018 November 28
brain_dump_etc
Очень меня позабавил сий образчик рекламы (это страница журнала BYTE за август 1980). Нынче такое себе не позволяют :)
источник
brain_dump_etc
Журнальчик, кстати, примечательный - почти весь номер посвящён языку Forth (затем я его ирешил полистать).

#forth
источник
brain_dump_etc
Да уж, тогда Forth был на коне! Третий по популярности после BASIC и Pascal среди пользователей персональных ЭВМ. На этом фото как раз такая ЭВМ с Forth "искаробки", как ныече бы сказали :)
источник