What are you working on? - Programming On Unix
Users browsing this thread: 33 Guest(s)
|
|||
The Motif toolkit lets you define the maximum and minimum size of an application window in the source code (VendorShell?) Edit: I think it's WMShell.
I thought this would be great for hiding a few controls off-screen without menu bars, etc. To expose them the user just has to maximize the window. My new virtual keyboard (nowhere near done) implements this insane idea. |
|||
|
|||
I've been lately curating a pkgsrc repo for Slackware 15.0. It definitely required some dedication (smaller quirks to fix), but eventually allowed me to easily deploy and maintain software which is not available on the official mirror, without having to rely on SlackBuilds and sbopkg (something which I never regarded as an efficient and reliable method). The repo is built on my amd64 workstation and predictably only includes desktop-oriented software I routinely use. Available at: https://retrobsd.ddns.net/pub/packages/All/
|
|||
|
|||
(21-03-2021, 04:03 PM)ckester Wrote: 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. In case anyone's interested, I've posted the latest version of ncplay on (in?) a gopherhole I asked z3bra to create for me. (It took a bit to figure out how to get things to display properly, but after snooping around in some other users' holes I finally got it working.) gopher://g.nixers.net/1/~ckester/ncplay [HTML] Overall, I'm pleased with new array-based design. I still need to reimplement the helpscreen and add a few other features but I think I'm going to be done with this program soon unless and until I get inspired to do another major redesign. Any feedback or suggestions for improvement (within the stated scope of the project) will be welcome, of course! You can PM me here or send email to the address given in the INSTALL or LICENSE file from the tarball. I'm particularly interested to learn if there are any problems building or running this on a BSD system. So even a report of no problems will be appreciated. |
|||
|
|||
Taking a break from ncplay this week in order to work on replacing my use of the python-based rawdog rss feed aggregator with some scripts built around sfeed.
Pursuant to my comments in another thread about criteria for preferring one program over another. I need to walk my own talk. ;-) rawdog is written for python2.7, so I would probably need to replace it anyway now that the world is going to python3. I prefer a river-of-news style of feedreader that combines all my feeds sorted by date in a single html page I can read in a web browser (I like (f)elinks). I figure if I'm going to need the browser to follow any links in the feed items, I might as well read the feeds in the browser too. No need for a separate reader like newsbeuter, snownews, canto, etc. sfeed ticks all the boxes on my list of criteria, including being written in clean, static-linkable C. |
|||
|
|||
sfeed_html(1) doesn't quite do what I want. It does create a "river of news" when I give it several different feeds combined and sorted, but it omits the content of each feed item and doesn't identify which feed it came from.
But it looks like I can munge together what I want with a bit of awk, first to add a feedname field to the sfeed output, and then (after combining, sorting, and trimming the different feed files) to pour the data into an html template. I should be done with the finishing touches tomorrow. It's yet another example of the power of Unix text processing, a simple pipeline of transforms that practically wrote themselves. Gotta love it! |
|||
|
|||
Just launched a couple of themes for my simple static site generator , mkws!
|
|||
|
|||
I should probably take back what I said about sfeed's code being "clean". It's static-linkable C, true, but after making a more serious attempt to understand its algorithm, I have to say I find it inscrutable.
But then, that's my usual reaction to code that does a lot of parsing. Maybe it will all become clear once I have that "aha!" moment which provides the key to understanding. |
|||
|
|||
I'm working on a Window Maker dockapp.
It is a mpd client that shows the album art on the dock and has a few controller features. Here's a vid: https://ttm.sh/q3O.webm Although I'm testing it on Window Maker, I'm gonna use it on my wm, which also supports dockapps. I wrote it after getting annoyed by notifications popping up everytime the song changes using my old notification daemon, xnotify. It's more discreet, and stays on the dock, not annoying me. I wrote xnotify back when thinking that notifications are a cool feature and that my dbusless desktop need some. But them I realized that desktop notifications suck. Smartphone notifications also suck. I removed xnotify from my xinitrc. I don't know if I'll keep maintaining it. |
|||
|
|||
(05-09-2022, 09:08 AM)adi Wrote: Just launched a couple of themes for my simple static site generator , mkws! I like mkws and am using it for a simple blog (not nix related) |
|||
|
|||
I'm working on a plumber script, here's its config file:
Code: # sample config file for seninha's plumber script (which will probably The syntax is based on plan9's plumb. Different from p9p's plumb, it can set X11 properties (to open things in surf(1)) and run different commands depending on whether I'm wanting to open or edit the file. So it can open a image in nsxiv or edit it in gimp. |
|||
|
|||
Cool stuff, seninha!
Me, I've been making some more updates to my (much more boring) ncplay frontend for mpg123. Mostly coding style and some UI changes to clean things up and address some of the awkwardness I've encountered while using the program. Planning to spend some more time later tonight adding a prompt to get the dumpfile pathname from the user. I've already hacked together a buffergap-based implementation and just need to integrate the code from the stub program into ncplay itself. ascii text only at this point, but I've been looking into adapting the code to support utf8. That will probably wait until later. I made some minor cosmetic changes to the 256-color theme earlier today and need to upload some new screenshots to the gopherhole. I have a few more tweaks I want to do first. But real life intervenes. I need to have dinner, do some laundry, and other mundane tasks. |
|||
|
|||
And here it is: https://github.com/phillbush/plumb
I changed the config syntax a bit. It does not set X properties. I'll just use another program/script for that. The only dependency is libmime to get mimetypes. |
|||
|
|||
Working again on my file manager: https://0x0.st/o5Un.mp4
This time, I've rewritten it from scratch. Thumbnail loading is way faster now. Once cached, they are loaded immediately into the window. Thumbnail generating is also faster than before, but still slow. It has to fork to a script that calls imagemagick, ffmpegthumbnailer or pdftopppm to generate the thumbnail. Thumbnails are now .ppm files rather than .png. It parses fast and does not require linking to a library. If you want to check it out, it's on my github: https://github.com/phillbush/xfiles (06-10-2022, 08:09 PM)seninha Wrote: I changed the config syntax a bit. I have also changed plumb a bit: the user can now specify the path to the config file and can run arbitrary actions on the given arguments rather than simply "open" or "edit" them. I have some time free from college and work. I'm gonna use it to advance on those halted projects. |
|||
|
|||
Minor tweaks to my mpg123 frontend.
Also working on a few other programming projects, big and small, that I'm not ready to discuss. |
|||
|
|||
At work, I have the recurring task of keeping an inventory of all software installed on company computers. I’m writing a desktop application to generate CSVs for that, so everyone stops sending me screenshots instead…
|
|||
|
|||
I created a simple web app that is self contained in an executable, it allows me to keep track of crypto transactions.
It's still very simple but does everything that I need. https://github.com/brunofjesus/cryptotracker |
|||
|
|||
As I (personally) use Fahrenheit, but Germany is mostly a Celsius country, I rewrote my Celsius<->Fahrenheit converter for PowerShell in a portable language: COBOL.
https://code.rosaelefanten.org/cf/dir?ci=tip Works just fine on Windows and non-Windows systems, should support all recent COBOL compilers. |
|||
|
|||
I wrote a license:
https://paste2.org/WktV4zaN Modified ISC, inspired by this: https://sy.nthia.dev/objects/85eddcf7-c7...d4067d9ad4 Quote:software license where you're not allowed to attribute the original author and must pretend that you wrote it yourself |
|||
|
|||
In the beginning, I used ls(1).
Then I wrote a wrapper in Perl that took the output of ls(1) and colorized it, because that was fashionable at the time. Much later, I threw all that away and rewrote the entire thing in Rust (not just the colorizer), because that was fashionable at the time. About a week ago, I threw all that away and rewrote the entire thing in C (and extended it in the process), because ... just for fun. There are some TODOs left. It's now quite customizable (colors, layout, strftime formats, LS_COLORS, ...). All through environment variables, because I'm tired of config.h and recompiling all the time. Discovered µnit, a small unit testing framework for C. I doubt that this program is useful to other people (tools like exa) exist, so I probably won't publish it. But it's fun and that's what matters. :) |
|||
|
|||
Quote:But it's fun and that's what matters. :) I'm finding that to be true more and more nowadays. |
|||
|
|||
(09-08-2023, 12:55 PM)movq Wrote: In the beginning, I used ls(1). I also have my list-directory-entries alternative, dir, which is just a wrapper script around color-tree. "d" is an alias to it. d lists entries of current directory d dir/ lists entries of dir/ d - dir/ recursively lists entries of dir/ d - dir/ foo recursively search for a file containing foo in dir/ Also options -d to ignore non-directory entries, -l to long list mtime and owner information. Since listing directory entries (and changing the current directory) is something we do the most on a shell session, it is reasonable to spend some time working on a dir lister that work the best for you. |
|||
|
|||
As using the WordPress editor is a horrible thing to do, I am currently working on my first parser/lexer project, a WordStar (WordTsar) to Markdown converter. Goal: to be able to use a good word processor for my blog posts. If anyone is interested, I’ll report the progress here.
edit: Done. |
|||
|
|||
Today I received my copy of the new edition of AWK book from the original authors. It's immediately going to the top of my reading stack for computer-related topics.
|
|||
|
|||
Ah, it's already out? Good to know!
|
|||
|
|||
I’m working on my second GNU Emacs package, an “open the whisky under the cursor on Whiskybase.com” function. Turns out that thing-at-point is a both handy and very confusing function.
edit: I'm pretty sure that my package will never be a suitable candidate for MELPA (after all, it fills a niche and its functionality is trivial). I put it in my utilities.el file instead. |
|||
|
|||
You know what sucks with static blog generators?
The fact that you can't have comments without JavaScript. Or ... wait, you can. I have described how. (You'll need PHP, yq and a shell.) |
|||
|
|||
(13-06-2015, 12:14 PM)chc4 Wrote: I've been working on a window manager in Rust off and on for a while. It currently supports gaps, padding, switching between windows, and a tall layout for windows. It doesn't yet do workspaces though, which is the next big thing I need to implement. https://github.com/chc4/galliumInteresting, is it support Debian based distro? |
|||
|
|||
It probably does, why wouldn't it?
|
|||