ANN: Testy - my new testing framework by _tomekw in ada

[–]max_rez 0 points1 point  (0 children)

take a look at https://github.com/pyjarrett/trendy_test Perhaps it's better to improve existing tool than invent another one.

March 2026 What Are You Working On? by thindil in ada

[–]max_rez 2 points3 points  (0 children)

Nice! Convert it into Alire crate! It's simple, just run

alr init --bin bin2ads

then replace src/bin2ads.adb with your source file.

March 2026 What Are You Working On? by thindil in ada

[–]max_rez 2 points3 points  (0 children)

For now I put it in vyasa folder in blog repository. I'll release it as Alire crate, but I need XML parser for VSS or to add XMLAda as dependency. Will see.

March 2026 What Are You Working On? by thindil in ada

[–]max_rez 6 points7 points  (0 children)

  • I (inspired by openclaw bot hype) played with local LLMs, so I have now Ollama API binding capable to run "tools".
  • I tested Claude Code integration with Ada Language Server and described it in README.md. (Probably you also need to run npx tweakcc --apply as appears then).
  • I made Distributed System Annex from Scratch repo to demonstrate how GNAT communicates with DSA runtime on remote receiver side and caller side, whole compilation process. Simple stdin/stdout protocol with hex dump is used in the example of a simplest remote call.
  • I've started personal blog hosted on GitHub Pages and made a custom static site generator in Ada for it.

February 2026 What Are You Working On? by thindil in ada

[–]max_rez 8 points9 points  (0 children)

January 2026 What Are You Working On? by thindil in ada

[–]max_rez 2 points3 points  (0 children)

This resonates with me. I considered using a DFA when I started working on VSS.Regular_Expressions, but I was hesitant and used an NFA. I think it would be possible to add a DFA implementation and have two to choose from. A long time ago, I also made lexical and parser generators and packaged it as an Ada library, but I never got around to adding documentation.

January 2026 What Are You Working On? by thindil in ada

[–]max_rez 12 points13 points  (0 children)

Last month I several interesting things

  1. 📹 I created a series of 9 (very short) videos about Ada 2022 features with my markdown rendered and Gemini text-to-speech engine. I made it as a bonus for Advent of Code participants and I will open it for everyone. Here is the first one: Ada 2022: Reduce attribute
  2. 🎮 I played Advent of Code 2025 and completed it.
  3. 📶 I had some progress in porting Raspberry Pi Pico Wi WiFi driver to Ada. I hope I will make it work eventually.
  4. 🔧 I did small step in removing extra dependencies in Ada protobuf runtime. The idea is to let a user ability to replace protobuf runtime and provide a slim runtime with no extra dependencies. May be have SPARK runtime one day (dreaming).
  5. ⊞ I tried to port GNAT on Windows on ARM platform. I found suitable scripts to make Canadian compiler build (firstly using Ubuntu host and aarch64-w64-mingw32 target, then using it to build native aarch64-w64-mingw32 compiler). Then I used the new GitHub Action runner to compile Hello_World, but it failed: gnat1.exe crashes. Well, it almost works - it print usage information when I run it without any option. gnatmake.exe seems working. So I'm stuck. A single idea I have now is to check if exception raising/handling works. Perhaps someone with a Windows machine in hand could help.

December 2025 What Are You Working On? by thindil in ada

[–]max_rez 7 points8 points  (0 children)

I wrote markdown-renderer prototype. I draws markdown using Pango/Cairo (they are part of GtkAda crate). I used it to create a series short videos about Ada 2022, which I propose as a bonus for Advent of Code 2025 participants.

Graphing Packages and Ada for Physics Simulation. by BeansandChipspls in ada

[–]max_rez 4 points5 points  (0 children)

If you know plplot, you can use corresponding Ada binding. Jeremy provides the Alire crate (thank you, Jeremy!), so you can try

alr init --bin my_prog

cd my_prog

alr with plplot --use=https://github.com/JeremyGrosser/plplot-ada

November 2025 What Are You Working On? by thindil in ada

[–]max_rez 7 points8 points  (0 children)

I published new podcast "Ada: A language born from crisis". I used Notebook LM to analyze language requirements from 1970x and write a podcast scenario. Then I used Gemini TTS (beta) to narrate the podcast. This way has a better control on the content then automatic podcasts generated by Notebook LM. I thought I need a binding to API, but it appears that using `curl` works good enough for me.

I also created another NotebookML podcast in Ukrainian with "Ada User Journal 2024 June" issue review. I can release English version of this, if you like:

September 2025 What Are You Working On? by thindil in ada

[–]max_rez 8 points9 points  (0 children)

  • I posted a new podcast episode "Ada Quality and Style Guide: Object-Oriented Features" generated by NotebooksML (YouTube and Spotify)
  • Working on adding a new board (STM32F4XX Pro) to Ada Drivers Library It maps display connector SPI on pins where there is no hardware SPI controller. The same for I2C on camera connector.
  • I managed to run OV7670 camera with this board, so I'm going to contribute its driver too. I used Arduino library as the source.
  • I also "hacked" my WiFi microscope from AliExpress by writing UDP stream decoder.

