What are you working on? - Programming On Unix

Users browsing this thread: 1 Guest(s)
mcol
Nixers
(22-01-2021, 06:57 PM)jkl Wrote: Python is a mess, honestly...
I like Python the language, but the ecosystem... not so much. I have to use conda at work and any time I have to run the `conda` command twice as much as damage is caused than improvements.

(18-01-2021, 11:47 PM)phillbush Wrote: I'm sharing some of my old notes on Xlib programming, and writing new ones: https://github.com/phillbush/xnotes
These are super nice, thanks! I'm gonna have to read through that painting one.

I've been lightly working on a wayland compositor, which is now at the point of being almost usable (all it needs is to support the output management and layer shell protocols). It features a zooming interface and the workspace isn't limited to the dimensions of the monitor, so rather than having virtual workspaces like many X environments, you lay out all of your windows onto one giant endless 2D plane and zoom and pan around. My inspiration for this paradigm was editors like GIMP/inkscape/etc, and similarly I plan to let you write notes and draw images on the root window, like post-it notes :) link
phillbush
Long time nixers
(25-01-2021, 07:48 AM)mcol Wrote: you lay out all of your windows onto one giant endless 2D plane and zoom and pan around
Nice, a wm with ZUI! There are some X window managers that implement viewports, which also support the 2D plane thing, but not the zooming interface.
jkl
Long time nixers
After a short discussion on the IRC and finding out that macOS has no easy way to do that unless I want to install half of the GNU system, I wrote a tool that lets me ask for today in a week et al. which is handy for planning activities when all you know is the distance between a date and the particular activity’s day.

The current iteration of my code seems to work according to my own specs:
https://code.rosaelefanten.org/dateadder/

I hate to have to solve my own problems...
phillbush
Long time nixers
There is now a wiki to index our personal projects, we can list the software we are working on there.
TheAnachron
Members
Too much to keep track of.

My recent projects:
- blog (50 LOC shell script to generate my blog based on markdown and template files)
- pomo (Script for https://en.wikipedia.org/wiki/Pomodoro_Technique)
- mdps (markdown presentation script that opens the browser to create a simple slideshow with arrow keys to navigate which doesn't pull in 1MB+ of libs from the internet)
- habit (my shell habit tracker)
- dms/mms (My automated document and media management systems which lets me rip media from CDs/DVDs and scan/copy images and automatically tag/sort them and sync them across my devices)
- a lot more
opfez
Members
I recently started work on a 32-bit x86 operating system. As a result of this, I now hate the x86 architecture, but I'm too sunk cost fallacy-ed to quit. Writing a kernel is fun though.

(25-02-2021, 07:54 AM)TheAnachron Wrote: Too much to keep track of.

- blog (50 LOC shell script to generate my blog based on markdown and template files)
I should definitely do a project like this sometime. Right now, my blog is just a php-script that cat(1)'s a text file.
freem
Nixers
working on a monitoring tool which only keeps an eye on daemon's logs, and report if they're down, waking, or up. You can get the logs for specific state of specific daemon, and it's built to handle log rotations.

It prints things with ECMA-48 compatibility in mind, but I intend to make it work with DRM or framebuffer, too. Maybe give it a safety mode, to execve /bin/sh.

I'm still working on it, but my VMs where broken for few weeks, and I just fixed my system, so I'll be able to fix the issues when it's used as a daemon now.
One important thing is, it never allocates memory when it enters it's main loop. I can't prove it, but it should never fail (well... I have some improvements to do here, based on reading of s6 code).
In short, I try to make it a very reliable tool.
freem
Nixers
(25-02-2021, 07:54 AM)TheAnachron Wrote: - blog (50 LOC shell script to generate my blog based on markdown and template files)

I'm curious. What do you do in 50 lines of code? for FILE in *; do cat $header $FILE $footer > $FILE.html; done ?
I mean, there's a lot of things I can see in blogs, like indexing, and I don't see them in 50LoC.
TheAnachron
Members
(28-02-2021, 11:36 PM)freem Wrote: I'm curious. What do you do in 50 lines of code? for FILE in *; do cat $header $FILE $footer > $FILE.html; done ?
I mean, there's a lot of things I can see in blogs, like indexing, and I don't see them in 50LoC.
- Compile template files with markdown content (and variables) into html files
- Generate an index and feed (atom) file for the posts
- Skip non-changed posts/assets from being processed
- Generate a "contents" section with headers of the blog post

I have another 15LOC shell script which adds a bit more complexity (uses some hooks inside "blog") to add syntax highlighting of code, adds quick-svg-icons and alike.
freem
Nixers
(02-03-2021, 04:41 AM)TheAnachron Wrote: - Generate an index and feed (atom) file for the posts
- Generate a "contents" section with headers of the blog post

I'd be curious to see how you did those ones.
ckester
Members
Beginning yet another rewrite of ncplay, my ncurses-based frontend for mpg123. I'm going to scrap the linked-list design I inherited from mcplay and replace it with a more cache-friendly array.

I don't really need to do this for performance, which is already good enough, but I want to see what effect this change has on the clarity of the resulting code. (I'm still rather new to data-oriented programming.)
nvlr
Registered
Writing a new toolkit to replace QT/GTK entirely since it talks to X11 and Win32 directly. I noticed that I may have bitten off more than I can chew at times, but with enough persistence and help, I can get through it.

X11 is such a meme on how bad it is...

1. Try to support clipboard copy and paste, realize that you have to reachitect the toolkit entirely into a bigger mess.
2. Try to separate out the copy/paste into an isolated component where it creates it's own X11 display connection so it wouldn't crash the GUI if something went wrong or timed out.
3. Realizes that the implementation/blog post for covering how it works doesn't work on different GUI Toolkit like GTK4+, but works fine on GTK2 to GTK3...
4. Rage Quit on implementing copy/paste
5. Depression set in when realizing that I have to do that ALL OVER AGAIN for drag and drop via XDND Extension on X11...

You know... if I rewrite the copy/paste mechanism, I would've simplify it to just sharing path to shared memory file with a few meta to tell the client what kind of content it is and be done with it. Wayland is not much better either even if Linux community praised it all the time. I had to write a new GUI Toolkit first before I can even get started on replacing X11/Wayland entirely, because it's a chicken and egg problem.
jkl
Long time nixers
The thread about your favorite scripting languages mentioned awk often enough for me to start finally learning it. (Yes, I am the weird guy who uses Perl and sed and grep without ever having needed more than just “print $1” from awk.)

I thought I should write my own implementation, but there already are dozens of them, so I probably won’t.
ckester
Members
I'm not working on it (yet), but nvlr's post about writing a new toolkit reminded me of something I've had on my ideas list for a while now: implementing the ncurses API directly on top of X and cutting out the terminal emulation layer with all its archaic escape sequences.

If anyone's already done this or has explored the idea in greater depth, I'd love to hear about it.