The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I have implemented task notifications in zeptoforth's RTOS, inspired by those in FreeRTOS. For doing the same function as rendezvous channels, aside from being limited to communication between two tasks and only transferring one word between tasks at a time, they are considerably faster, taking roughly 1/4 the time per message sent.
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I don't know much about computing, but would like to start using Signal. As I have a Nokia, this appears to be a littlle more complicated. I tried following the instructions here, but I'm not sure how to:
https://ctrl.alt.coop/en/post/signal-wi ... martphone/
I'm stuck at the 'where do I find signal-cli?' bit
https://ctrl.alt.coop/en/post/signal-wi ... martphone/
I'm stuck at the 'where do I find signal-cli?' bit
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
It seems it is under releases on the project's GitHub.MacAnDàil wrote: ↑Sat Dec 04, 2021 7:25 am I don't know much about computing, but would like to start using Signal. As I have a Nokia, this appears to be a littlle more complicated. I tried following the instructions here, but I'm not sure how to:
https://ctrl.alt.coop/en/post/signal-wi ... martphone/
I'm stuck at the 'where do I find signal-cli?' bit
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
And if I didn't misunderstand something, that's for using Signal on a computer, not a phone.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Well signal-cli appears to be specifically for use on a computer, hence its name (phones typically don't have readily accessible CLI's).
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
To clarify, I am trying to use Signal on my PC. The fact that my phone is Nokia appears to make this more complicated than if I had a computerphone. As far as I can tell, I have already downloaded and unzipped the signal-cli. The problem part is that I am not sure how to get it to run.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
So there was a landline internet/phone outage here from Monday morning or noon until early evening on Tuesday. It affected apparently most of the municipality, as well as some neighbourhoods of the next city. I could handle it well enough, mind you, but losing a basic utility for that long in such a large area was interesting.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I have not so fond memories of an excavator hitting a main fiber optics connection a few years back. (And my workday degenerating into endless crisis meetings...)
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Because I was bored I decided to rewrite the heap allocator for zeptoforth. In theory it should be faster algorithmically, since it uses a free list rather than a bitmap search for allocation, and only uses bitmap searches for freeing memory (and then they should be less intensive than the bitmap searches for allocating memory on he old allocator). The thing, though, is that the new allocator is considerably more complex than the old allocator and thus may have higher constant factors even if it is algorithmically faster. Also, the heaps involved will be rather small in practice, so whatever improved algorithmic scaling it gets may not have that much benefit in practice.
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
For implementing an automatic testing system for testing heap allocators I needed, I needed the capability to generate pseudorandom numbers (I already have true random number generator support for each of the platforms supported by zeptoforth, but I specifically need to be able to arbitrarily repeat sequences of numbers from given seeds) so I did a partial implementation (i.e. no floating point support or support for initialization with arrays of seeds) of the TinyMT PRNG (itself a miniature implementation of the Mersenne Twister PRNG used in places such as Python, which I chose because it has far smaller RAM requirements than MT proper and because I did not care that it had a period of only 2127-1). I have verified that for a given seed it generates the same exact sequence of numbers as the TinyMT reference implementation for each of the seeds I tested, so I know it's good.
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I have, well, an opinion question. Currently in zeptoforth when a task executes PAUSE to give up control of its core, it is put to the rear-most position, for its priority, in the core's schedule. This works all good and fine. However, when carrying out activities where a task gives up control of its core because of blocking, it might be a better idea to not move the task from the head of the schedule to somewhere in its rear, to provide better latency for tasks which block momentarily. Do you guys think this is a good idea or an awful one? The reason why it might be a bad idea is that it reduces the opportunity for other tasks to gain control of a given core by ensuring that a task is favored to run until it exhausts its timeslice. So I might have to do some tests to check which has better performance in practice or not.
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Honestly, I have no idea whatsoever. I’d say you should just test both options and see which works best. (Or even just let each task assign itself the scheduling algorithm which is best for that task, if feasible.)Travis B. wrote: ↑Mon Apr 11, 2022 11:03 am I have, well, an opinion question. Currently in zeptoforth when a task executes PAUSE to give up control of its core, it is put to the rear-most position, for its priority, in the core's schedule. This works all good and fine. However, when carrying out activities where a task gives up control of its core because of blocking, it might be a better idea to not move the task from the head of the schedule to somewhere in its rear, to provide better latency for tasks which block momentarily. Do you guys think this is a good idea or an awful one? The reason why it might be a bad idea is that it reduces the opportunity for other tasks to gain control of a given core by ensuring that a task is favored to run until it exhausts its timeslice. So I might have to do some tests to check which has better performance in practice or not.
Conlangs: Scratchpad | Texts | antilanguage
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices
(Why does phpBB not let me add >5 links here?)
Software: See http://bradrn.com/projects.html
Other: Ergativity for Novices
(Why does phpBB not let me add >5 links here?)
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I decided to make it put tasks back at the head of the schedule when executing blocking operations on the current task or when one explicitly executes PAUSE-WO-RESCHEDULE. This does result in a bit of a performance hit on the RP2040 for some reason, but I suspect this has to do with the sensitivity of cache line locality in the RP2040's XIP cache, because I have seen similar effects from seemingly innocuous changes. Also, on the STM32F746 it results in no performance hit at all, which implies this is the case.bradrn wrote: ↑Tue Apr 12, 2022 12:02 amHonestly, I have no idea whatsoever. I’d say you should just test both options and see which works best. (Or even just let each task assign itself the scheduling algorithm which is best for that task, if feasible.)Travis B. wrote: ↑Mon Apr 11, 2022 11:03 am I have, well, an opinion question. Currently in zeptoforth when a task executes PAUSE to give up control of its core, it is put to the rear-most position, for its priority, in the core's schedule. This works all good and fine. However, when carrying out activities where a task gives up control of its core because of blocking, it might be a better idea to not move the task from the head of the schedule to somewhere in its rear, to provide better latency for tasks which block momentarily. Do you guys think this is a good idea or an awful one? The reason why it might be a bad idea is that it reduces the opportunity for other tasks to gain control of a given core by ensuring that a task is favored to run until it exhausts its timeslice. So I might have to do some tests to check which has better performance in practice or not.
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I have a question about GIMP (thought if there's some way to do what I want to do in MSPaint or something, that's ok too):
Is there some way to draw a line where, instead of using the mouse to draw the line by dragging it around, you simply tell the software to draw, say, a straight line from, say, 45,87 to 163,14 , and then the software does as instructed? If, say, you want to draw a line between two specific points but don't trust your hand to hit those points just right with the mouse?
Is there some way to draw a line where, instead of using the mouse to draw the line by dragging it around, you simply tell the software to draw, say, a straight line from, say, 45,87 to 163,14 , and then the software does as instructed? If, say, you want to draw a line between two specific points but don't trust your hand to hit those points just right with the mouse?
- CreativityTheEmotion
- Posts: 8
- Joined: Tue Jan 11, 2022 3:55 pm
- Location: Lithuania
- Contact:
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
I'd probably write a quick SVG file, then import it into GIMP. Here's an example of that:Raphael wrote: ↑Mon Apr 18, 2022 3:02 pm I have a question about GIMP (thought if there's some way to do what I want to do in MSPaint or something, that's ok too):
Is there some way to draw a line where, instead of using the mouse to draw the line by dragging it around, you simply tell the software to draw, say, a straight line from, say, 45,87 to 163,14 , and then the software does as instructed? If, say, you want to draw a line between two specific points but don't trust your hand to hit those points just right with the mouse?
Code: Select all
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" width="210" height="297" viewBox="0 0 210 297">
<path style="fill:none;stroke:#000;stroke-width:1" d="M 45,87 L 163,14" />
</svg>
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Neat! Thank you!CreativityTheEmotion wrote: ↑Tue Apr 19, 2022 3:48 am I'd probably write a quick SVG file, then import it into GIMP. Here's an example of that:
Code: Select all
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="210" height="297" viewBox="0 0 210 297"> <path style="fill:none;stroke:#000;stroke-width:1" d="M 45,87 L 163,14" /> </svg>
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Something I've been thinking about a bit lately: how useful, really, is the concept of Turing completeness? My impression is that if I understand that concept correctly, it seems to imply that in theory, you should be able to play last year's best-selling high-end games on an ENIAC. But how would that ever work? And if, as seems likely, it can't work, what use is the concept then?
- CreativityTheEmotion
- Posts: 8
- Joined: Tue Jan 11, 2022 3:55 pm
- Location: Lithuania
- Contact:
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
A true Turing machine is supposed to have an infinite amount of memory, and computers, especially the earlier ones, don't have that. Instead, it's purely a theoretical tool to compare programming languages and such.Raphael wrote: ↑Sat Apr 23, 2022 12:18 pm Something I've been thinking about a bit lately: how useful, really, is the concept of Turing completeness? My impression is that if I understand that concept correctly, it seems to imply that in theory, you should be able to play last year's best-selling high-end games on an ENIAC. But how would that ever work? And if, as seems likely, it can't work, what use is the concept then?
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Decidability theory seems to distinguish between machines with sequential memory access and those with random access memory, so the whole concept fractures.
I've been pondering a similar issue for fully designed Unicode-compliant regular expression engines. (The catch is that the set of strings recognised should be closed under canonical equivalence.) Strictly speaking, Kleene star isn't always a regular expression, though that can be made a non-issue by using a recursive NDFA (non-deterministic finite automaton) construction, which of course then isn't finite. (The simple example is deciding whether a string consists of an arbitrary number of repeats of U+0F73 TIBETAN VOWEL SIGN II. It's a fairly rare problem.) Once one throws Kleene stars and choices into the pattern, it's no longer even decidable in general whether the pattern is a regular expression.
I've been pondering a similar issue for fully designed Unicode-compliant regular expression engines. (The catch is that the set of strings recognised should be closed under canonical equivalence.) Strictly speaking, Kleene star isn't always a regular expression, though that can be made a non-issue by using a recursive NDFA (non-deterministic finite automaton) construction, which of course then isn't finite. (The simple example is deciding whether a string consists of an arbitrary number of repeats of U+0F73 TIBETAN VOWEL SIGN II. It's a fairly rare problem.) Once one throws Kleene stars and choices into the pattern, it's no longer even decidable in general whether the pattern is a regular expression.
Re: The Computer And General Tech Thread - Software, Hardware, Questions, etc.
Are you sure? Turing-equivalence has nothing to do with whether memory is sequentially or randomly accessible (after all, memory on a Turing machine proper is not randomly accessible, yet no other computation machine is more powerful than it).
Yaaludinuya siima d'at yiseka wohadetafa gaare.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.
Ennadinut'a gaare d'ate eetatadi siiman.
T'awraa t'awraa t'awraa t'awraa t'awraa t'awraa t'awraa.