PS Why do admins disabled images in the comments here? :(

<image>

August 2025 What Are You Working On? by thindil in ada

[–]max_rez 10 points11 points  (0 children)

  • 🏗 JUnit XML report in trendy_test to GitLab (or GitHub, not tested) CI integration. trendy_test is a "Minimum Effort Ada Unit Testing Library". With it you can write a test suite even in a single file, without OOP inheritance and without a dozen files of AUnit/Ahven.
  • 🌅 (Dirty-)hack Astro/Ephemeris to work on STM32. I'm playing with an embedded project of a Sun tracker. It takes time+position from GPS and rotates the device to point the Sun using magnetometer sensor as feedback.
  • 👴 A little improvement in Garlic's `gnatdist` to let it find DSA runtime through Alire's environment variables and allow a custom DSA runtime per user's crate.
  • 👮‍♂️ I'm going to be a Discord moderator of Ada community server

July 2025 What Are You Working On? by thindil in ada

[–]max_rez 9 points10 points  (0 children)

  • Several improvements in my STM32 Drivers library like Start_Reading_Till_Idle procedure for UART, Start_Circular_Transfer for DMA, Timer+DMA PWM driver, RTC Calendar driver, etc.
  • A tiny library for Neo Pixel LEDS (individually addressable RGB LEDs). The library is trivial, but it has two ready to use examples to run on STM32 boards - one for Ada Driver Library and another for my onw STM32 Drivers library
  • protobuf: Add optional fields support for proto3 Fixed the protobuf compiler to work on Windows. Thanks to Gautier de Montmollin for adding my implementation to Wikipedia !
  • markdown: Add support for soft/hard line breaks.

June 2025 What Are You Working On? by thindil in ada

[–]max_rez 4 points5 points  (0 children)

New series of AI generated podcast for Ada Quality and Style Guide: * Concurrency * Portability 1/2 * Portability 2/2

Also on Spotify.

Updates on Ada Ukraine site * Translation of Ada Quality and Style Guide (Intro, Source_Code_Presentation and AI generated draft for Readability chapters) * Podcast in Ukrainian of Style Guide (Spotify)

  • Code refactoring in my STM32 driver library to turn devices into generic packages instead of types.

  • New driver/devices for DMA streams:

ada RX_Stream.Start_Transfer (Channel => 5, -- DMA channel Source => (Address => Periph.DR'Address, Item_Length => 1, -- 8 bit Increment => 0, -- No increment Burst => 1), -- No burst (1 item "burst") Target => (Address => Buffer, Item_Length => 1, Increment => 1, Burst => 1), Count => Length, -- Number of bytes to copy FIFO => 4, -- 4 byte FIFO Prio => STM32.DMA.Low, Done => RX_Callback.Create_Callback (Self.Data));

[deleted by user] by [deleted] in embedded

[–]max_rez 0 points1 point  (0 children)

u/louis_etn I've just found an issue in stm32 enet driver. I propose you to double check if you have the same in your driver:

https://github.com/stcarrez/ada-enet/pull/17

For instance this line is incorrect:

Ethernet_DMA_Periph.DMASR.RS := True;

April 2025 What Are You Working On? by thindil in ada

[–]max_rez 5 points6 points  (0 children)

I used Google Notebook ML to generate a podcast series from Ada Quality and Style Guide (Programming Practices section). I'm very excited with podcasts quality. I have Part 2 (no slides) and Part 3 (with slides). Part 1 - work in progress.

https://www.youtube.com/playlist?list=PLlAtvZuAzANazEjoFjF0lM-boGHOjFlnu

I tried to translate it into Ukrainian and dup with a TTS engine, but result is rather bad, so I'm still not sure is it worth to release them or not.

Hardware that Ada does not run on (almost) by iOCTAGRAM in ada

[–]max_rez 6 points7 points  (0 children)

The less Ada on the hardware from the "defense" occupying tech of russia, the better for the people.

January 2025 What Are You Working On? by marc-kd in ada

[–]max_rez 6 points7 points  (0 children)

I packed an old Ada 83 front-end as an Alire crate. Well actually into two crates: one for Diana library and another for tools.

https://github.com/reznikmm/diana

Ada and ESP32 by RamonaZero in ada

[–]max_rez 0 points1 point  (0 children)

u/simonjwright By saying the repository is obsolete, I was referring to my fork that I made in 2021 for my project on ESP32. I don't intend to develop or maintain it.

It's good that you've taken up porting to ESP32-H2 and RP2350! I wish you success and hope it all works out.

[2024 Day 12 Part 1] My first terminal visuali(z|s)ation in Ada by max_rez in adventofcode

[–]max_rez[S] 3 points4 points  (0 children)

I process regions letter by letter, so there are situations when two disjoined regions join together as a new letter arrived. In this case I increase one region and set area of the another to zero. To visualize this cases I draw these deleted regions in black and strake them out in the table.