@hellomiakoda yeah, the FLX1 seems to have a weird build of Linux. I wonder if they are trying to do something clever, like build Alpine with Musl Libc, or maybe they are using DirectFB instead of Walyand, which is why it might be so screwy? I have no idea.
My in-laws have a WiFi-over-5G thingy. You could maybe get something like that if you really wanted to connect your laptop to the cell network, and SIP over WiFi.
@hellomiakoda The FLX1 runs it’s own operating system, right? It sounds like most of your problems are software related.
My daily driver smartphone is a Fairphone 5 which runs stock Android, I would never screw with the operating system on the cell phone that I depend on to make calls or keep my calendar up to date. That shit needs to be as reliable as possible, and me screwing around with the OS would definitely cause reliability issues.
I would, however, buy a second smartphone that I did not depend on and use it to play around with other operating systems. Sounds to me like your FLX1 might be a good candidate for screwing around with (e.g. Mobian, Graphene, Postmarket, etc.), once you replace it with a more reliable cell phone.
I decided to merge my #Scheme react-like declarative GUI framework (schemacs ui), even though the back-end isn’t completely bug-free yet. (It is still an experimental software project, so the main branch is the development branch).
Though it is written in pure #R7RS “small” Scheme, the only GUI back-end currently available is for Guile users who go to the trouble to install Guile-GI all on their own.
If Guile-GI is installed, put on your safety goggles and run this command in the Guile REPL:
(load "./main-gui.scm")
I haven’t tried getting it to work in a Guix shell for almost a year now, but my last attempt did not go well (it crashed while initializing Gtk). To anyone who wants to try the GUI, I am sorry to inconvenience you, but I’m afraid I just have to ask you to please install Guile-GI yourself using the old-fashioned ./configure && make && make install method. If anyone happens to be able to get it to work in a Guix shell, please let me know, or open a PR on the Codeberg Git repository.
The only examples for how to use (schemacs ui) are in the test suite and the Schemacs Debugger. The only documentation so far are the comments in the source code, though I did try to be very thorough with comments.
The “Debugui” debugger works, but only has one single feature: the eval-expression command, which is bound to M-: (Alt-Colon). This command works the same as in #Emacs but you enter a Scheme language command instead. The #EmacsLisp interpreter is not yet connected to the GUI.
Now that this is merged, I am going to work on a few tasks in the Emacs Lisp interpreter that have been pending for more than a few weeks now. Then, back to creating new features in the GUI toward the goal of making it a useful program editor. And also, of course, writing some more documentation.
@Infoseepage as an American, it fills me with hope to see that so many young people in the world can see America with such clarity. World War 3 has begun, and we are the Axis of evil.
@whitequark that is how most people I know who use Nix make their configs. Either search for a blog post on how to do it, or figure it out yourself by reading the Nix Packages source code.
At some point I did a simple cost-benefit analysis and asked myself, "do I really need reproducible builds on my daily driver if it takes that much work to make such tiny changes?"
@hellomiakoda I am guessing you are using Arch or Gentoo? This doesn’t happen on Debian or Fedora. It may pause to warn you that it will overwrite a config file in /etc because they don’t want to delete a config you may have meticulously written by hand. It may pause to ask you about how to configure your database if you are asking to install the web server packages. But they won’t ask for your password.
EDIT: Thanks for all the great questions everyone. It is so encouraging for me to see that there is so much interest in this project, it really keeps me motivated to keep working on it.
@hellomiakoda I have been noticing that one of myself a lot lately. (It is why I am here on Mastodon right now, instead of doing something more important.) I have been curious about taking prescription drugs to cope with it, I have heard they can really make you feel very productive and happy. But that means I need to get a perscription, which means I need to get over my executive dysfunction and see a doctor.
@hellomiakoda clearly we are at the stage of capitalism where all of the big business owners have come to the conclusion that lining-up behind the fascist despot is the best way to turn a profit. The same thing happened in Nazi Germany in the 1930s.
@hellomiakoda if you are using Wayland, you need to run the xwayland server first in order to provide an X11-compatible display server, then it can run X11 apps like Dillo. If you are using Xorg, try
@hellomiakoda@hellomiakoda thanks, I have a pretty good idea of where you should start learning, but I’ll have to search around a bit for some resources you can use.
Without going into too much detail, let me just breifly explain the example I wrote above. First of all, it is basically a useless command so I would not recommend using it, I just wanted an example that would show how lexing works.
Yes the echo will take it’s arguments and print them. The * character is a special token called a “glob pattern” that tells the shell to substitute that token with whatever the “glob” pattern matches in the current directory, lists of files being separated by spaces. So that will simply lists all of the files that match * (basically all files that do not start with dot) in the current directory, then creates a huge string which each file name separated by spaces, then dumps that string to it’s output pipe.
You are right about the pipe.
The 2>&1 command is called a “redirect,” in this example it means to join the STDERR stream, which has integer code 2, to the STDOUT stream, which has integer code 1. This would make it so that error messages are also pushed to the input of the next process in the pipe, which usually you would not want to do unless you want a log of the result of the left side of the pipe. The 0> syntax indicates the STDIN stream (input stream, taken from the left of the pipeline) which can also be written as just <, the 1> syntax indicates STDOUT which can also be written as just >. You can also specify a file instead of a stream integer ID, so >text.csv says the STDOUT stream should write to a file rather than some other stream.
The grep command searches it’s input stream for a “regular expression”, this is a very different kind of string pattern from the “glob expressions” (for example *.txt) that the shell uses. Regular expressions are more powerful than glob expressions. You can search Wikipedia for these terms, the articles there will give you a good sense of how each are used. Grep is also a line-based protocol, so it breaks it’s input into lines and only outputs the line if it matches the “regular expression”.
The “grep” works on lines of text, and since echo creates only one line of text containing all the file names, grep will either print everything or nothing depending on whether the final file matched ends in “.txt“.
@hellomiakoda I have an article on my blog about how to do batch file renaming. If you have a suggestion for me of a specific task (or a class of related tasks) you would like to learn, I’d be happy to write a blog article on how to do it.
To “learn the terminal” means to study the Bourne Shell programming language, so you learn it the same way you learn any other programming language. This comes down to understanding how the lexer and parser works, then the semantics for things like how to assign and use variables, how to construct procedures, and how to do conditional branch execution. Then you learn the “standard libraries,” which for the Linux terminal means learning how to use commands such as find, grep, sed, awk, and so on.
Do you understand how the shell does lexing, that is, breaking up a command into tokens? For example, the command:
echo *|grep '\.txt$'>text-files.csv 2>&1&
Is broken down into the following tokens:
echo
*
|
grep
'.txt$'
>
text-files.csv
2>
&1
&
If you already know that much, you are ready to start learning about conditionals and control flow.
@hellomiakoda huh, that is strange, I don’t seem to be seeing your posts in my stream as often as I used to, even though I am following you. Maybe your stuff is being drowned out by all the other hashtags I am following. I’ll check your history to see some of your photos.
@hellomiakoda oh, you actually bought one! Congratulations!
Yeah, FuriOS is not well documented and I doubt they have 32bit support built for it yet. I think it is based on Droidian, so it should technically be possible, but they are using some weird build of the Linux kernel so you will probably have to build 32-bit support from scratch which as far as I know is really not easy.
I was considering getting a Furi FLX1 because it has the fastest CPU and most memory that I could find for a Linux phone. But I opted for the FairPhone5 instead because repairability is more of a priority for me.
I was born in the United States. I am a professional software engineer, and have been since 2008. I currently do full-stack work, mostly in Python and JavaScript, for a company based in Japan which sells AI-related services. However I am passionate about functional programming languages, especially Haskell, Scheme, and Emacs. I also love retro-computing, especially computers from the late 70s to early 90s, in particular old Apple computers, but I love all old computers from that era. I am also passionate about free/libre software, especially Linux. Most of my posts are about functional programming languages, retro-computing, and Linux.I care deeply about human rights and justice for the poor, persecuted, and underprivileged people. I am strongly opposed to war, fascism, and any ideology driven by hatred. I reject all forms of violence except self defense (war and terrorism are never self defense). Climate change is an issue of human rights because it will cause the most harm to the poo