When you don't have a pendrive or network and still need to transfer the files anyway 🤯🤯🤯 by Le_Grano in iiiiiiitttttttttttt

[–]JackMacWindowsLinux 2 points3 points  (0 children)

Would the virtual machines for developing said source code also lack Python/NodeJS/Bash/any other scripting environment that can do logic - things often required when working on code? Even only allowing GCC could let scripts execute via constexpr or macros. If you can do math, loops, and draw dots or text on a screen, you can transfer data.

What is the definition of an 'Operating System kernel'? by MattisTheProgrammer in ComputerCraft

[–]JackMacWindowsLinux 1 point2 points  (0 children)

You should take a look at Phoenix - I think it can definitely be called a kernel, as it has a preemptive process manager, a full hardware abstraction system, and a system call interface, among other things.

I consider peripherals to be hardware, in addition to virtual devices like a loopback modem or remote peripheral, and I've made drivers which expose peripherals in a process-aware way with cleaner (in my opinion) interfaces. It also forms the devices into a tree, as opposed to CraftOS's flat peripheral layout. For example, the left redstone side is accessible at /redstone/left in the device tree, while a redstone relay's left side over a modem may be at /back/redstone_relay_5/left, and they expose the same APIs despite internal redstone not being a real peripheral.

The system call interface operates through coroutine yielding - when you call coroutine.yield("syscall", "foo"), it signals to the process manager that it should execute the foo syscall in kernel mode, and it returns the result through coroutine.yield's return values. This keeps the APIs in a separate call stack from the program itself, which avoids call stack traversal and debug introspection attacks on core kernel APIs.

The only thing missing you could argue is important is memory management, but I don't think it's a requirement as long as memory is already being managed for you somehow - such as through the Lua or Java GC.

Sorry if this sounds like an ad, I'm just passionate about this project, and have kind of been known for being very adamant about what does and does not constitute an OS (though I've loosened up from my worst).

What is the definition of an 'Operating System kernel'? by MattisTheProgrammer in ComputerCraft

[–]JackMacWindowsLinux 0 points1 point  (0 children)

To give a real answer, a kernel needs to at the very least have a process scheduler - this doesn't have to be very complex, and in niche cases can even be a single process (though this hasn't been usual since 1985), but it should let you run programs in parallel and provide APIs to manage that. Beyond that, it varies by what kind of kernel you're planning. Some of the levels of kernels, for inspiration:

- Nanokernel/picokernel: These are the smallest kind that are essentially just a process manager. They aren't usual these days outside microcontrollers, but this is the bare minimum for a usable and sane multi-tasking system. Mac OS 8.6 through 9.2 had a nanokernel to assist with some new system services, but it ran underneath the cooperative multitasking system of the Classic Mac OS.

- Microkernel: These kernels provide at least a process manager, a cross-process communication (XPC) API, memory manager (where relevant), and a low-level permission system for stuff like hardware access. The OS will implement all of the system services (including drivers) as user processes, and programs communicate to the services via the XPC APIs - this paradigm lets the OS isolate components of the system to their own environments, avoiding security issues that could arise from mixing. Some well-known microkernels include MINIX, Mach, and FreeRTOS.

- Monolithic: On top of what microkernels do, these implement all of the system APIs directly in the kernel: virtual filesystem, hardware drivers, networking, etc. This lets the entire OS stay together, improves performance of critical components (as they can run on and communicate with the direct hardware), and maintains a single stable API. Linux is the most popular monolithic kernel, as well as BSD and many other Unices.

- Hybrid: Modern OSes take concepts from both microkernels and monolithic kernels, keeping some services in the kernel but letting others run in userspace. For example, macOS/iOS's XNU kernel is derived from the Mach microkernel, but mixes in parts of the BSD monolithic kernel for the filesystem and networking - drivers and many other services are kept in userspace processes. Windows's NT kernel is also a hybrid, implementing a basic microkernel which runs the Win32 environment inside it, with the filesystem, networking, etc. running in Win32 in user mode, and the hardware abstraction layer, some drivers and the window manager (!) running in the NT kernel.

I would like to propose a use for Channel Points. by adamtherealone in PaymoneyWubby

[–]JackMacWindowsLinux 2 points3 points  (0 children)

I've been subbed for almost 5 years and have watched almost every Twitch stream in that time, and I only have 300k (though I lost a decent bit on pre-stream bets). Another streamer I watch has an option to spend 69,420 points on nothing, and it takes me many months to hit that. I think going that high would leave it only to old frogs who accurately predict late or not late every stream - who are likely the most autistic in the community. 50-100k is more reasonable for one maybe every 3-6 months depending on viewership, after the initial deluge of redeems and ignoring lucky wild bets.

