2025-07-12 10:59 am

Looking for a Distro

I've looked at several lightweight Linux distributions and tried alternative FLOSS operating systems. I keep looking for a distribution with similar goals. I have a lot of experience porting programs to alternative operating systems or compilers. It would be nice to use those skills to build programs and libraries for a lightweight distribution. Unfortunately, I've been having a hard time finding a project to work with. I've created my own build system/lightweight package manager over the years. It makes it extremely quick for me to put together a package for a library or program. However, it makes it very difficult to work with other projects that have their own styles of building projects and their own tools for doing so.

If there is an operating system project out there that could use help, I would love to hear about it. Please let me know. I always hear stories of projects needing help. However, I rarely have any luck getting involved with them when I offer my assistance. Since I've been unable to find a compatible project to date, I've thought seriously about creating my own. The main issue I see is that it's unlikely to be used by anyone but me. That means there's no good way to share work with others. One goal that I'd want in a project of this nature is to offer some form of community. Communities can offer a place to share ideas of which programs are useful. They share tips and tricks about how they use FLOSS in their daily life. So, how do you find a compatible community when you know you're working on a personal project?

Here's my latest idea. What if there was a group that got together to discuss building a lightweight Linux distribution completely from source? There are projects like LFS/BLFS that offer a good starting point. It's also nice to have the opportunity to go off script and use choices that may not be part of LFS or other projects. Having a group would allow for discussion of pros and cons of various libraries and programs. One would also have the power of the group when attempting to debug issues with builds. It would offer an opportunity to share favorite programs and customized patches with each other.

So, if you've been wanting to build your own customized version of Linux specifically for yourself but were uncomfortable doing it with out some sort of support system, how about joining in? You can reach me here, if you'd like to discuss some of these ideas further: https://fosstodon.org/@lmemsm
2025-06-09 10:34 am

Console Based Software

Let's talk console based software and FOSS operating systems. First, some console based software resources I've liked over the years include:
https://inconsolation.wordpress.com/
https://termux.dev/en/
https://archiveos.org/rogue/
http://inx.maincontent.net/

I have some other resources and console program recommendations in other articles I've written here.

I've seen a lot of FLOSS projects try to convert Windows users to Free Software by sharing GUI based Free operating systems that look a lot like Windows. I really don't know if this is the best strategy to convert people to using something else. Wouldn't it be nice to offer something better and more intuitive rather than just copy what another system can do? I certainly do not think this a good strategy for getting die-hard Windows command line users to switch to FLOSS operating system alternatives. Users that started on DOS and graduated to Windows should be a great market to tap into. Many Unix and Linux systems emphasize console based interactions. However, when Free Software advocates try to reach Windows users and get them to switch, they often end up showing off Windows-like GUIs. They leave out a portion of the market. They leave out the Windows users who don't use Windows because of its GUI design.

What about those of us who still prefer a good old-fashioned command line and want to use console or terminal sessions to get the majority of work done? What kind of conversion path to a Free OS is there for us?

FreeDOS is a wonderful option if you just want DOS. Unfortunately, a lot of current hardware support and drivers are lacking. For years, I've had trouble switching to Linux due to hardware incompatibilities and driver issues. Of all the FOSS operating systems I've tried (BSD, FreeDOS, Minix, etc.), Linux has the best driver support. So, if Linux can't support someone's hardware, it's very likely other options like FreeDOS can't either. FreeDOS does do a very decent job of supporting legacy software and hardware though.

ReactOS is a great path for people who want to use a Free Operating system but want the familiarity of Windows. It runs many Windows programs natively. You can continue to write programs using a Win32 API and have them work on the system. Like FreeDOS, it also doesn't have the drivers and hardware support a commercial system does. Theoretically, when they have something fully compatible with Windows, Windows drivers should just work. It's not at that point of development yet. The biggest drawback I had when trying to use ReactOS was stability. Some Windows programs worked perfectly out-of-the-box. Some crash. I would have liked to get more involved with the project and possibly debug some of my issues. I didn't find it an easy project to join in on if you wanted to help with development.

Using Linux with Wine is another option for people who want to keep using their Windows programs on a Free operating system. I even read about a ReactOS side project where someone used Linux and Wine as a starting point for a ReactOS like system. I love the idea of being able to compile Win32 programs on Linux natively with winelib and have them work on Linux. However, the usual usage is to run Windows programs (closed source) with Wine which emulates a Windows system. They don't even encourage building programs from source with winelib. Personally, I've always found winelib hard to build from source and Wine hard to install on my systems. Some Linux distributions support working with it better than others and some Linux distributions come with Wine already installed.

The X Windows alternative nano-x also offers some Win32 support so you can compile some Windows programs and use them on a system with nano-x libraries. You can build nano-x like an X Windows alternative with client/server support. Projects like NanoLinux and XFDos have created desktop environments using it. You can also build everything into one application (the client and server support) and run applications without a separate nano-x based desktop environment. Most projects have used nano-x to build X11 applications without requiring X11 libraries. However, the potential to port some Win32 applications using the micro-windows part of nano-x is there. Also, nano-x works with a wide variety of operating systems and on a wide variety of hardware.

There are several options for Linux distributions that try to attract Windows users either with Windows look-alike GUIs or with WINE offering the ability to continue to run real Windows programs. However, what is there that's been designed to appeal to those of us who are command line users and want to make a switch? Other than distributions used for restoration or rescue systems like grml and distributions that target minimal systems such as Linux distributions you can run from a floppy or CD, there really aren't many distributions that emphasize a command line interface. There are even less if you're looking for active distributions. Termux is an exception and it targets Android users.

Shells like bash or ash may offer more functionality than batch files, but what competes with Powershell on Linux? At least Mono offers an alternative to .NET. Also, someone who works with a lot of batch files may not find the switch from batch to a shell script all that easy. Backslashes are replaced by forward slashes. Commands like cp and mv are similar to copy and move but don't quite work the same way. Type copy filename in a command line on Windows or DOS and it copies the file to the current directory. Try that in a bash shell with cp and no target file name and you could end up with a mess. Similar syntax that works on Windows may end up corrupting files on Linux/BSD/Unix. If a user isn't already familiar with bash, ash or some of the other shells used on Linux, it's not an easy switch. Just switching between a csh and bash can be a real nuisance to Linux users. Imagine switching from batch to bash.

FreeDOS used to be able to run embedded with Linux systems much the way Windows used to allow users to switch between Windows and DOS. I don't know if that's still an option with Linux distributions and FreeDOS, but DOSBox can make a useful alternative if you want to run Linux and some form of DOS together. Using FreeDOS or DOSBox with Linux allows people to keep working with batch and already created batch scripts. The one drawback with DOSBox is that it doesn't allow for long filenames (beyond the 8.3 convention). There may be some patches to DOSBox that fix this. If so, I would love to find them.

I like the idea of using JavaScript at a command line. It makes an interesting alternative to a shell script. Windows offers this option as part of its wsh system. However, the JavaScript used by Windows is non-standard. It has several extensions not used by other JavaScript implementations such as commands to work with the file system. I looked into projects like TeaJS that work on both Windows and Linux systems as a scripting option. NodeJS seems to have become the de facto standard for command line JavaScript. Plus, it's a cross-platform solution. The main drawback I've heard regarding NodeJS is that the API changes rapidly. So, it's not a very stable system to create command line scripts that you want to be using for years to come.

What are some FOSS operating system options that might appeal to command line users? One could start with a minimal system like Debian netinst or AntiX or TinyCore Linux or possibly some of the musl based distributions. Distributions with large software repositories may have some useful command line applications. Inconsolation showcases many console based apps available from repositories. However, some applications may be dated, not actively supported or have such limited usage that they aren't easily found in a repository. In those cases, it may require building them from source if someone wants to work with them. So, no particular Linux distribution really stands out to me as the best migration path for console users who want to switch to a FOSS system.

For me, the easiest migration path is to have FLOSS programs that work on multiple operating systems. I can use them on a FLOSS operating system, but I can also use them at work where we are required to use closed and proprietary operating systems. If a cross-platform FLOSS program saves data in a particular format, it's likely to use the same format across multiple operating systems. It makes it easier to work with and transfer data. It also helps when the commands you learn, function the same in multiple environments.

Here are some command line tools I use on multiple platforms. I do a lot of my music creation using abc2midi and abcm2ps. I use TiMidity++ in console mode or via command line to convert midi files to wave files. I use diffh and a web browser to view file differences. lxsplit is nice for splitting and joining large files. I use lynx to check if a web page is browser-friendly and accessible. I use a lot of archive tools, communications tools such as curl and putty's plink and psftp, database connection tools, etc. from the command line. There are calendar programs like lcal, dictionary and grammar programs such as sdcv and diction, timer programs and more. There are even programs to draw or edit graphics such as gle, netpbm, imagemagick and graphicsmagick and programs to create DVDs such as dvdauthor.

There is a pattern I've seen with Linux for a long time now. There are great FLOSS program options that appeal to many types of users including those who prefer the command line. With software, having lots of choices can be a positive. However, with operating systems, choice isn't always so positive. There are so many Linux distributions and FOSS operating system options, it's difficult to find one that's user friendly and a good fit. With Windows, there's just one source for it and programs that work on one Windows system work on another Windows system. With Linux, it's not one size fits all. There are so many alternatives and often, none seem to be just right. It's hard to use software from one Linux distribution in another, let alone try to get your Windows executables to run properly. Maybe if more of the Linux community adopted the Linux from Scratch motto of your operating system, your way, it would be easier to switch. However, with lots of Linux operating systems, each with their own niche and their own emphasis on certain features and distinct avoidance of other features, it makes it hard for a user that doesn't fit a specific demographic to use a particular distribution. It's even harder for someone who wants to volunteer efforts to help out a distribution to find the right distribution that would accept the type of help he or she would like to offer.

FOSS is supposed to give users a way to get off the merry-go-round of continually needing to pay to upgrade hardware and software. However, it's not always easy to make that switch. Just offering an operating system that outwardly looks similar to a Windows solution so it will seem familiar isn't always desirable. It can be harder for users when software seems almost alike but certain parts don't work the same way or may potentially have devastating results. The cp command overwriting files that copy wouldn't is a good example. Offering GUI solutions to attract Windows users who primarily use the command line is just not an effective strategy.

What techniques or features would make the switch from another operating system easier for you? If you're like me and prefer working in a console based environment, what would your ideal operating system look like? Have you found a FLOSS distribution or FLOSS tools that fit well for you? Please feel free to share some of your more useful FLOSS finds with me on Mastodon.
2025-04-27 12:27 pm

