И снова декларативное разграничение доступа на Haskell
kayo — Вс, 14/09/2014 - 23:54
Казалось бы, мы уже окончательно пережевали эту тему в прошлый раз. Но оказывается, как всегда, мы всё сделали не правильно… Ну ладно, не будем отчаиваться, мы не совсем всё сделали не правильно. Не правильно мы сделали только в одной части, а именно, в части объявления новых операторов.
Нет, конечно, возможность объявлять хитрые специфические операторы — одна из полезнейших возможностей Haskell, и нет ничего плохого в том, чтобы так поступать. Плохо другое, объявив операторы &&@ и ||@, мы по сути продублировали функциональность. Булеву алгебру не мы изобрели, стандартные операторы && и || давно существуют и делают понятные вещи. Так зачем же снова изобретать велосипед, когда правильнее было бы адаптировать то, что уже есть.
Декларативное разграничение доступа на основе ролей и привилегий на Haskell
kayo — Пт, 29/08/2014 - 16:03
Моё мнемоническое мышление чуть было не разбилось вдребезги, столкнувшись с литературой по Haskell, написанной, как водится, математиками для математиков. Погрузившись в облако висящих в воздухе абстракций, я тщетно пытался выскрести из них хоть какую-то практическую пользу. Но всё это время меня не покидало ощущение, что причина тщетности моих попыток вовсе не в сложности системы функционального программирования как таковой и не в сложности конкретной реализации её в Haskell, а в том, что я пытаюсь читать книги на языке, которым я не владею в достаточной для понимания мере. Абстрактный язык теории категорий встал между мной и Haskell. Я несколько раз бросал вдумчивое чтение, и несколько раз возвращался к нему снова, пока всё не бросил и не взялся за изучение кода. Конкретные примеры выглядели куда понятнее голой теории и постепенно понимание стало приходить. Изящность дизайна этого языка развернулась передо мной, и я «достиг просветления» ©®™.
Сверлим печатные платы на RepRap Prusa Mendel
kayo — Пнд, 25/08/2014 - 22:31
Собрал я как-то себе 3D-принтер Prusa Mendel из проекта RepRap. Надо сказать, полезная в хозяйстве вещь, напрограммил нужные детальки в OpenSCAD, прогнал в слайсере, включил, напечатал. Платформа Mendel разработана весьма добротно за свою цену и может делать намного больше, нужно только поставить соответствующую оснастку. В прототипировании всякой электроники самый неприятный момент связан с производством печатных плат. Есть, конечно, спецы сборки сложных прототипов на макетках, но я не один из них.
Подбираем CAM-систему для фрезерного станка любительского уровня
snegovick — Втр, 19/08/2014 - 19:43
Рано или поздно, любой обладатель станка-трехкоординатника любительского уровня ( shapeoko в моем случае ) сталкивается с тем, что большие CAM-системы запредельно дороги, а свободные программы слишком мало могут.
Свободные CAD-программы сильно выросли за последнее время: LibreCAD отлично справляется с задачами создания небольших 2D чертежей, примерно на уровне AutoCAD где-нибудь 2000 года. FreeCAD позволяет создавать не очень сложные модели деталей и даже вполне справляется с экспортом во всякие другие форматы, что тоже хорошо. В тоже время ситуация с CAM системами сейчас обстоит примерно также как было со свободными CAD-системами лет 5-10 назад. Они есть, но пользоваться пока можно только с большим трудом.
Простой вывод звука для микроконтроллерных устройств
kayo — Ср, 11/06/2014 - 11:17
Нередко бывает необходимо или просто удобно как-то озвучивать немые устройства, делая их более дружественными к человекам. Однако сия задача сопряжена с рядом трудностей. Во-первых, для вывода звука нужен некий выходной аналоговый интерфейс, но далеко не все контроллеры имеют на борту ЦАП (DAC). Во-вторых, сформированный аналоговый сигнал необходимо как-то усиливать, чтобы подать на динамическую головку с низким сопротивлением 4, 8, или 16 Ом.
Навигация робота по плиткам на полу
snegovick — Вс, 01/06/2014 - 02:48
Где-то здесь я уже рассказывал о том как я делал перспективное преобразование с помощью opencv. Всё это я делал не просто так, этот код входит в программу, которую я писал для своей магистерской диссертации. Суть работы заключалась в том, чтобы научить робота вычислять свое положение.
Робот следует по траектории-сплайну
snegovick — Вс, 01/06/2014 - 01:38
Сплайн, пожалуй, является самым удобным способом задания "гладкой" траектории для роботов . Рассмотрим алгоритм следования по такой траектории.
Моделируем оптику в… FreeCAD
kayo — Сб, 12/04/2014 - 20:37
Давно приглядываюсь к FreeCAD, но каждый раз при попытке серьёзно использовать этот пакет, натыкаюсь на разного рода недостатки и ограничения. Благо проект ещё довольно молод, и рано или поздно будет доведён до промышленного уровня. А пока будем продолжать говнокодить механику в OpenSCAD… или нет? Уже сейчас в FreeCAD есть весьма полезный инструментарий, который не имеет аналогов в лице других FOSS решений.
Трюки с GStreamer
snegovick — Втр, 04/03/2014 - 05:50
Эта заметка будет короткой и я опишу пару трюков связанных с отображением видео полученного с помощью gstreamer.
Пробуем сделать гироскоп
snegovick — Пт, 21/02/2014 - 09:27
Человека всё время тянет к чему-то странному, чему-то что еще не опробовано, не исследовано, не засмотрено чужими глазами и не передумано чужими мозгами. Этот случай подобен всему перечисленному: я лично не знаю людей, которые бы пробовали сделать гироскоп, а потому стоило попробовать.
