This is a private, general purpose server. This server hosts many fun things for myself, as well as some open sourced projects for others.

This site contains free software! That means that YOU accept responsibility for anything that goes wrong. Feel free to modify an redistribute the software you find here. But, should you end up shamelessly copying my code, I ask that you cite this source properly.

There is a Gitea instance on this site! Feel free to make use of it!


  • And... We're back! As you may have noticed, we recently experienced a little bit (well -- several months) of downtime. This was due to the fact that the MicroSD card hosting the server failed. If you had data you need on the server, it's likely still here (though this is a different machine). But, as always, send me an email if you have any questions.
  • YaSh-0.0.6 has been released! This latest release is largely a refactor of the 0.0.5 release, but brings several improvements in performance, as well as adds the cl command (cd + ls), and ctrl + z (finally).
  • YaSh-0.0.5 has been released! This release brings with it a lot of improvements, as well as some new features. In particular, we have added multi-argument cd commands and pushd/popd.
  • Today marks the first release of YaSh! In this release, version 0.0.4, we have the basics of a shell implemented. Give it a go! We are excited to begin working on YaSh version 0.0.5, and have already begun to plan some features for the release! Maybe we might hopefully maybe have a shell someday.


YaSh 0.0.8

It has certainly been a while! This is the first release in a very long time. That said, it's a pretty good one (at least, to me).

Not a lot of new features are added this release, but there's been some very major internal changes. Along that line, we moved back to C++17 and began modernizing the old pre-C++11 code we had. Also, we applied the ROS 2 linter to the program, since I'm familiar with that style and the ament_uncrustify toolset is rather nice to use.

In terms of new features, you can now set the variable REV_SEARCH_MODE to UP_ARROW to enable a new way to search through your history! With this enabled, one simply types the prefix and presses the up arrow. All matching commands are filtered from the history. In terms of features, that's about it.

What do you want to see in the next release of YaSh? Please feel free to send me an email or file an issue on our GitHub repository.

YaSh 0.0.6

I cleaned up my mess. That's the big thing with this release. As for features, however, there are a few new ones!

Namely, we have a cl command, which is cd + ls. Pretty nice!

Moreover, we have added the ctrl + z command! You can now not only stop a process, but resume with fg and bg. There is currently no jobs command (cause I forgot that was a thing), but will be adding that to the next release.

We also have a history command! The history command allows you to ... ... see the history! And you can add a "--no-lineno" to get rid of the line numbers it outputs. This is useful for when you need to remember how to tar something, because ORDER MATTERS.

What do you want to see in the next release of YaSh? Please feel free to send me an email or file an issue on our GitLab repository.

YaSh 0.0.5

YaSh-0.0.5 brings with it some performance enhancements, as well as some new features.

The big ones:

You can now move the cursor through multiple lines of text, and backspace is working over two lines of text (this should be trivial, but I cannot seem to get this to be trivial. If anyone knows how to make this trivial, please let me know!). Note: this does not mean that ctrl+a, ctrl+e, ctrl+shift+k, or any other line editing is garaunteed to work over multiple lines.

Multi-argument CD is now a thing. In particular, if you are in a directory, say "YaSh-10" and you want to quickly go to a folder named "YaSh-21", you can simply type "cd 10 21" and you will be in "YaSh-21." You may not readily see the utility of this feature, but rest assured it's there.

Perhaps the coolest feature of this release, you can now do pushd and popd commands. But YaSh now has something unique to it: not only do these commands work, but you can do a pushd with a wildcard!

What do you want to see in the next release of YaSh? Please feel free to send me an email or file an issue on our GitLab repository.

YaSh 0.0.4
This is the release of YaSh 0.0.4. With this release, YaSh is a basic shell, and now has working subshell! This release also includes some MAJOR performance boosts. Cheers!
YaSh 0.0.4-rc
This shell is almost good enough for daily use! The last thing to be fixed before the release of 0.0.4 is the subshell, as well as some performance/memory management checks.
BCC 0.0.2
Status: Much better now! Still needs work, but... It's better.