sudo alternatives

I recently had an issue doing an upgrade of AIX Toolbox on an AIX machine and it caused the sudo program to fail because it couldn't find dependencies it needed to execute successfully. I started searching to see if there were simpler alternatives that could do a job similar to sudo and would not have so many dependencies. Of the various options out there, I found three that were interesting.

Doas was created for OpenBSD. There are different versions of the program, including a portable fork called OpenDoas. I tried this version, so I can't say much about the others at this point:
https://github.com/slicer69/doas
The program does build on Linux as well as on the BSD systems. It can use BSD functions on BSD systems for authentication but uses PAM on Linux and other systems. The pam_start function needs struct pam_conv to initialize and part of pam_conv points to a function that handles input. Linux, Solaris and some systems provide functions as part of their PAM library. However, not all systems have a library function to pass to pam_start. I wasn't able to find a supplied function on AIX. OpenDoas appears to have a function as part of the OpenDoas program itself. There are also some simple examples of a function that can be used with PAM available online if you're on an operating system that doesn't have one readily available.

Another option I came across was called please. It only offers the option of PAM authentication. It has the same issues for portability with regards to the function needed by pam_conv. You can find the source code for please here:
https://github.com/gblach/please

The last alternative I experimented with is sup. It's on the recommendations page at suckless.org. The interesting thing about this program is that it doesn't require PAM to work on various systems. That's a nice feature if you're building a minimal operating system and don't have the PAM library built and installed. It has an option to use a hash function to make sure that the user is running the program they're supposed to and not a program with the same name that has been substituted for it. The hash function has a less lenient license than the program on its own. I was thinking it would be nice to use a system library with a hash function instead of needing to use the one provided by the program. However, that would increase the number of dependencies the program requires. The sup program also has a feature to run a program with a fork. As I'm not a fan of the fork function and how many resources it uses and its lack of portability, I avoid that option at all costs. I remember the topic of fork coming up on the musl mailing list. The spawn function was mentioned as a more efficient alternative. Another difference between this program and the other two is that it uses hard-coded settings rather than needing external settings files. This requires recompiling to change options, but it makes it harder for someone else to modify the settings from a security standpoint. Source code for sup is available at:
https://github.com/dyne/sup

Upon further investigation, the sup that the suckless.org site recommends is the earlier version found here:
https://oldgit.suckless.org/sup/files.html
It does not include the hash and fork options and offers a more minimal implementation with straight-forward code.

I've seen some complaints that using sudo or operating/logging in as root can be more insecure. Alternatives may be more secure when they have less code and are easier to maintain and debug. That's one reason they may be attractive. However, the alternatives need to be well written or well tested and debugged or they can be more insecure than the standards. There's also the advantage of security through obscurity. If exploits use sudo, they may not be expecting or looking for an alternative like doas on a system. Many people prefer using whatever's standard assuming that it's secure enough or so many other people wouldn't be using it too. Just as having less code can be more secure, requiring less dependencies can also have security advantages. It's another way to limit the amount of code in a program. Using a shared library can also create security issues for a program that may need to be addressed.

As a cross-platform programmer, I always look for programs that will work on a variety of operating systems. The sudo alternatives port to many systems but many of their concepts won't transfer well to Windows or DOS operating systems. While you can have multiple users on some DOS variants, it's more of a single user operating system and restricting who can run things is not typically an issue. On Windows, this can be important. However, Windows has a completely different way of handling permissions and rights from Unix and Linux systems. I did run across some samples of sudo-like alternatives designed for Windows. However, they work very differently.

It was interesting to find out how programs like sudo or the alternatives I've mentioned function. A sudo-like program is owned by root and has a special permission set on the program file. By setting the suid bit on the file permission of the program, a non-root user can run the program as if they are the root user. A technique like this would not work natively on Windows. One can elevate permissions in Windows using the Windows API. However, it doesn't work in all cases. There's a way to use SeDebugPrivilege to elevate permissions in a program but some organizations turn that privilege off for their users.

Basically any of these types of sudo like programs uses a function such as execute or spawn or CreateProcess to run other programs. They allow a user who typically doesn't have permission on a particular operating system to have that permission by starting another program or process through that program. In some form or other, that program needs to have special rights to run other programs whether the user has the rights to or not.

I find it interesting that root automatically has permissions to copy, move or remove files, no matter what directory. On POSIX systems, running as root really solves a lot of permission issues especially when building and trying to install programs. While Puppy Linux embraces the idea of running as root and some small, single user systems work fine this way, many Unix and Linux systems highly discourage running as root. While it's nice to be able to easily install a program you built, it's not helpful if you accidentally install something over another library or program and cause your system to fail in the process. It's also easier to accidentally remove needed files in a critical directory when you have the permissions to remove anything. For instance, a misbehaving install script could easily wipe out files needed for the system to operate properly. I do feel that critical programs with dependencies, if built statically, have several advantages to programs using shared libraries. They won't fail if there are issues with finding or loading a shared library on the system. Also, someone can't hack the system by having that program load the wrong library with a function that doesn't do what's intended. At this time, static building isn't widely embraced on Linux systems and the GNU glibc library cannot be used to build static programs. One would need to use a C library such as musl if static builds are desired. I personally happen to think there are many advantages to using musl over glibc. However, at this point most Linux operating systems still use glibc. Both using alternatives to glibc and running as root are not mainstream practices and both can be controversial in many sectors. There are pros and cons to running as root versus running as another user. That's what makes programs like sudo and similar alternatives so useful. They give the power of root but can limit what you can do with it to make sure you don't accidentally run commands that could disrupt or cripple the operating system.

Personally, I'd like to see a cross-platform sudo alternative that would work with Windows as well as Unix (including AIX) and Linux operating systems. It would be nice to have a small, simple program that would work for most multi-user operating systems available. I prefer the idea of a more compact program with very limited dependencies. A static build or no extra libraries would have avoided my shared library issue on AIX which caused sudo to fail.

I'd be very intrigued to hear about other sudo alternatives that are available. I'd also be interested in hearing about the pros and cons of security with regards to use of some of these programs. What do you regularly use on your system? What alternatives to root or sudo have you found? What works well on multi-user operating systems beyond Linux and Unix? What are your security concerns using sudo or some of these alternatives and how do you work around them? Feel free to share some of your comments on the topic on Mastodon. I'll be updating this article with more information if I find other lightweight, low dependency sudo alternatives that I like.
2025-03-02 10:38 am

Web browser alternatives

I've been interested in web browser development for a while now. Trying to find a lightweight web browser than can be built independently from source and still supports the ability to view the average modern web page is extremely difficult. I feel like the main browser developers now have so much of a monopoly over web development that they managed to become the web standards committee, taking this job away from the W3C which originally maintained web standards. They control what standards become part of the web and even eliminate the need for certain products. Products like Flash and Silverlight became practically obsolete with the advent of HTML 5. While Flash and Silverlight weren't exactly a boon for Free and Open development, the current web standards are so difficult to develop for that independent commercial and Free/Open development alike are both at a loss to keep up.