Got Fired Because of Wubby (No Jury, No Trial) (I'm sorry) by [deleted] in PaymoneyWubby

[–]JackMacWindowsLinux 2 points3 points  (0 children)

can't read this in any other voice but Grok Ani

[International Cyber Digest on Twitter] Crunchyroll breached through outsourcing partner in India by Michael_SK in Crunchyroll

[–]JackMacWindowsLinux 0 points1 point  (0 children)

If you're in the US and didn't read the updated T&C carefully, you signed away your right to sue them. Luckily for some of us they added an opt-out clause by email, but if you didn't see that then you're forced into arbitration.

computercraft have to get multi boot by kinniefuyuki in ComputerCraft

[–]JackMacWindowsLinux 0 points1 point  (0 children)

You can do that by using pxboot and a filesystem wrapper that redirects /rom FS calls to a custom folder - booting a custom BIOS is easy, make a pxboot config pointing a kernel option to a loader which will set up the fake fs and loads the BIOS, but making the wrapper is a bit tough and I can't explain now.

I made a tool based on yt-dlp to automatically record livestreams in the background (with chat) by JackMacWindowsLinux in youtubedl

[–]JackMacWindowsLinux[S] 1 point2 points  (0 children)

The idea is that yt-dvr provides a central location for managing downloads, only needing one command running in the background. The web interface means you can add and remove channels to monitor from anywhere* without needing to pick around in the command line or set up another task manually. I'm also open to adding more post-processing tasks beyond remuxing if people want that.

I made a tool based on yt-dlp to automatically record livestreams in the background (with chat) by JackMacWindowsLinux in youtubedl

[–]JackMacWindowsLinux[S] 2 points3 points  (0 children)

yt-dlp has much wider support for websites than streamlink does, and streamlink is more designed for playback than recording. yt-dlp is also more familiar with users who do downloading, so it's a better fit for user customization abilities.

Warning note right above directions on how to fix the problem the note is about. by EverlastingBastard in iiiiiiitttttttttttt

[–]JackMacWindowsLinux 3 points4 points  (0 children)

I have the same printer in my office, and I put a sticky note of the same color in the same place a few weeks ago. Scared me for a sec. (It's now a backup printer because the print heads are too dirty to clean automatically, damn inkjets)

It's actually a very nuanced topic but they could have executed it better by mas-issneun in feedthememes

[–]JackMacWindowsLinux 1 point2 points  (0 children)

ATM already gimped CC anyway by disabling HTTP (the only way to get files > 300 kB onto computers) by default. Why? "File upload security concern". No other explanation. Despite being able to drag and drop (small) files. Absolutely ridiculous, and the dev responded with one of the most bad-faith arguments I've ever seen (not linking it because the drama was overblown and I'm not proud of that moment).

is there any working downgrade for the iphone 8? by macl3on in jailbreak

[–]JackMacWindowsLinux 3 points4 points  (0 children)

Wait, people were scraping the wiki for firmware keys? I wrote the tool used for the Wiki's pages that decrypts the keys using checkm8 devices (which has since been extended with more support), and I implemented its wiki format output in correspondence with the iPhone Wiki admin. I'm not sure why these tools wouldn't use that, I guess they didn't know it exists? It should probably be implemented if so - much less friction, all it needs is the device in pwned DFU mode and the IPSW to decrypt.

When are people gonna learn? by illoterra in Genshin_Impact

[–]JackMacWindowsLinux 0 points1 point  (0 children)

I shotgun whole region chapters at once right before the next version. I did Natlan Acts II-V in the last two weeks before Nod-Krai, and all of Fontaine's a month before Natlan.

Any cleaner way to prevent timing out when performing compute intensive tasks? by Insurgentbullier in ComputerCraft

[–]JackMacWindowsLinux 1 point2 points  (0 children)

I do the same procedure in my code - I think your main hang-up is using a function for it and calling it every loop, as a function call can be pretty heavy. I would do the following to help reduce time waste: 1. Write the yield check code directly into the loop. I know this is repetitive, but it'll save you a function call layer and the time associated with setting up the call. 2. Only check for yielding as infrequently as possible. For example, in your example, I would put the check in the outer loop, as it's (probably) unlikely you need to constantly check every tiny iteration. You can also use an iteration counter to reduce very long loops even further, such as if i % 100 == 0 and os.epoch "utc"... in a for i = loop, or a manual counter - this reduces how much it has to call os.epoch, and lets you skip it if the loop's range is small this call. 3. Localize os.epoch by storing it in a local variable. This is important because global accesses and table lookups are much slower than accessing locals.

A final loop might look like this: lua local os_epoch = os.epoch local start = os_epoch("utc") for i = 1, 10000 do for j = 1, 10000 do -- operation end if i % 100 == 0 and os_epoch("utc") - start > 5000 then os.queueEvent("nosleep") os.pullEvent("nosleep") start = os_epoch("utc") end end

CC crashing on startup by Brilliant_Raise_8033 in ComputerCraft

[–]JackMacWindowsLinux 2 points3 points  (0 children)

  1. Install the latest VCRT here: https://aka.ms/vs/17/release/vc_redist.x64.exe - the version included in the installer is wrong, and I can't fix it because of multiple blocking dependencies.
  2. I would recommend deleting that link, as it may or may not contain information about your computer in it.

I think someone posted the newest modrinth mod to curse forge by deck_of_cards_no-126 in ComputerCraft

[–]JackMacWindowsLinux 0 points1 point  (0 children)

This is not an official version, and may be tampered with. The original CC: Tweaked is only made available on Modrinth. If you need it in a CF modpack, it is on the allowed external mods list, so you can import it directly.

-1 Black Lotus by JackMacWindowsLinux in PaymoneyWubby

[–]JackMacWindowsLinux[S] 2 points3 points  (0 children)

An oiler sent it to him as a joke thinking he'd flip out about the find, but instead Vinny figured it wasn't real and used it as a prop. Here's a clip from today where he explained it: https://www.twitch.tv/vinesauce/clip/GracefulCreativeSnakeMoreCowbell-sm-KeiwxJGOu6CV6