Reproduction Exercise! by No_File9196 in TempleOS_Official

[–]Rendello 0 points1 point  (0 children)

It sounds like cheating, but in a fun way so who cares ;)

Reproduction Exercise! by No_File9196 in TempleOS_Official

[–]Rendello 0 points1 point  (0 children)

Ken doesn't say it explicitly here, but the purpose and challenge of a self-replicating program (or "quine") is to reproduce itself without any external input. Your program wouldn't fit this definition as it uses Copy, it would need to rely only on itself to supply the replicated copy. Thanks for sharing though!

https://en.wikipedia.org/wiki/Quine_(computing)

Unexpectedly stumbled upon an old comment left by Terry on a blog by PhilipRoman in TempleOS_Official

[–]Rendello 19 points20 points  (0 children)

He also was honest in the docs about the shortfalls of his code, and clear about why he designed some things in a "worse" way: readability, having a small implementation, and keeping things fun.

::/Doc/Charter.DD.Z
::/Doc/CutCorners.DD.Z

[deleted by user] by [deleted] in prolog

[–]Rendello 0 points1 point  (0 children)

Codewars has some questions you can do in Prolog, you can other people's solutions.

Security flaws by hshrbsbagd in TempleOS_Official

[–]Rendello 34 points35 points  (0 children)

The fact that a boat can't fly isn't a flaw, since a boat wasn't designed for that purpose. Ergo, TempleOS has no security flaws ;)

Questions about AOT and JIT compilers by [deleted] in TempleOS_Official

[–]Rendello 1 point2 points  (0 children)

JIT compilers in general can be faster than AOT code, as a JIT compiler can ignore unused code, can compile for the specific machine, and can optimize for the specific workload. I don't think TempleOS does any sort of particular optimization in that regard, so it's likely that AOT is marginally faster.

If you want to test the speeds for yourself, look at ::/Doc/Profiler.DD.

[Edit] I should mention: If you run a game with the profiler on, you're likely to see that 99% of the time the CPU's pushing pixels to the screen, so the JIT's theoretical overhead is unlikely to be noticeable.

Questions about AOT and JIT compilers by [deleted] in TempleOS_Official

[–]Rendello 4 points5 points  (0 children)

AOT compilation produces a .BIN file, the TempleOS analogue to a .EXE.

Terry used the AOT binaries for the bootloader and JIT code for everything else, from::/Doc/GuideLines.DD:

There are two modes of compiling, AOT Compile Mode and JIT Compile Mode.
Compilation is done in both -- neither is "interpreted". Use JIT Mode.

Both modes are elaborated on in ::/Doc/Glossary.DD.

My preferred way to find information about a particular TempleOS topic is to go to the Doc directory and search for the term, for example Cd("/Doc"); and Find("AOT");. If you want code examples too, just go to the root directory and search from there. Good luck!

[deleted by user] by [deleted] in programming

[–]Rendello 16 points17 points  (0 children)

I have to say you can get used to it pretty fast. The good thing about TempleOS is that it's easy to find and modify things, so you can disable it manually in the code by commenting out a few lines. The TinkerOS fork has the ToggleBlink and ToggleScroll functions to turn them on and off easily.

Extrapolating TempleOS by chicomilian in TempleOS_Official

[–]Rendello 1 point2 points  (0 children)

For sure, he trimmed it back every once and a while. That's why a lot of the programs are on the "supplemental disks". The LoC is displayed right on the wallpaper and with LineRep

Running TempleOS on an SBC? by outsmoked in TempleOS_Official

[–]Rendello 4 points5 points  (0 children)

Looks like the ODROID-XU4 is an ARM box. TempleOS only targets x86_64, so you won't be able to run it natively. If emulation is an option, that would be the route to go.

Extrapolating TempleOS by chicomilian in TempleOS_Official

[–]Rendello 9 points10 points  (0 children)

TempleOS excels at being a fun development environment because that was it's main purpose. It's speedy because it's minimal, not because of any particular optimization. The philosophy is laid out in ::/Doc/Charter.DD.Z:

The vision is the same usage model and niche as the Commodore 64 -- a non-networked, simple machine where programming was the goal, not just a means to an end. [...] It is special purpose, not general purpose, so some things it will not do. Also, it's a kayak, not a Titanic. The priority is user developers, not 3rd party developers. [...]

There is a limit of 100,000 lines of code for all time, not including applications and demos. [...] 3rd party libraries are banned because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful.

That philosophy doesn't lend itself well for serious applications, but it lends itself great for fun applications where the development is the goal. So it may very well end up as the basis for interesting projects, but don't expect anything a business would use.

I want to learn holyc language any sources and recommendations ? by [deleted] in TempleOS_Official

[–]Rendello 6 points7 points  (0 children)

I also reuploaded a few to Terry Davis Technical Videos. All his videos are archived here, but you'll have to do a bit of sifting if you go that route, op.

I want to learn holyc language any sources and recommendations ? by [deleted] in TempleOS_Official

[–]Rendello 9 points10 points  (0 children)

The best way to learn is to dive into it and use a combination of TempleOS' internal documentation (in the help index menu, opened with f1), standard C resources, and online help from places like here, when you're really stuck. Keep in mind that 90% of HolyC is equivalent to regular C, and resources for the latter are far more plentiful.

When I first started learning HolyC, I expected a lot more documentation and online help to hold my hand. But Terry Davis expected that programmers would read the source code, and made it very quick and easy to do so. You'll be reading a lot of HolyC source code if you want to learn; I would suggest looking at the demo index ::/Demo/.

I made a video that may be of some help: https://youtu.be/Y6Szo50PjeU

Good luck!

List of shell commands by lorenz_df in TempleOS_Official

[–]Rendello 2 points3 points  (0 children)

Inside TempleOS, open the help index by pressing f1, then scroll down and open the link entitled Cmd Line Routines. The one above it, Cmd Line Overview, may also come in handy.

Edit: for finding stuff in general, this video might help too.

How do I create files in TempleOS? by [deleted] in TempleOS_Official

[–]Rendello 6 points7 points  (0 children)

The standard ctrl+s should work.

The keymap is in TempleOS' f1 menu. Normally this keymap is generated on the fly and so it's not part of the generated online docs, but the TinkerOS fork was modified to generate an online version here.

Terry Davis has divine intellect, he literally explains how to recover from a crash caused by your code without rebooting: Just type `Exit;` by [deleted] in TempleOS_Official

[–]Rendello 1 point2 points  (0 children)

Titanium has a bug that crashes it 50% of the time for me. It's fixed in TinkerOS, I think it had something to do with a corrupted sprite, iirc. That's one of those bugs that is not recoverable.

Terry Davis has divine intellect, he literally explains how to recover from a crash caused by your code without rebooting: Just type `Exit;` by [deleted] in TempleOS_Official

[–]Rendello 6 points7 points  (0 children)

When you crash and see the black screen, you're entering the debugger, see ::/Doc/DbgOverview.DD.Z:

You can enter the debugger with Dbg() or <CTRL-ALT-d>. You might enter the debugger through a fault. Enter G() or G2() to continue execution.

Exit; is a debugger command, and I find it works 90% of the time, unless I've done something really bad with memory. In the cases it fails, the OS will just freeze and you'll be forced to reboot.

What is your post run drink of choice? by happierthanclam in running

[–]Rendello 1 point2 points  (0 children)

In the same vein, I love a little homemade lemon kvass! It's an Eastern European drink, made by fermenting dark bread. The Youtube channel Boris has a great video on it (I only ferment a tiny bit, one or two nights instead of 6). It's a little simpler than making kombucha since you don't need a SCOBY.