Some of the browsers I was able to build myself included Netrider, D+ and lynx. Netrider ( https://sourceforge.net/projects/netrider/ ) is based on an older version of webkit. It has a FLTK front end, but was designed to easily allow for other front end development using other GUI libraries. I've used it with SDL and other options. I also ported it to work on Windows so it provided a cross-platform solution. D+ is an older fork of Dillo. Unlike Dillo it works on a variety of operating systems including FreeDOS. Lynx is a text based browser.

There were several text browsers at one point but now development seems to have stopped. Originally one could surf the web using just a text based browser but trying to do so now, is extremely difficult. Many web pages just don't render well in text alone. This is doubly troubling because it's removed the ability for many to use text based browsers and it's made it more difficult for those who are visually impaired to surf the web. I often used text browsers to make sure that the web pages I created rendered well and were easy to navigate. This was one test I used to ensure the pages were user friendly for the visually impaired and the browsers they often use. Some other older text browser projects include links, links2, elinks, w3m. Links was an interesting project as far as text browsers go because it allowed some viewing of graphics using the Linux framebuffer or SDL.

Fifth ( https://github.com/clbr/fifth ) is also an interesting web browser alternative. It's available as a package for TinyCore Linux. Like Netrider, it's based on an older version of webkit and provides an FLTK front end. Unlike Netrider, it's not as portable to other platforms such as Windows.

I looked at netsurf at one point because it's one of the few active independent web browser projects out there. I was unable to build it myself from scratch. It had several libraries, little documentation on building and I had difficulties finding out which version of which library worked with the others. So, I had no luck getting it to build independently as a cohesive project.

Some suckless.org developers solved the issue of getting a modern day web browser to build from source by adopting surf. Surf uses webkit and a GTK GUI front end. The Linux from Scratch project currently includes lynx, links and these browsers in their documentation: https://www.linuxfromscratch.org/blfs/view/svn/xsoft/graphweb.html

There are several interesting independent browser development projects but like surf, they typically use libraries such as webkit or gecko from a larger web development project.

Some independent operating systems are trying to find a way around the browser issue by developing their own. Ladybird from SerenityOS is an example of this: https://ladybird.org/

Some developers are trying to simplify browser development by creating an alternative to the HMTL 5 standard. This is where Gemini comes in. Unfortunately, Google has renamed their AI to Gemini as well which makes it difficult to search for information on the Gemini protocol. One can read more about Geminispace here: https://geminiprotocol.net/ There was an interesting critique of the Gemini protocol from the developer of curl: https://daniel.haxx.se/blog/2023/05/28/the-gemini-protocol-seen-by-this-http-client-person/ I'm not sure if any of his issues have been addressed but so far, Gemini hasn't hit the mainstream for replacing the World Wide Web and HTML 5. I have to say, I do like the looks of the Gemini based web sites. However, not all Gemini browsers can render all the sites. The protocol is still evolving and some functionality is experimental. So, it seems to share some similar issues with World Wide Web surfing.

The problem of being able to easily build a web browser from source without requiring a huge number of libraries has been around for a while now. It appears that it will continue to be an issue for independent operating systems and lower resource computers for a long time to come. It would be great to find solutions that would make web browser development less of a monopoly only attempted by major players. I'm surprised groups like the Free Software Foundation don't feel this is an area that should be considered for their High Priority Projects. I guess many believe that as long as there are Free, Libre, Open Source browsers out there that provide source code, it shouldn't matter that it requires a large organization just to build them while building from source is out of reach for the average developer. However, my personal philosophy is that one of the key advantages of Open Source is to be able to build and modify the code for yourself. If I'm unable to do that with a project, it loses a lot of its usefulness for me.

Here's a short but in no way all inclusive list of some web browser projects that avoid using major web libraries such as as webkit and gecko:
https://ladybird.org/index.html
https://www.netsurf-browser.org/
https://github.com/CobaltBSD/neosurf
https://dillo.org/
https://sourceforge.net/projects/dplus-browser/
https://github.com/textbrowser/dooble
https://lynx.invisible-island.net/

That's a quick rundown of the state of alternative browser development. If I've missed any other relevant FLOSS browser or Open protocol options, you can reach me on Mastodon and let me know.
2025-01-04 04:11 pm

Shell Environments for Windows

I remember sending in a bug report to the developers of GNU make. They refused to fix the bug because cygwin and msys bash were, in their opinion, the only viable shell options on Windows and the only environments they wanted to officially support. When I tried to build autoconf with a natively built version of make on Windows, it just hung. There's also the problem of using make on Windows without a shell. The command prompt has a limitation of how many characters can be passed to it. Typically, it's not enough to be able to run many of the commands used in standard makefiles. So, using make with a shell on Windows is a requirement to work with typical makefiles from many Free, Libre and/or Open Source software projects.

Several years later, the landscape for Windows has changed. It's still incredibly hard to find a standard port of POSIX shells outside of Cygwin, msys and now msys2 projects. However, there are options. Some of the older options that were around when I reported the bug are winbash (an older version of bash natively ported to Windows) and winZsh (which has not been maintained for a while). More recently, with the port of busybox to Windows in the busybox-w32 project, we have access to a modern shell. That project makes the ash shell available. It can run natively in Windows. The one drawback is that you need to build busybox-w32 on a Linux machine with a cross-compiler. I did recently manage to build ash natively on Windows with a lot of patching and my own custom makefile. Another option is to use midipix to build bash or other shells but it has similar licensing constraints to Cygwin and the msys projects. An alternative that I haven't seen a lot of information about is using bash from WSL via the Windows command prompt. You actually don't need msys or similar environments with this option. You can run a cross compiler and Linux tools via WSL and access them all from a standard Windows command prompt outside of WSL. That opens up a lot of possibilities. There were other projects that were supposed to port shells to Windows that still haven't shared much in the way of results. I remember offering to work with the developers of the mksh to port it to Windows. They said they already had someone working on the port. I've yet to see a publicly available, natively built mksh running on Windows. Plus, with all these Windows shell options, I still haven't seen a fix to the GNU make project. I do continue to patch my builds of make with my own patch for the issue.

WSL is great for development on Windows. Even with WSL, Busybox-w32 and environments like Cygwin, msys2, msys and midipix, I still like the idea of a minimal native build system and shell. I'd like something I can build from source for myself on Windows. I'd also prefer to use tools with more lenient Open Source licenses over GNU GPL and AGPL options. I'm going to be experimenting with replacing the msys environment on my system with more native options that don't obscure my actual file path names and don't require compatibility with GPL licenses to get POSIX style core utility programs to work. I will still need some standard POSIX style utilities and programs if I want to build FLOSS projects that use GNU autotools. However, I've been avoiding using cmake for FLOSS projects that use it by creating my own build files. I may start doing that in the case of some FLOSS projects that use GNU autotools. libressl comes to mind since a change to their build scripts made them no longer work on Windows and I've yet to hear if they'll fix the issue or not. I've been using cDetect, GNU make and pkgconf for my build scripts. I wish someone would come up with a simpler replacement for GNU make that still offered enough flexibility to build FLOSS projects that require make.

The build environment I'm working towards will probably look like the following... I'm building ash from Busybox-w32 natively with my own scripts. I'm using a combination of POSIX style core utilities from projects such as Minix, sbase and BSD. I'm hoping for compatibility with Open Group standards not necessarily with GNU standards for the various utilities. At the moment, I'm using the GNU gcc compiler built from source. However, llvm is a nice option. I just haven't seen an easy way to build it from source on Windows. My main goal is to be able to build all parts of my environment from source code. It may not have as many features or as much compatibility as other development environments available on Windows. However, I like the idea of being able to modify and change the source code of every tool I use whenever I want to. One other thing I'd like to look for is a console program that I can build natively with my C compiler. If I get everything working for Windows, a lot of it will probably port to other environments fairly easily.

I know most people prefer to just download a prebuilt environment or let their package manager do that for them and they don't care about the ability to build every part of their development environment from scratch. However, if this does sound interesting to anyone else, if you're working on something similar or if want to discuss parts of this project with me further, feel free to contact me. You can reach me via Mastodon or Bluesky.
2024-09-20 07:41 pm

Software Freedom Day 2024 Resources

Thanks to everyone who helped make Software Freedom Day 2024 a success. The official highlights page has been moved to https://digitalfreedoms.org/en/sfd/blog/software-freedom-day-2024-highlights

We hope you'll join us for future Software Freedom Day celebrations and help us reach even more people.

With FLOSS software, you're free to share your favorite programs with your friends.
With that in mind, I'd like to share some interesting web sites and resources to help you find great Free, Libre and Open Source alternatives to popular commercial software:

https://alternativeto.net/
https://www.opensourcealternative.to/
https://opensourcesoftwaredirectory.com/home-users/last_added
https://www.craftsmanspace.com/free-software/free-alternatives-to-commercial-software.html

You can also check out sites that offer FLOSS for download and package managers that help you download Free software.
https://portableapps.com/
https://chocolatey.org/
https://appimage.org/
https://portable-linux-apps.github.io/
https://github.com/clibs/clib/wiki/Packages
2024-06-24 11:58 am
Entry tags:

Text User Interfaces

I'm investigating ncurses/pdcurses and various other implementations of the curses library. Since there are several, I thought it would be useful to start a list to keep track of them all.

ncurses
https://invisible-island.net/ncurses/
ncurses is typically the mostly widely used variant of curses.

PDCurses
https://github.com/wmcbrine/PDCurses
PDCcurses has been used for a long time on DOS and Windows machines. ncurses did not originally have a Windows port and still does not include a DOS port. So PDCurses is used in that situation. PDCurses added a simple X11 backend which works with older versions of X and later SDL 1 and 2 backends so that it will work anywhere SDL does. That makes it useable with mobile devices or Webassembly.

PDCursesMod
https://www.projectpluto.com/win32a.htm
https://github.com/Bill-Gray/PDCursesMod
PDCursesMod is a fork of PDCurses that adds a Win32 backend. The original PDCurses only supported console mode in Windows.

NetBSD-libcurses
https://github.com/sabotage-linux/netbsd-curses
NetBSD had it's own version of curses. The version used by Sabotage Linux and some other lightweight Linux distributions is based on the NetBSD version but ported to work on Linux.

TinyCurses
https://github.com/tommyettinger/TinyCurses
TinyCurses is a subset of curses that uses SDL 1.2 for rendering.

incurses
https://github.com/infinnovation-dev/incurses
A minimal implementation of curses for embedded systems.

mcurses.h
https://github.com/yui0/slibs/blob/master/mcurses.h
An implementation of curses as a single header library. It uses termios.
2024-06-03 10:14 am

Well-Being Strategies

I was recently asked for some references to psychological and self-help books I found useful. Thought I'd collect it all in one place.

I've found meditation and biofeedback extremely helpful in coping with life's challenges.

Any of the visualization books by Gerald Epstein are great reads.

For more on meditation and coping strategies, Pure Edge Inc. has some wonderful videos and webinars.
https://pureedgeinc.org/

Breathing can have a profound effect on mental state. Taking a few deep breaths when stressed can quickly move a person from a sympathetic nervous state to a parasympathetic state. Books like Breath: The New Science of a Lost Art by James Nestor go into more details. I've found Buteyko breathing which Nestor described to be a helpful way of temporarily lessening the pain of migraine attacks. Breathing techniques such as starfish breathing described by Pure Edge, Inc or the alternative nostril breathing technique are great coping mechanisms.

Here are some courses I've taken on the importance of meditation and mindfulness that I thought were useful:
https://palousemindfulness.com/
https://www.coursera.org/learn/the-science-of-well-being
Finding your strengths was mentioned in the Science of Well-being course:
https://www.viacharacter.org/character-strengths

While mindfulness can be helpful in some cases and helps some people more than others, there are other forms of meditation. Creativity, mind wandering and thinking of the past and/or future which is characterized by theta states are often at odds with mindfulness practices and being in the present moment. However, they coincide well with other forms of meditation and help some people who find living in the present moment not as useful for their particular situations.

Scott Barry Kaufman shares an alternative view of mindfulness:
https://blogs.scientificamerican.com/beautiful-minds/my-mindfulness-journey/
The book Mindwandering by Moshe Bar goes into more details on the positives of using that technique.

This brings me to flow states which are a wonderful coping mechanism. Both those that advocate mindfulness and those that advocate for alternatives like creativity, mind wandering and not being in the present moment often mention flow states as a useful technique. Ironically both groups find this technique compatible with their philosophies. Some see flow states as being in the present moment while others see it as being more in a theta brainwave state where one has access to past and future memories. There's more information on flow states here:
https://en.wikipedia.org/wiki/Flow_(psychology)

I have a theory that those who tend to be high in openness on the Big Five (psychology's gold standard for personality tests) also tend to be more prone to flow states and more comfortable with creativity and mind-wandering.
https://bigfive-test.com/

Discussing flow states seems like a natural segue into monotropism which can have a strong connection. Monotropic thinking can encourage flow states.
https://monotropism.org/
https://dlcincluded.github.io/MQ/

Another set of psychological concepts that I found interesting was related to defensive pessimism, vantage sensitivity and spoon theory. The mind and the body are connected and living with chronic pain can affect mood.

Spoon theory is an interesting way of viewing living with chronic pain. Here are some articles related to spoon theory:
https://en.wikipedia.org/wiki/Spoon_theory
https://despitepain.com/how-to-stop-pain-destroying-your-social-life/

There is so much material on resilience these days but what about coping mechanisms for those who either do not value resilience or have chronic conditions that have worn away their resilience?
Vantage sensitivity provides an interesting theory that puts resilience on one point of a spectrum and sheds light on the positives of being less resilient. The theory fits in well with some HSP tendencies.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5959990/

Defensive pessimism can be a useful technique for some including many with chronic conditions or highly sensitive personalities. Like vantage sensitivity which shows there are alternatives to resilience which can be beneficial, defensive pessimism highlights that not everyone needs to be an optimist in life. Some actually do better using pessimism as a tool. Again, this can be useful for those with chronic pain and health conditions.
https://theconversation.com/the-surprising-benefits-of-being-a-pessimist-91851
https://greatergood.berkeley.edu/article/item/how_to_harness_the_power_of_negative_thinking
http://academics.wellesley.edu/Psychology/Norem/Quiz/quiz.html

Another important aspect of well-being is the gut-brain connection. We like to think that if we can control our thoughts and emotions, we can control how we feel. However, not everything is centered in the brain as often believed in Western philosophy. TCM includes the idea of three dantians. The upper dantian can be correlated with the mind. The middle dantian can be correlated with the heart and lower dantian with the gut. We're just finding out in Western medicine that the heart has neurons similar to the brain. There is also a gut-brain connection. The microbes in our gut can affect our thoughts, moods, health and even IQ levels.
https://pubmed.ncbi.nlm.nih.gov/31728781/
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6469458/

Having a proper diet can affect the make-up of the microbiome. No one diet is right for everyone as is explained nicely in this video:
https://www.youtube.com/watch?v=p97VbFFT8pU
Changing the microbiome can have a profound effect on mental states. Lack of (or too much of certain) minerals, electrolytes or vitamins can affect mood and well-being. Food with natural probiotics and high fiber foods have been linked with longevity, better mood and diversifying the microbiome. As with the case of no one diet being right for everyone, for some people, probiotics are more useful and for others, fiber is more useful in improving the gut microbiome.

Forest bathing, awe walks, gardening and similar techniques can all affect mood. Some believe it's being in a mindfulness state that helps. Others say it's the exposure to microbes from the soil and plants. Sunlight exposure can have an effect as well. Certain EMDR techniques discuss how specific eye movements and walking forward (towards a direction rather than initiating a flight or freeze response) can be helpful. These types of techniques are all a form of healthy exercise and exercise can be very beneficial. So there are many reasons why these types of coping strategies can affect and improve health.
https://www.health.harvard.edu/mind-and-mood/awe-walks-inspire-more-joy-less-distress

Sleep is also incredibly important for mood, mental and physical health. Diet and sleep can be interrelated. Vitamin D which is actually a hormone (not a true vitamin) can affect sleep and is involved in many functions that regulate the body. We derive a good portion of our vitamin D from sunlight. Some people have seasonal affective disorder which is noticeable when a person does not get enough exposure to light. I've heard many recommendations during the pandemic for taking supplements of extra vitamin D if your levels are low. The theory is that it helps the immune system. However, some studies have found that taking it is not nearly as effective as actual exposure to light. Light is also an important part of regulating circadian rhythms which include the sleep cycle.
https://www.sleepadvisor.org/morning-sunlight/
https://www.sciencedaily.com/releases/2021/09/21091509540I8.htm

There's a lot of interrelationship between diet, light and sleep. Another key factor for mood is exercise. Many studies often find specific exercises work as well as popular medicine for certain conditions. In the article, "A Wandering Mind Is an Unhappy Mind", which is often referenced by mindfulness advocates, there's a chart of activities in relation to happiness. The article discusses how mind wandering scores poorly and mindfulness scores well. However, when you look at the chart, pleasant mind wandering also scored in the positive range and exercise scored higher than mindfulness.

Another positive activity that scored higher than mindfulness was related to music. Music can profoundly affect health. It can also affect mood. To notice the effects of music first hand, just try watching a movie or TV show without the music soundtrack. Cambridge Institute for Music Therapy Research has some fascinating studies going on about how music can affect people.
Here's one video I was very impressed with on sound therapy:
https://www.youtube.com/watch?v=xgDg2PP_oHw

One form of music that has been shown to affect mood is bird song. It's yet another reason why awe walks and forest bathing are helpful techniques. It's also another example of the efficacy of music in affecting mood.
https://www.audubon.org/news/more-birds-bring-more-happiness-according-science

I've been searching for good resources related to grief. I really haven't found any grief specific reference materials out there that I felt were very helpful. I personally found exercise practices such as Qigong and Tai Chi more effective strategies for dealing with grief than reading about it, attending support groups or being in nature. However, these newsletters do go over some basic concepts about grief:
http://continuingcare-sandiego.kaiserpermanente.org/Support_Home.html

The topic of grief brings me to the concept of glimmers. Techniques like glimmers and flow states are possible techniques that may be helpful for people dealing with negative emotions such as grief and loss or other stressful situations.
https://www.verywellmind.com/what-is-a-glimmer-5323168

One other self-help book I found very informative was Wishcraft.
http://wishcraft.com/

I'll update this as I think of other useful references. Hope this is a helpful starting point.
2024-01-12 01:09 pm

Open Source Science and Education Platforms

Miscellaneous links related to Open Science and Education.

Open Science Framework
https://osf.io/

Tilburg Science Hub
https://tilburgsciencehub.com/

PLOS
https://plos.org/
https://journals.plos.org/plosone/

Cornell University's arXiv
https://arXiv.org

bioRxiv
https://www.bioRxiv.org/

medRxiv
https://www.medRxiv.org/

Zenodo
https://zenodo.org/

Directory of Open Access Journals
https://doaj.org/

Open Library
https://openlibrary.org/

Open Ed Tech
https://openedtech.global/

My list of Open Education Resources
https://lmemsm.dreamwidth.org/14440.html

Open Source Seeds
https://www.opensourceseeds.org/en/home

Virtual Microscope
http://virtual.itg.uiuc.edu/
Virtual Laboratories
https://academixproject.com/en/virtual-laboratories/

gpapers - Gnome Based Scientific Paper Organizer
https://code.google.com/archive/p/gpapers/
2024-01-12 12:42 pm
Entry tags:

Autism Support Links

I previously put together a list of HSP resources. I've been wanting to put together a list of additional resources geared toward the autism spectrum. This is by no means comprehensive.


Autism Forums:

Wrong Planet
https://wrongplanet.net/forums/

Asperger's & Autism Forum
https://www.autismforums.com/


Aspergers mailing list for Mensa members:
https://aspergers-mensa.groups.io/g/main


Autism Support Groups:

Autistic Women's Group
https://autisticwomensgroup.com/

Peer-Led Autism Group
https://peersupportspace.org/community-gatherings-1

AANE
https://aane.org/services-programs/group-services/support-groups-community-connection/

Autism from the Inside - [ONLINE] Social Meetup Group
https://www.facebook.com/groups/722729774905114

If you'd like more general information on ASD or help finding qualified mental health professionals in your area, you can contact:
https://www.nami.org/

Site to meet other singles with autism. (Use at your own risk.)
https://www.aspie-singles.com/


Interesting theory on Monotropism:
https://monotropism.org/
Someone came up with a test for monotropism tendencies:
https://dlcincluded.github.io/MQ/

Other autism related tests:
https://embrace-autism.com/autism-tests/


Someone created a github awesome list related to ASD:
https://github.com/aspergirl-git/awesome-autism


Books:

All Cats Are on the Autism Spectrum
https://openlibrary.org/works/OL22144219W/All_Cats_Are_on_the_Autism_Spectrum?edition=key%3A/books/OL30172640M
All Dogs Have ADHD
https://openlibrary.org/works/OL21440201W/All_Dogs_Have_ADHD?edition=key%3A/books/OL29532519M
All Birds Have Anxiety
https://openlibrary.org/works/OL21601732W/All_Birds_Have_Anxiety?edition=key%3A/books/OL29331277M


Open Education Resources:

Autism Theory and Technology
https://oercommons.org/courses/autism-theory-and-technology


Research group
https://sparkforautism.org/

Other ASD related sites:
https://tacanow.org/
2023-10-03 08:35 am

CSV Utilities

This list is to consolidate information on basic CSV related utilities and libraries. If you know of other interesting CSV resources, code or have some tips and tricks for making the most of the CSV format, please share them.

Some useful CSV libraries:

https://github.com/rgamble/csvutils
https://github.com/rgamble/libcsv

https://github.com/wlbr/csvfix
https://github.com/dbro/csvquote

Pager with CSV support:
https://github.com/okbob/pspg

SQLLite can work with CSV.
https://www.sqlite.org/csv.html

I've accessed CSV using PERL and DBI.
https://github.com/perl5-dbi/DBD-CSV

ODBC:
The Microsoft Text ODBC Driver is standard on Windows. So it's free even if it's not Free.
https://support.microsoft.com/en-us/topic/creating-an-odbc-data-source-with-the-microsoft-text-driver-74367d5b-8a17-6310-ce15-a1c47858964a
Hopefully there are drivers for UnixODBC or iODBC. However, I couldn't find any links with a quick search.

I used a wonderful jquery plugin in one of the sites I created. It took a CSV file as input and created a HTML table that could be viewed and sorted. I was also able to add stripes (different colors to alternate rows) using CSS. For accessibility, I gave the direct link to the CSV file in the noscript tag. So, if someone did not want to run JavaScript, they could see the contents in the file rather than on screen in a web browser. Here's the jquery plugin I used:
https://web.archive.org/web/20090227064509/http://plugins.jquery.com/project/csv2table
Code for the project is available here as well:
https://github.com/toshirot/csv2table
2023-09-11 10:46 am

Tutorials for Learning C

I keep losing my list of interesting C tutorials and can't find them whenever I talk to someone who wants to learn more about C. Also, the links get out-of-date after a while. So, I'm sharing my list here and will try to keep it somewhat up-to-date.

Coding examples in several languages:
https://pleac.sourceforge.net/

How to write your own text adventure in C:
https://helderman.github.io/htpataic/htpataic01.html

Tutorial on building Lisp in C:
https://buildyourownlisp.com/

https://en.wikibooks.org/wiki/C_Programming
https://github.com/angrave/SystemProgramming/wiki/C-Programming,-Part-1:-Introduction

My absolute favorite compiler design book:
https://holub.com/compiler/

Some lists of resources:
https://github.com/Michael0x2a/curated-programming-resources/blob/master/resources.md#c
https://github.com/progdisc/resources#c
https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c
https://web.archive.org/web/20180418203349/https://github.com/rby90/Project-Based-Tutorials-in-C
2023-08-28 08:22 am

Web-based Open Source

Thought it would be fun to consolidate my list of Open Source apps that work via the web. You can use them right in your browser without having to download or install any software.

There are several web/server based FLOSS projects. Plus, it's now easier than ever to convert some popular desktop Open Source projects to the web using techniques such as Web Assembly. I'll add other examples to this list as I find them.

One of the best collections I've found that lists several FLOSS projects designed to work through a browser over the Internet is Libre Projects:
http://libreprojects.net/
It's been around a while, so I don't know how up-to-date the links are but it has some great examples of web based projects that share their source code.

If you're a fan of Audacity, the audio editor, or Tenacity, a great fork of audacity, check out this online fork of the audio editor:
https://wavacity.com/
https://github.com/ahilss/wavacity

Some other projects by the developer of Wavacity:
https://dj.app/
https://life.dj.app/

Here's a video editor:
https://d2jta7o2zej4pf.cloudfront.net/
https://github.com/shamadee/web-dsp

TinyGL has been ported to the web. Click on the graphic examples to see them in action. I personally like the Atlantis example with the whales:
https://github.com/humu2009/tinygl.js

I've a huge fan of the JavaScript aquarium written in under 20 lines of JavaScript. There's also an asteroid game in under 20 lines.
https://web.archive.org/web/20190128002213/http://www.codecouch.com/dansCode/snippets/zoo/index.php
http://www.ozoneasylum.com/24905
https://www.ozoneasylum.com/25666

Here's another interesting online aquarium:
https://lrusso.github.io/Aquarium/Aquarium.htm
https://github.com/lrusso/Aquarium

You can have free web based meetings using Jitsi Meet:
https://meet.jit.si/
https://jitsi.org/downloads/


I've collected the online examples from my educational games list:

2048
https://play2048.co/
https://github.com/gabrielecirulli/2048

Anagramica
http://anagramica.com/
https://github.com/binarymax/anagramica

Everything Attacks
https://github.com/dulsi/everythingattacks
http://identicalsoftware.com/everythingattacks/

Follow Me
https://www.sandeepnambiar.com/follow_me_javascript_simon_clone/
https://github.com/gamedolphin/follow_me_javascript_simon_clone

Hextris
https://hextris.io/

LGames
https://lgames.sourceforge.io/LMastermind/
https://lgames.sourceforge.io/LMemory/
https://lgames.sourceforge.io/

Tuxmath online
https://tuxmath.org/index-en.html?opt_lang=en


More resources:

[profile] kribbel@mastodon.social recommended Stendhal. It requires a login, but it's FLOSS and it looks like it could be a lot of fun.
https://stendhalgame.org/index.php?id=content/account/login&url=/account/mycharacters.html
2023-05-22 04:11 pm

SDL Migration Options

I've been using SDL for a long while now. The newest version of SDL 3 will require migrating from SDL 2 versions. Like the switch from 1.2.15 to 2, it will once again break backward compatibility. It will remove support for several older platforms and change the API. The good news is that SDL 3 will have a compatibility layer much sooner than SDL 2 did. I'm still patching some of the SDL 1.2.15 programs I use so that they'll work with either SDL 2 or SDL 1.2.15. In my experiences with it so far, patching seems to work better than using the compatibility layer for SDL 1.2 support. SDL 3 will make more use of the GPU and modern graphics libraries and drivers. From what I've read, it'll introduce a new, portable shader language. So, you may now need more than just a C compiler to write programs. I prefer working with a minimal number of languages and compilers and am not looking forward to some of the new changes SDL 3 may bring. This leaves me wondering if I should seek another graphics/GUI library for more of my development.

I've looked into GUIs, TUIs and graphics libraries in the past and I really wasn't thrilled with most of the options out there. Besides SDL, Raylib seems very promising. It doesn't have the variety of FLOSS applications SDL seems to though. Using OpenGL directly can be just as problematic as SDL because its API keeps changing as well. So, GLFW may not be a great strategy either if the OpenGL compatibility it makes accessible has a changing API. Nano-X seems fairly stable and works on a variety of operating systems. Allegro is often used for applications similar to those created by SDL. However, differences between the versions it supports and what platforms those versions offer is also noticeable. I often use pdcurses with an SDL backend, but pdcursesmod works very well on Windows using Win32 and can also support console mode in Windows and BSD-curses and ncurses offers some benefits over pdcurses on POSIX systems. So, while I've found pdcurses built with SDL highly portable and useful (I even added SDL 2 and SDL2_ttf support), programs that build with pdcurses should port easily to other libraries that don't require SDL.

There are some platforms that only work with SDL 1.2.x and are not supported by later versions of SDL. The same will most likely be true for SDL 2 compared to the latest version of SDL 3. I'm wondering if I should keep using and patching the current SDL 2 and 1.2.15 libraries I've been working with or just make the switch to a new library. I'm also wondering if other developers are in the same situation, trying to determine whether to continue with what they have or port what they can to yet another graphics library or a later version of SDL. If there's interest from other developers in continuing to use older versions of SDL because of platforms they supported or portability issues, it would be nice to collaborate in continuing to maintain these libraries. It's easier to find security issues and bugs when there are a group of users rather than just one programmer using it.

I am currently working on backporting the latest SDL 2 helper libraries so that as many as possible work with SDL 1.2.15. That way SDL 1.2.15 can make use of newer features like loading and rendering SVG images, better utf-8 support, etc. I have a patched version of SDL2_ttf that adds functionality needed for sdl_unifontview to work properly. I've also been adding an alternative build system that doesn't require GNU autotools or cmake. It instead uses CDetect and make.

As one of the earlier contributors to MinGW, I use the original MinGW port to Windows and try to avoid the hostile fork of MinGW whenever possible. Unfortunately, many libraries do not maintain compatibility with the original MinGW compiler. The newer the libraries are, the less compatible they typically are. So, while SDL 1.2.15 is no problem to build with MinGW. SDL 2.26.5 is a nightmare. I'm currently looking into some issues related to building it with the original MinGW now. I maintain my own version of w32api based on the last public domain release and have been trying to add enough functionality to it to compile many of the more modern standard FLOSS libraries. I also built SDL 2 on AIX at one point to experiment with running SDL applications on AIX via X-forwarding. So, I have patches for that as well.

I've started a thread on Mastodon:
https://fosstodon.org/@lmemsm/110413981373101611
Would be very interested to hear how others are dealing with the SDL upgrade path and whether they will be upgrading, staying with what they have or seeking other libraries. If anyone's considering the route of maintaining older libraries, I'd be very interested in sharing resources and patches.
2023-05-12 01:28 pm

calendar program

I've been investigating calcurse which is supposed to have support for importing and exporting ical format and exporting pcal format. It sounded like it could integrate well with the other software I use. It has a calendar, information about appointments and a todo list. So, it covers a lot of the functionality I am interested in. I don't find the interface immediately intuitive, but there is documentation. I prefer programs that will work on any operating system I'm using. That means I need Windows support when I'm at work. I could not find any ports of calcurse to a Windows system. The code includes fork and other non-portable functionality which makes porting a nuisance. I did find a DOS version of calcurse. So, I figured if it had been ported to DOS, it could be made to work on Windows. I didn't read the fine print and the DOS port mentions the program hangs on exit and doesn't handle shelling to other applications properly. I went ahead and debugged those issues as best I could. It currently seems to be working on Windows with enough functionality to use it. Haven't figured out how to integrate it with my workflow yet, but it's at least a step toward some progress. I can get it to build with modified code, but I have not put in the work to attempt to automate the building and patching processes. If I'm just going to use it for myself, I may not need to go through that effort. However, if I want to share it and I want to be able to reproduce building on Windows easily, I need to set up my build scripts and create patch files. So, now I'm curious. Is there anyone other than me that would like to have calcurse working on Windows?
2023-05-09 10:44 am

Android on Windows

Slow Android emulators to test Android programs may be a thing of the past on my current Windows system. I downloaded and installed Windows Subsystem for Android. It's a convenient way to test out apps you've created without having to resort to installing VirtualBox and Android x86 or using other alternatives such as Qemu or some of the very slow Android app emulators.

If you want to try out other Android apps on your Windows system, you can do that as well. It may not look like there's a wide variety of apps to choose from at first glance. Windows Subsystem for Android comes with Amazon Appstore instead of Google Play store. I've seen some reports of getting Google Play store working but it doesn't seem worth the effort and really isn't necessary. If you're just going to test your own apps, you don't need an entire app store. However, it is fairly easy to get F-Droid installed on Windows Subsystem for Android. Most of the apps from F-Droid work very well in an emulator. F-Droid had more than enough apps for my needs. Also, there are other repositories such as IzzyonDroid that can be added to F-Droid giving even more options to choose from. Finally, there are sites, such as APKPure, that will allow you to download apk files directly. Once you have the apk file, you can install the app yourself.

The basics for installing apk files in Windows Subsystem for Android follow. First, download a copy of the Google Android platform tools for Windows. adb is the program that is required from the platform tools. Start up an Android app, any Android app, in Windows Subsystem for Android. This makes sure that Windows Subsystem for Android is currently running. At the command line, type:
adb connect 127.0.0.1:58526

Once a successful connection is made, most apk files can be installed from the command line using a command similar to the following:
adb install file.apk
Substitute the actual name of the apk file for file.apk in the command.

What if you have an xapk file instead of an apk file? Rename it to a zip extension. Use a tool like unzip to extract the files in the xapk. Use the command adb install-multiple with a list of the extracted apk files.

That's all there is to it. Once that's done, you can easily install Android apps and run them on Windows. I found some actually run better on Windows than on a phone. However, some did not fit the screen well and some required Bluetooth which is not yet supported in Windows Subsystem for Android. Still, you can run quite a nice selection of apps and you can use it to test your own Android apps as you develop them.
2023-05-05 01:48 pm

Inertia Alarm Program

I've continued my search for organizing software ( https://lmemsm.dreamwidth.org/25452.html ). I've tried several options available from F-Droid and Google Play. I've run across interesting concepts such as using gamification and rewards systems to encourage new habits or complete large tasks. There are also tools to help set goals (such as Specific, Measurable, Achievable, Relevant and Time-Bound SMART goals), break down tasks, remind when to do a task and track what's completed. With all those apps and even some FLOSS programs out there, I've yet to find anything I'm comfortable working with. Some of the commercial mobile apps have wonderful concepts behind them. However, they also have fees or ads or require you to sign up for a service on the Internet. The F-Droid apps are typically more friendly when it comes to privacy. They don't have ads and most don't require sending personal data over the Internet. They're typically simpler than the commercial apps which can be a good thing. However, it's a matter of finding one that does what you need in a way that's comfortable to you not just what the developers and core users need.

I've been reading a lot lately about flow states and the psychological inertia many experience when they're trying to break out of the flow and do something else. Writers may get lost in writing and forget to break for a meal. A programmer may be so engrossed in a coding project, he or she may not notice the clock and the fact that it's time to go home. Who really wants to miss that? Inertia can also make it hard to start a new task. So, I tried to narrow my search to alarm programs that could notify me when to change focus and switch tasks. There are several timer programs that can time tasks for you and fire off an alarm when the interval to work on a task is over. I decided I wanted something more along the lines of an alarm that notified me at a specific time every day. It was suggested I check out the Google clock program which has an alarm. The alarm certainly got my attention. However, I couldn't turn it off without turning off my phone completely and it could easily annoy people around me.

I finally decided to overcome my own inertia and stop searching for a solution and just write one. I used SDL because it ports to a number of platforms including mobile devices. I broke the job up into tasks and started with the most crucial pieces I needed. I figured it would be more difficult to come up with a file format and source code to decipher multiple alarm times, so I started by hard-coding the time. Then, I switched to passing the time via the command line. Once I got that working, I realized, I don't really need to store several alarm times in an initialization file for the program. Using the Unix philosophy of doing one thing well, I decided to leave that task to another program and call this one just to display one alarm. So, one could combine this program with another program like remind or one could use cron or Windows task scheduler to start this program when needed.

What I really wanted was a way to gradually shift gears when I'm heavily concentrating on something. I did not want a jarring alarm. I wanted something that would give me time to complete what I'm doing and transition to something else. I really liked the Toastmasters concept of using green, yellow and red signaling to decide when to end an ongoing talk. So, I started with the color concept. I added a way to play an optional wave file with it. By limiting what the program did to just handling the alarm related tasks, I was able to get it done in a fairly reasonable amount of time.

While I was searching for useful organizing and scheduling programs, I experimented with remind. I found it very promising, but it takes some work to create the entries you want to be reminded about. The main drawback is that its designed for Linux and the developer would prefer that it not be ported to non-Free operating systems. While it can be ported, I'd prefer to work with software created by developers who want to support multiple platforms. I do like the idea that it's a command line tool and can be customized using a text file. Instead of using todo programs, I've been using simple text files to keep track of my lists. I've found that more effective. Something like the todo.txt file used by todo.c and other programs might be an option at some point in the future because it combines the idea of a simple text file with a more programmatic tool. It would be nice to see a todo tool and an alarm tool combined. Possibly if a time is part of each task, a program could parse out times and activate an alarm when needed. So, I'm still searching for the right tools to use together to help improve organization. However, I'm happy to finally have an alarm that offers the features I most wanted.

I'd be very interested to hear how others organize and switch or begin new tasks when they're experiencing inertia. What tools and programs do you use? What works? Also, if anyone is interested in brainstorming putting together different simple tools that each do one task well to help improve organization and efficient use of time, feel free to contact me. Discussion is welcome via Mastodon (https://fosstodon.org/@lmemsm) or the distasis mailing list on groups.io.
2023-04-25 05:43 pm

Gluten Free, Casein Free Cooking

I've been investigating substitutes for wheat and milk in baking and other recipes. I've also been trying to brainstorm what recipes would work best with these limitations.

Many Passover recipes are designed for low gluten flours. So, the techniques used by them translate well to gluten free baking. For instance, popovers, sponge and angel food cakes are recipes that adapt well.

I've been looking into alternatives to wheat flour. I've yet to come up with a palatable flour replacement that I like. Multiple flours and starches are typically used to replace various characteristics of wheat. Many commercial flour replacements and several online recipes use xanthan gum. With mold allergies, xanthan gum is something I avoid whenever possible. I have read that psyllium husk works well to replace the springiness in breads. I've also read that some people don't like the taste of psyllium husk in bread recipes. Some of the different gluten flour alternatives I've been looking into are buckwheat, sorghum, teff, chestnut and tigernut. Rice and oatmeal flours are typically the most commonly used. Useful starches to mix with gluten free flours include tapioca, potato, arrowroot. I've read that sweet rice flour is used in a way similar to starches and can add more moist flavor to baked goods. I personally like water chestnut flour which is also a useful starch to bake with or to use as a thickener. However, I've yet to find a gluten free source for it. If one has a Vitamix or high powered blender, one can grind gluten free oatmeal, flax or other grains to create flour or meal. This often costs less than just buying the flour.

I tried my first gluten free bread recipe using the apricot buckwheat bread listed here:
https://edibleeastbay.com/2016/05/14/buckwheat-sorghum-and-teff/
It came out surprisingly well for a first try with no gluten. I did learn not to bake it in the toaster oven since there wasn't enough room for it to fully rise. It was just fine when moved to a standard oven. I would like to find a gluten free bread machine recipe that works well. When making standard breads, there are general rules of thumb as to how much liquid and how much dry ingredients a bread needs in order for it to bake decently. Unfortunately, I can't seem to find similar rules for gluten free breads. I may try a dough mode bread and see how that works with gluten free ingredients. I made my pizza crusts in the bread machine as well. Yeast can be gluten free, so gluten free bread machine recipes can still make use of the ingredient. However, from what I've read and heard about cauliflower pizza crusts, it may be an even better alternative than trying to modify a pizza dough recipe to work with a decent gluten free flour blend. I also like using a crisp matzo brie as a base for pizzas. Unfortunately, it's extremely hard to find a decent gluten free matzo and even harder to find one at an affordable price. I considered trying to make matzo from scratch using oat flour, but I'm still searching for a decent recipe. Nothing I've tried so far came out tasting even remotely like matzo.

Just purchased the Panasonic YR-2550. I looked at tons of bread machine recipes. I wanted to find one with ingredients I had on hand and one that avoided ingredients I have issues with like xanthan gum. I finally found this one:
https://www.cookingwithcamilla.com/vegan-gluten-free-bread-machine-loaf/
Can't say I did a good job of making it because I had trouble with the new bread machine. It kept beeping a lot and I had trouble getting it to restart after the pause to wipe down ingredients. The older Panasonics seemed easier to work. Ingredients are supposed to have liquids go first for gluten free breads. However, I stubbornly put the yeast and dry ingredients first because that's the way I used to do it with my other Panasonic machines. Can't say the bread tastes like wheat bread. It was rather dense and low. However, it's better than anything I've seen in the stores. The recipe mentions substituting buckwheat and teff for two of the ingredients and that's what I did. If you're looking for a bread machine recipe, this one is worth a try. It certainly seemed forgiving if you didn't follow it exactly.

It's very hard to find gluten free recipes I like that can substitute successfully for foods that I used to make with wheat. Many just don't seem palatable to me. I'm finding it frustrating that most gluten free cookbooks just give you standard recipes and then say to replace the ingredients containing gluten with gluten free ones. Many gluten free wheat flour replacements use a mix of flours, starches and other ingredients. I've yet to find one I like. It makes it hard to find recipes I want to try when many recipes call for a specific gluten free flour replacement mix. They might not taste right or cook the same with other replacement mixes. Also, many gluten free recipes require absolute measurements for ingredients or they could easily fail. I tend to prefer to work with single ingredients rather than mixes. I also like to work with recipes that have a lot of leeway as far as getting amounts right or substituting or adding ingredients. I feel like I'm on the right track to finding a decent gluten free recipe when I locate one that requires simple, basic ingredients. For instance, recipes such as injera and ashishim are designed to work without wheat flour and don't require gluten free flour substitute mixes. I've been looking for a replacement for whole wheat pie. So far, the best option for me seems to be a teff pie crust. Here's a link to a simple teff pie that's somewhat similar to the basic pie crusts I make:
https://www.bobsredmill.com/recipes/how-to-make/teff-5minute-pie-crust/

I needed to buy a new waffle iron to make gluten free waffles. Had some recommendations for the Dash waffle maker. It's small but it's inexpensive and I could easily purchase a new one to replace my old one which was exposed to gluten multiple times. I've seen several recipes for gluten free waffles. I was most interested in the mochi waffle recipes using sweet rice flour. The sweet rice flour makes the waffle crisp and it does look a lot like a regular wheat based waffle in appearance. However, I can't get used to the taste. Had to add in some buckwheat, teff and flax to make it taste less rice-like.

I've noticed several black bean brownies. I've also seen a few for black bean cakes. Was introduced to this one at a program at work: https://familynutritionprogram.org/black-bean-brownies-recipe/ I like it because it doesn't require any flour. Now if I could just find a good substitute for the cocoa for family members with chocolate allergies...

I thought this recipe might make a nice cake or muffin substitute:
https://sammibrondo.com/double-chocolate-blended-baked-oats/ It doesn't need a lot of sweetener. I made some substitutions for food allergies and preferences. I left out the cocoa because of chocolate allergies in the family. I use oats that are labeled gluten free. It's easy to contaminate oats with gluten during the production process so clear and truthful labeling is important. Many recommend using oats that are manufactured using a purity protocol. Some people with celiac have reactions to the proteins in oats as well as the gluten in wheat, barley and rye. I also tried the recipe using ground quinoa instead of oats. Thought the quinoa gave it a bitter aftertaste. I'm going to need to work on figuring out how to effectively lower the saponins in the quinoa before I make something else with ground quinoa.

Casein free desserts seem even more challenging. I'm unable to come up with a decent mousse recipe without some form of milk product. There are gluten free lasagna noodles on the market but I don't have a good filling for them. My recipes used cottage cheese. Cheesecake is another difficult recipe to replace. Yogurt, pudding and ice cream are also problems. There are only so many ingredients that can replace the creamy consistency of milk. Many recipes use coconut or avocado. Allergies prevent me from working with either. I did try cashew cream which is made by soaking cashew nuts and then chopping them in a Vitamix. I'm not a huge fan of nuts and was disappointed in the taste. One option possibly worth looking into is ghee. It's made from milk but it's casein free and you can buy gluten free varieties. I've often seen nut or soy or coconut milk used to replace milk in recipes. I avoid them because of allergies. In some cases, I think just using water or possibly a fruit juice especially in a baked good would suffice. Sometimes I use water with some ground pumpkin seed added. I haven't tried it yet, but I thought some flax milk recipes looked promising. I also saw mention of potato milk and potato milk powder. There are several ice cream recipes that use tropical fruits as a base. I'm wondering if mamey sapote pulp might make a decent base for an ice cream or sorbet. Some sources recommend using mangoes to add creaminess to frozen desserts.

I tried ghee in a few recipes. So, far I don't like the taste of it. However, it might not be bad mixed with an oil as part of a pie crust recipe. I've started investigating some goat milk related options. Goats' milk has A2 casein as opposed to cows' milk which typically has A1 and A2 casein. Some people seem to tolerate A2 casein better than A1. However, I've yet to run across any definitive studies (such as on PubMed) that check whether casein proteins (and which casein proteins) could cause damage to the intestines similar to gluten. The local health food store had a sale on goat milk, so I decided to see what I could make with it. I tried for over an hour to make a simple white cheese with it. I added vinegar and lemon as acids for curdling. I just could not get it to separate into curds and whey. Possibly it was too homogenized. There's an article ( https://www.sciencedirect.com/science/article/pii/S0022030255949419 ) that mentions that curdling might be restored by adding dry milk solids. I have done that before in the past when I've made homemade cheese. It was a trick I figured out on my own even before I read the article. I made to sure to add powdered goat milk to the goat milk I was working with before attempting to make cheese. Unfortunately, it didn't work this time. I don't know what kind of processing they're doing, but I've found it harder and harder to make a basic cheese from milk in more recent times. Maybe ultra high heat pasteurization is far more common than it was. I hate throwing out milk when cheese fails, so I added more lemon and some gelatin and will attempt to see if it can be salvaged as a cheese cake filling. A lemon pudding might be another option when cheese making fails. One would need to add a thickener like a starch (tapioca, water chestnut, etc.) or use gelatin to make it more solid. Was extremely disappointed in the results working with goat milk so far. I also found some goat milk kefir in a local health food store. Kefir can be drained with cheesecloth to make labneh. It's a great sour cream substitute.

While I'm very familiar with substituting for ingredients because of allergies, substituting for ingredients that have casein or gluten in favorite recipes can be very difficult. I'll continue my research (reading as many gluten and casein free recipe books as I can), but it would be nice to come across more tips or informative articles on this subject matter. I'll also update this post if I run across any other interesting alternatives. If anyone has some useful tips to share, please e-mail me or let me know on Mastodon ( https://fosstodon.org/@lmemsm ).
2023-04-08 04:49 pm

Gluten Free Ingredient Ideas for those with Celiac or Wheat Allergies

This post is to keep track of some of the gluten free options out there when you're cooking or baking for someone who has celiac. I've done a lot of allergy free baking, but gluten free baking is very difficult and it's hard to find decent substitute ingredients. It can also be more expensive to buy gluten free options. Some manufacturers make both gluten free and regular varieties of the same food and charge more because the gluten free variety requires more careful preparation to avoid cross-contamination. Checking for a gluten free label as well as checking the ingredients list becomes important. Many foods that should be gluten free and don't list any wheat related ingredients in their ingredients lists may still have traces of wheat or gluten. It's also surprising and can be difficult when you find you need to check for gluten in a wide variety of foods that you would naturally assume are wheat and gluten free. When in doubt contact the manufacturer. However, keep in mind, the manufacturer will likely tell you that the ingredients in products can change without evident warning.

Since it seems so hard to track down what's safe or not and since wheat and gluten can be so invasive in so many products that would not ordinarily be considered as a source of wheat, I decided I'd record my findings so far on what will hopefully be safer options for people attempting to bake gluten free. Since it may be hard to find the items when needed, I've also listed some of the stores that I've found that carry those options.

Several gluten free nut, dried fruit and flour options are available from nuts.com. I've bought dried plums, apricots and cranberries from them. Be careful to check the ingredients because some of their dried fruits contain preservatives. They have chestnut, tigernut, sweet rice flour and sorghum flour. They also have Brazil nuts (a good source for selenium), sunflower and pumpkin seeds. They have psyllium husks, potato starch and tapioca starch. Plus, there are several other gluten free options listed at their site. They had teff flour which I bought in large quantities. Unfortunately, they are no longer carrying the product and I will have to look elsewhere for a good source of teff flour.

The nuts.com web site also has amla powder. Amla powder is a good source of vitamin C. Unbuffered vitamin C powders can be used with baking soda to provide the acid to make baked goods rise. Aside from amla powder, I've also used Navitas camu camu powder and Superfood+ immunity blend. Pure Radiance C powder from Pure Synergy is also gluten free.

Costco has dates and dried figs. They also have oatmeal, rice, quinoa, chia. What's nice is they sell products in bulk sizes so you can get a decent amount for the price on many of their products.
Some products they have include:
One Degree Sprouted Rolled Oats
Kirkland Organic Whole Brazil Nuts
Kirkland Organic Quinoa
Mayorga Organics Chia Seeds
Mariani Organic California Deglet Noor Pitted Dates
Sunny Fruit Organic Sun Dried Dates
Sunny Fruit Organic Sun Dried Figs
Go Raw Sprouted Organic Pumpkin Seeds with sea salt
Go Raw Sprouted Organic Sunflower Seeds with sea salt

Costco is temporarily out of Brazil nuts due to a recall. I'm having a great deal of trouble finding an affordable source of Brazil nuts without this option.

I found out Marshalls and TJ Maxx sometimes carry Sunny Fruit Organic Sun Dried Dates, Sunny Fruit Organic Sun Dried Figs and Sunny Fruit Organic Sun Dried apricots. Finally found a good source for prunes. Was very happy to find out Sprouts carries Made in Nature organic dried fruits including prunes, apricots, figs and other options.

Was having trouble finding steel cut oats. Finally found out Sprouts has their own brand of gluten free, organic steel cut oats. I also found Publix had a better deal with Bob's Red Mill steel cut oats.

I've had no problem finding gluten free pasta options.
Trader Joe's has Sedanini pasta made from red lentils. It has become a new favorite. Trader Joe's also has lentil and brown rice pasta. There are several options for red lentil pastas including the following:
Barilla red lentil penne
Barilla red lentil spaghetti
Whole Foods red lentil spaghetti
Whole Foods penne rigate vegetable pasta
Target Good and Gather red lentil spaghetti
Target Good and Gather red lentil rotini
Target Good and Gather yellow lentil penne

I was able to find some halfway decent alternatives for my manicotti and lasagna dishes. Walmart and Whole Foods have Jovial rice lasagna noodles.

Whole Foods had some very nice alternatives to rice or lentil based pastas. Unfortunately, they're no longer available in my local stores. One option was Cello teff penne. There also used to be a very good 365 brand black bean pasta but they stopped making it. Was sorry they discontinued it and even emailed them about it. Maybe if enough people write in, they'll consider making it again.

Another pasta option with a different ingredient make up is Veggiecraft Farms Pasta made with Cauliflower. It has cauliflower, pea and lentil. Sprouts Green Pea Rotini is another interesting alternative as well. Unfortunately, they no longer seem to be making it. Sprouts at least carries some of the Veggiecraft options.

There are a few options for pasta made from soy or edamame. They can be expensive.

I am having a very difficult time finding elbow macaroni. I really like the Tolerant lentil macaroni. Tolerant was bought out by Barilla and they discontinued the product. Barilla does not make a viable alternative either. The only passable elbow macaroni I've found so far is is Bionaturae rice and lentil elbows. I tried one of Living Now's elbow macaroni products with quinoa but was not a fan.

I used to eat puffed rice regularly for breakfast. Unfortunately, it's not gluten free. I contacted Nature's Path and Arrowhead Mills and both said their products could be cross-contaminated with wheat. So, I went looking for alternatives but found very few options. I tried the puffed rice from nuts.com but it tasted more like crisp rice cereal rather than puffed rice. The closest alternatives I could fine were rice cakes. These include:
Lundberg Organic Whole Grain Rice Cakes Brown Rice Lightly Salted
Quaker Lightly Salted Rice Cakes - Walmart
Publix Lowfat Salt Free Rice Cakes - Publix
I tried the Lundberg Organic Rice Cake Minis with Sea Salt. They're too salty but they do have a nice taste to them. They might be usable as a cracker substitute.

When I contacted Emerald Cove by email, I was impressed by the level of testing they do to make sure their products are safe from radiation and other contaminants, I prefer to buy their nori but there are a few gluten free options for nori roll wrappers:
Nori - Emerald Cove - Whole Foods
Gimme Seaweed Wraps - Sushi Nori - Sprouts, Whole Foods

Ever since I was introduced to kelp noodles at a Whole Foods event, I've really enjoyed it in my salads. There are a few brands out there. Both nori and kelp are good sources of certain vitamins and minerals including iodine. Here's the kelp brand I'm currently using:
Sea Tangle Kelp Noodles
Gold Mine Kelp Noodles mention they're gluten free at the Gold Mine web site.

I have trouble with nuts and thus typically avoid nut butters. However, recently I've been enjoying sunflower butter which seems to be a better option for people who may react to nuts. Trader Joe's had a very nice brand of sugar free sunflower butter that only contained sunflowers and salt. Unfortunately, it was discontinued. I've been able to track down two other options, both gluten free:
Sprout's Sunflower Butter - Sprouts
SunButter No Sugar Added Sunflower Butter - Whole Foods, Publix Greenwise, Sprouts

I used to just by lentils and beans at the bulk bins, but there are cross-contamination issues with that. Would be very interested to find out if soaking or cleaning could avoid some of the issues, but have yet to find any good references. I'm having a horrible time finding alternatives that actually claim they are gluten free. I was able to find black beans, adzuki and pinto beans at nuts.com but that's all I found that I can eat in the bean and legume category. I also finally found Dakota's Pride Green Lentils at Aldi. Dakota's Pride had other varieties of beans that were marked gluten free as well. Only some packages with Dakota's Pride show gluten free so be sure to check the labels. Publix had Hurst's Brand lentils which says Gluten Free on the label. iHerb offers Bob's Red Mill lentil beans options. Pueblo Linda black beans at Aldi also had a gluten free label. Again, I'd recommend checking the labels on the specific product and look for the wording gluten free on the packaging. Sometimes the same brand can make gluten free and non-gluten free varieties. Sprouts sometimes has beans like black beans and pinto beans that say gluten free on the label. There have to be other alternatives out there, but I've yet to find them.

I contacted Hurst regarding their lentils which say gluten free on the package but also packaged in a plant that is not gluten free. They also package barley. Here's part of their response: "After a barley run, the equipment is cleaned and swabbed to verify cleanliness. Barley is also only run on one line so if your package has a lot code ending in an A or B, barley is never run on this equipment. We do everything we can to reduce the risk of cross contamination and hope that you are able to enjoy all of our non-gluten items." Their brand is fairly easy for me to find some of my local groceries and is an affordable way to buy lentils compares to some of the other alternatives.

A quick warning to stay away from Vitacost brand bean options. Their web site says gluten free but the packages I purchased did not and when I asked further, they couldn't guarantee the product was safe for someone with celiac.

I had assumed that frozen peas would be safe especially since they're a frozen food. Was very distressed to see a "May contain traces of wheat" warning on the label. I now need to find out which brands of frozen peas are actually safe. Trader Joe's responded to my inquiry and said their organic peas and petite peas are made in wheat and gluten free facilities but they do not specifically test if they're 20 ppm or less. I've written Aldi to ask about their products and they have not responded. If anyone does get a response, please share it. Ironically, Aldi owns Trader Joe's.

It's much easier to find gluten free rice. Mahatma, a popular brand, offers organic brown rice and other types of rice that are all gluten free. Publix Greenwise also has an organic gluten free brown rice.

Emerald has various nuts that are gluten free. I made cashew cream with their Whole Cashews.

Badia spices are supposed to be gluten free. I bought their organic ground turmeric and it says gluten free on the container. The Spice Lab web site showed some of their products as gluten free including Himalayan salt. Saw some at Costco recently. Many spice options are gluten free but their packaging doesn't always say so. When in doubt, check the company web site or contact the company.

Wholesome organic fair trade molasses is listed as gluten free at their web site.

Products that can be used as flour substitutes are useful. As mentioned, nuts.com offers several options. I was also able to buy gluten free products like buckwheat (Eden brand found at a local health food store) and grind them into flour using a Vitamix. I have not been able to find a good source of water chestnut flour. Water chestnut is naturally gluten free and a useful starch alternative in gluten free baking. It's typically easier to find water chestnut flour at Asian markets, however, they typically lack a gluten free label and may be cross-contaminated. If anyone wants to contact some manufacturers or stores and request water chestnut, it makes an excellent alternative to corn, tapioca and potato starch. The more people that request options, the more likely manufacturers and distributors may comply.

I've been using a lot of teff flour in my recipes and am so disappointed nuts.com is no longer offering it. Bob's Red Mill makes teff flour. The trick is trying to find a reasonable source for it in one of the local stores or online. I also noticed Anthony's has teff flour on Amazon and I've see several recommendations for their products. So, next time I need to stock up on teff flour, I will try their 5 pound option. I can go through 5 pounds in no time.

Bob's Red Mill also makes a sweet rice flour. It works really well in baked goods as part of a flour mix. It's especially useful if you want to replace starch ingredients.

I've had no trouble finding gluten free tapioca starch. Aside from nuts.com, Whole Foods, Sprouts and other stores carry options such as Bob's Red Mill tapioca flour.

I typically bought flax seed in the bulk bins at a good price and now had to find options that were pricier but safer from cross-contamination. I prefer seed to meal because it lasts longer and can be less expensive. I grind the flax seeds into meal using a coffee/nut grinder or in my Vitamix just before using it. Some gluten free flax seed options include:
Bob's Red Mill Whole Flaxseed - Sprouts, Winn Dixie
Arrowhead Mills Organic Flax Seeds - Publix, Whole Foods

It's nice to have whole grain options not just alternative flours. They can be used as a side dish with meals and as alternatives to more popular foods like rice, oatmeal or potato. I've already mentioned quinoa which is becoming a popular option. I also mentioned buckwheat. One other interesting grain alternative I found is teff (Bob's Red Mill brand). Teff makes an interesting porridge. It's a good source of several nutrients including more calcium than many other grain options. Haven't tried it but Fonio is another gluten free option. (I think it sets off my grass related allergies though.) I've also tried sorghum as a side dish. It's good but it can be a little hard on your teeth. I've seen videos where it's been popped to look similar to popcorn. My results so far, sorghum popcorn does taste good but it's extremely hard to pop especially without burning it. I've tried popping it in a frying pan and in the microwave. If there's a trick to doing this successfully, I'd love to learn it. It's possible only certain varieties of sorghum pop well just as only certain varieties of corn are bred for popping. There's popped quinoa as well which looks like it would be great for a homemade energy bar or cookie. However, like sorghum, I haven't found an easy way to pop it.

I did finally find a brand of bread that didn't have many of the ingredients that are on my allergies and intolerances list. The brand is Simple Kneads. I tried their cinnamon raisin bread. While it doesn't taste like a normal cinnamon raisin bread, it's good in a pinch when you just want to have a sandwich. If you're not into lettuce buns for your meats, this is an option. I found them at Sprouts. I guess the taste of foods that contain flour and use gluten free options is just different, but many companies and recipes seem to compensate by adding extra spices or flavors to try to cover it up. Unfortunately, I'm not a big fan of strong flavors. I find the cinnamon and flavoring in the cinnamon raisin bread tolerable but it seemed a bit overpowering for me.

I don't usually like bar cookies and energy bars, but I thought this one was decent:
Greenwise Lemon Fruit and Nut bar - Publix
I also came across Larabar Chocolate Chip Cookie Dough Minis on sale at Publix and to my surprise, I found them very palatable. However, it's not a great option if you're trying to avoid chocolate due to food allergies or if you're trying to limit caffeine intake. I also recently noticed Goodie Girl cookies in a local grocery. I'm not sure if I would react to some of the ingredients, but the variety of cookies they offer looks nice.

Boulder Canyon makes gluten free potato chips.

Didn't even think about contamination in sprouts since I assumed like most vegetables, they would be safe. Noticed afterwards they're made in a facility that handles wheat. This was the information I got from Fullei Fresh on their alfalfa and broccoli sprouts: "We have wheat seeds which are used to grow wheatgrass which does not have gluten yet. We were told gluten develops at more mature growth. The wheat seeds and wheatgrass are in the same building as alfalfa, but stored and grown in a separate room. Both alfalfa and broccoli sprouts are grown, packed and stored far from wheatgrass although they are shipped in the same trucks. They’re in enclosed packages so shipping should not be a concern."

I assumed pure fruit juice would be okay. However, I've been looking into calcium enriched juice to add more calcium to my diet. Did not realize how hard it was to find information on what juices might be gluten free especially when there are additives like calcium. According to their web site Uncle Matt's Pure Organic Orange Juice with Calcium & Vitamin D + Zinc is gluten free. Didn't notice any markings on the product itself though.

I double checked with Walmart and they said their Great Value Dry Milk is gluten free.

I contacted Haagen-Dazs by email and they do offer gluten free ice cream varieties. They did recommend reading the label because ingredients may change.

Daisy, Axelrod and Friendship offer gluten free dairy options such as cottage cheese.

Ghee can be gluten free, casein free and lactose free. You can make your own by clarifying butter. There are also several varieties in stores. Check the labels for ones that say they're safe for specific intolerances. I bought Kelapo brand from Publix to test out.

Toothpaste is a huge issue. I have allergic reactions to so many of them. Brands I thought were safe may not be gluten free. I did find out Tom's Toothpaste, Jason's Toothpaste and Dessert Essence are supposed to be gluten free. Whole Foods carries all of these products. So does Sprouts. There's also a Tom's Toothpaste value two pack available for a good price at Walmart. Would you believe floss can be an issue too? I've read that Reach, Colgate, Oral-B Glide, Dessert Essence and Tom's of Maine are okay, but I haven't confirmed it myself.

It's important to check vitamins as well. Many state that they're gluten free on their labels. However, I recently checked on a 365 brand vitamin. It does not list wheat as an ingredient or possible cross-contaminant but it is not labeled gluten free either. Upon contacting Whole Foods about it, I was told it is not gluten free.

I have allergies to chocolate, but I did find out that most of Lindt's
Excellence line of chocolate bars is gluten free.

Check the Kosher for Passover products. They're often, but not always, wheat and gluten free. I stock up on Kosher for Passover chocolate chips (with brands such as Glicks) at Walmart once a year. They often provide a way to avoid ingredients such as soy lecithin as well. I also found other chocolates marked gluten free at various Kosher stores. California Gourmet makes vegan and soy free chocolate chips that are gluten free, dairy free and nut free. I found the semi-sweet variety. They are marked Kosher for Passover, but I would assume they make their chips all year round. I also found BaKol Natural Unsweetened Organic Cocoa which is non alkalized, marked gluten free and Kosher for Passover. It's distributed by Lieber's chocolates. Yehuda Matzos makes Gluten Free Matzo-Style Squares which are Kosher for Passover.

There are some great ideas for recipes from various Passover recipe books that specialize in working with low gluten foods. Many can be adapted by replacing matzo with gluten free flour alternatives to create gluten free options. Sponge cakes, angel food cakes, flourless cakes, popovers and other favorite Passover recipes can easily be adapted to gluten free varieties.

Vitacost has some gluten free options and I see it recommended often. My experiences with them to date have not been good. If you have to order from them, I recommend doing so with care. If you aren't familiar with the product you are ordering and are not absolutely sure in advance that a specific product is gluten free, I do not recommend purchasing it from them. They have items listed on their web pages as gluten free that are not actually gluten free and are not even labeled as gluten free on the packages. Also, check that items you ordered aren't missing from your purchase. I've had that happen too.

Several online posts concerned me about cross-contamination of appliances, dishes, utensils and other kitchen items. Washing thoroughly with soap and water is important.
I have run across a few articles that have eased my mind about parts of the situation.
https://nationalceliac.org/celiac-disease-questions/do-i-need-new-designated-pans-plates-and-utensils/
https://theceliacscene.com/rethinking-cross-contamination-no-need-to-be-so-careful/
2022-10-10 01:54 pm

Cross-platform Utilities

I'm trying to locate ports of some of the more popular Unix/Linux utilities to other operating systems such as AIX and Windows. I find it helpful to have the same utility on all the systems I work on, not just on a few them.

Are you searching for other programs of this nature or creating other cross-platform utilities of your own? If so, please share your progress. It would be nice to add more options to this list.

cal
http://unicorn.us.com/cal.html

lsof for AIX
https://github.com/aixoss/lsof

top for Unix and AIX systems
https://sourceforge.net/projects/unixtop/

ntop for Windows
https://github.com/gsass1/NTop

lsblk like utility for Windows
https://github.com/tenox7/lsblk

simple cross-platform ping
https://github.com/sryze/ping

ps style tools for Windows
https://github.com/joeattardi/winpstools
https://github.com/katakk/pkill/

uptime
https://github.com/qwercik/uptime

experimental dd implementation for Windows
https://github.com/sryze/wdd

dd for Windows
http://www.chrysocome.net/dd

busybox-w32 has ports of several utilities that will work on Windows including dd, df, grep, ps, su and others:
https://github.com/rmyorston/busybox-w32

nano for Windows
https://github.com/lhmouse/nano-win
I also have a port of nano for Windows. It works with PDCurses.

An older version of htop was patched for AIX support and I've added a similar patch to a later version. When the htop project was contacted regarding patches they responded they were not interested in adding AIX support to the official version.

I have simple cross-platform implementations of uptime, nproc and free which I've been working on.