Working on BLE packet sniffing and transmission for MeshTNC, bc who doesn't want to do APRS or meshcore over BLE advertisements 😉
My quick hack feels promising so I think I'll clean this up and PR it.
#Tag
Working on BLE packet sniffing and transmission for MeshTNC, bc who doesn't want to do APRS or meshcore over BLE advertisements 😉
My quick hack feels promising so I think I'll clean this up and PR it.
Just needed one tweak to the KISS encoder to define our port usage and give myself a way to put BLE data out a different port than LoRa data when in KISS mode.
Planning to also support streaming GPS NMEA over KISS eventually as well as promiscuous mode WiF sniffing.... eventually.
So reserved some values for that stuff.
Here I was thinking the KISS protocol support was going to be hard ✨
Actually this flew together, mostly bc @meph already did all the hard stuff on KISS handling.
So just check which output mode we're in and yeet the data at the BLE data KISS port.
#amateurradio #wardriving #ble #embeded #esp32 #devlog #MeshTNC
Just needed one tweak to the KISS encoder to define our port usage and give myself a way to put BLE data out a different port than LoRa data when in KISS mode.
Planning to also support streaming GPS NMEA over KISS eventually as well as promiscuous mode WiF sniffing.... eventually.
So reserved some values for that stuff.
First things first, I want to make it so that the ASCII CSV output format for BLE packets roughly matches LoRa packets.
Every packet gets an arrival timestamp, type, RSSI and SNR values. Followed by whatever payload.
In the case of BLE packets there's also a 6 byte MAC so I slap that infront of the payload.
There's no SNR data for BLE so that's always 0.0. But the RSSI is good.
Here I was thinking the KISS protocol support was going to be hard ✨
Actually this flew together, mostly bc @meph already did all the hard stuff on KISS handling.
So just check which output mode we're in and yeet the data at the BLE data KISS port.
#amateurradio #wardriving #ble #embeded #esp32 #devlog #MeshTNC
Working on BLE packet sniffing and transmission for MeshTNC, bc who doesn't want to do APRS or meshcore over BLE advertisements 😉
My quick hack feels promising so I think I'll clean this up and PR it.
First things first, I want to make it so that the ASCII CSV output format for BLE packets roughly matches LoRa packets.
Every packet gets an arrival timestamp, type, RSSI and SNR values. Followed by whatever payload.
In the case of BLE packets there's also a 6 byte MAC so I slap that infront of the payload.
There's no SNR data for BLE so that's always 0.0. But the RSSI is good.
Working on BLE packet sniffing and transmission for MeshTNC, bc who doesn't want to do APRS or meshcore over BLE advertisements 😉
My quick hack feels promising so I think I'll clean this up and PR it.
#lispGameJam #commonLisp #programming #devlog #commonLisp #mcclim #nicclim #gamedev #itchio in which I play with the make-my-own-level player activity. (It's unix-surrealism-jam not just NicCLIM because it is built around the unique unix-surrealism-jam controls not my preexisting NicCLIM's)
Article: https://screwlisp.small-web.org/lispgames/my-common-lisp-game-jam-self-experience/
Jam submission https://itch.io/jam/autumn-lisp-game-jam-2025/rate/3822491 ,
my fellow jammers:
+
Pixel Outlaw's #interlisp https://itch.io/jam/autumn-lisp-game-jam-2025/rate/4015363
@mdhughes ' MUD https://itch.io/jam/autumn-lisp-game-jam-2025/rate/4002647
Here's a local LLM checking my Linux server from a Mac, privately and safely using Shannot v0.3!
Built this for homelabs and Raspberry Pi setups where you want AI help without opening security holes.
https://github.com/corv89/shannot
#homelab #selfhosting #python #ai #raspberrypi #linux #devlog #security #sysadmin #privacy #llm
Here's a local LLM checking my Linux server from a Mac, privately and safely using Shannot v0.3!
Built this for homelabs and Raspberry Pi setups where you want AI help without opening security holes.
https://github.com/corv89/shannot
#homelab #selfhosting #python #ai #raspberrypi #linux #devlog #security #sysadmin #privacy #llm
check out my latest #devlog for the upcoming #PixelArt #VisualNovel Dungeon of Departure over on #itchio
https://quiteadept.itch.io/dod/devlog/1094971/late-development-1st-reminiscence
I was busy planning a wedding and haven't made much progress in the past 100 days, but ALL of the voicework and ALL of the character animations are done, LET'S GO!!!
#GameDev #IndieDev #SoloDev #VN #RenPy #DungeonOfDeparture #CharacterArt #OriginalCharacter
check out my latest #devlog for the upcoming #PixelArt #VisualNovel Dungeon of Departure over on #itchio
https://quiteadept.itch.io/dod/devlog/1094971/late-development-1st-reminiscence
I was busy planning a wedding and haven't made much progress in the past 100 days, but ALL of the voicework and ALL of the character animations are done, LET'S GO!!!
#GameDev #IndieDev #SoloDev #VN #RenPy #DungeonOfDeparture #CharacterArt #OriginalCharacter
#tootcoding #NicCLIM ( #gamedev #devlog ) #programming #fedi #McCLIM #commonLisp
In this article I am further investigating collaborative fediversal learning and programming.
(ql:quickload :mcclim)
(compile-file #P"~/Downloads/nicclim.lisp" :load t)
(in-package :nic)
(require 'bordeaux-threads)
(require 'uiop)
(uiop:chdir "~/GAME/") ; you do you.
(rect-file 'garden 5 5 '(soil))
(bt:make-thread
(lambda ()
(in-package :nic)
(enclose-map 'garden)))
#gameDev #commonLisp #McCLIM #NicCLIM Map Editor #devlog sharpsign... alpha release part 1.
https://screwlisp.small-web.org/lispgames/nicclim-alpha/
I also went back and reread McCarthy's original LISP article (Also Part I) to make sure he said programming might be done in terms of pictures. He specifically presented a scheme for turning universal recursive flow charts into lisp s-functions.
On the Sunday-Morning-In-Europe Peertube live one hour from now, (on https://toobnix.org/a/screwtape/videos) I will mostly read from McCarthy's paper.
pretty proud of what i wrote but also feeling i just made the job harder for myself... BUT IMAGINE THE POWER
pretty proud of what i wrote but also feeling i just made the job harder for myself... BUT IMAGINE THE POWER
also this. also probably best for an interpreter, because a compiler would require significant preprocessing and analysis to make it fast.
i forgot to add that it also permits to use relations as arguments, so you can remap relations and build lookup tables, use them like closures, and all that jazz.
pretty proud of what i wrote but also feeling i just made the job harder for myself... BUT IMAGINE THE POWER
uh. why do i actually do these hard static analysis tasks in C++ and not write them in soufflé, which is much better suited for this? (and integrates with C++)
an adventure begins...
souffle 2.5 ships a dpkg for ubuntu 24.04, which saves me a lot of work.
https://souffle-lang.github.io/interface#detailed-usage documents clearly what to do, but i had to learn myself that support for c++20 and later is broken, i need to build the generated file without -std=c++23 which is no issue.
and then finally, with all information we have extracted, we can toposort the SCC graph, and that's our stratified execution schedule for the program.
the next interesting question to ask, with the information we have, is: when can we release which resource?
and the answer to our lifetime problem are these two rules. now we have, in addition to the execution order of our program, the release order of our resources.
with a few more lines, we can extract the strongly connected components of the dependency graph (answering which vertices belong in the same loop). the work done is so far easily equivalent to 200 lines of C++.
and then finally, with all information we have extracted, we can toposort the SCC graph, and that's our stratified execution schedule for the program.
the next interesting question to ask, with the information we have, is: when can we release which resource?
this single rule discovers all direct edges between relational tables; it looks at every rule, gets its conclusion relation, then goes through all connected premises, and retrieves the relation from each premise.
all right-hand side terms are commutative, so you can read them in any order. together, they form a product (or an AND combination): when one term yields no results, then the entire outcome fails.
bonus relation: transitive closure.
with a few more lines, we can extract the strongly connected components of the dependency graph (answering which vertices belong in the same loop). the work done is so far easily equivalent to 200 lines of C++.
A space for Bonfire maintainers and contributors to communicate