What's everybody working on?

Ah, so THAT’S what you meant by ‘TEA’ (Tactical Engagement Analysis)! Nice one. It makes total sense now why you need those 9-axis IMUs and crazy fast image processing for tactical tracking.

Honestly, hitting 1800% faster than OpenCV using Zig is just insane—the latency must be practically zero. Keep grinding on that last 20%, man. Can’t wait for your boss to see that massive battery life jump once it’s done! Good luck!

Yeah I mean right now most of the code is still in C, but now the build system is in Zig, the qrcode decoder is in Zig, the v4l2 layer is already written, the next step is the bluetooth layer and that’s 18k lines of C which I’m not gonna lie is going to be very painful :smiling_face_with_tear: There’s still a long road ahead, but I really enjoy it, i just can’t stress it enough how having such an easy transparent C interrop makes this transition absolutely painless, all i have to do is take a C function, rewrite it in Zig, put it in a file, and export it, and voila, one function at the time ahah

also to be fair my qrcode decoder (or the be fair quircs translation to Zig) is a very basic qrcode decoder, the one in opencv is purposefully generalist and tries to detect and parse a lot more than just your standard qrcode, so it’s 18x faster yes, but the scope is much smaller too, and it’s optimized for the hardware’s constraint opencv is also often purposefully generalist.

My one-day Zig project was a solution to the Nerd Sniping problem. I did it purely by brute force: I adjusted the potentials on each node in turn and kept repeating that. With a 500x500 grid and 500 iterations, I got two decimals right: 0.77.

I was hoping to integrate that with @Ashu ‘s Zigraph but it did not (yet) compile with 0.16. My ultimate contribution to humanity would be an animation showing how electrical potentials adjust on an imaginary grid of resistors.

2 Likes

this is disgusting and sickening, and honestly at least one person needs to say that to you. i hope one day you recognize how awful this is.

3 Likes

of course this… humanity is insane.

It’s a device that support our forces in their training endeavor, helping them practice more frequently, there’s a serious lack of training with gun amongst military and police personnel, because currently it involves a lot of logistics, paperwork, specialized personnel and resources, that aren’t always made available to them.

This solution can be deployed in less than 5 min, and allow anyone to train safely, with air soft replicas or real weapon, the video capture can also be used to ensure the personnel is using the correct technique because you can review the moment to moment action backward and forward.

You have the right to think that this is “disgusting and sickening” i respect that, but it will never take away the pride i take in my work, and the satisfaction I’ve felt seeing users be so happy about using this solution that enables them to train more.

If it even contribute to save one person’s life, or prevent one accident, I would die happy, without any regret.

17 Likes

The first impression was: kill, not save.

3 Likes

Playing with implementing my own TOTP tool. Working straight from the RFCs, which I’ve never personally done, so that’s been rewarding as well.

I currently use oathtool for this so that I can get these 2FA codes on the command line, piped into my clipboard. I may or may not replace oathtool with my project.

Side note, for many people, 2FA/MFA is the reason they give for having their phone in their workspace, which sabotages their ability to focus. During the work day, my phone is downstairs, plugged in, instead of with me. Before I discovered oathtool, whenever I needed to do a 2FA, I would go downstairs, get a code, and try to get back upstairs to my office quick enough to beat the clock.

4 Likes

I have some grudges with bmpanel2 x11 dock and wrote a replacement GitHub - baverman/taskbar: Lightweight X11 taskbar · GitHub with accompanying battery tray icon: GitHub - baverman/battray: X11 tray icon to display battery charge level · GitHub . It was first time I’ve tried Zig and it was a quite pleasant experience. The only difficult part was 0.15 → 0.16 migration and broken translate_c for pango lib, had to declare required pango functions explicitly.

Comparing to C it’s unbelievable DX boost. During development I had only one instance of bounds check panic, and trace was enough to pinpoint the issue. Debugger wasn’t needed. Built-in testing encourages you to use it from the start. “inline else” is a godsend feature, really like it, could be more visible in the docs though.

1 Like

That’s an excellent project. Just curious, how do you plan to store the shared secret? Might be asking too much, do you plan to support import via QR code? Export for archiving?

Just curious, how do you plan to store the shared secret?

Not sure just yet, been simmering on this one though.

Eh I doubt it. It’s not like I’m trying to make a commercial product or anything here, this is just to scratch this itch for myself.

if you ever need qrcode, I have this : quirz it’s not finished yed, but I use it at work, so it’s pretty ok for now i guess.

Oh cool, thanks!

1 Like

Because sadly humankind still hasn’t figured out how to get rid of violence and war, I understand its somehow necessary these days to keep military and law enforcement forces around.

That said, I hope at least that “our forces” doesn’t refer to any troops of an autocratic regime used to oppress their own people or to invade neighboring countries.

Especially, because beside its use case I think its a really fascinating and elborated Zig project which deserves being acknolewdged as such. Even of the code might never become public because of its security implicstions

2 Likes

I have skhd.zig which is a port of the original skhd by Åsmund Vikane. I wrote the original tokenizer, parser, but stopped at the macos related APIs. Claude later helped me translate from the original C event tap.

Now skhd.zig contains more functionalities like remapping caps lock, space bar etc akin to QMK’s layer tap. Almost entirely written by Claude.

I used Zig for its C interoperability.

I’m continuing my quest to have a nice Zig X11 stack. I’m quite fed with xlib and xcb approach and want a new X11 client library.

It tries to bring maximum type safety and be a thin wrapper around x11 protocol solving pain points of xlib and xcb:

  • Dare state with memory allocations for GetWindowPropertyMessage. My app could request hundreds of window properties on update and it would be enough to use a single scratch client owned buffer. xlib/xcb have only lib owned option with a dedicated free function.
  • BadWindow error. Like it’s completely fine to send a message for destroyed window. xlib crashes app by default or allows to have a “error handler” which leads to quite questionable workarounds. Error handling should be sync and default request behavior.

It’s far from done. Currently generator allows to make enough messages to show a window and read window properties.

3 Likes

Does this have any relation to Phoenix (the Zig X11 server project)?

First time hear about it. Really interesting project and goals it’s amazing how we are aligned :slight_smile: