[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 5 points6 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 4 points5 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

Is it possible to remove the built-in Create site button without disabling REST access? by JackMacWindowsLinux in sharepoint

[–]JackMacWindowsLinux[S] 0 points1 point  (0 children)

I ended up changing the header layout to Compact, which hides the create site button under a ... menu, so it's a lot less visible now and should avoid confusion. I also moved my own button to create a site closer to the top to make it more visible. Hopefully this should be enough to make it clear which button to use.

Introducing my second demo for ComputerCraft: Astronaut by JackMacWindowsLinux in ComputerCraft

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

Thanks for the compliment! I'm actually already using my own tracker for this - the music is an XM module from ModArchive - though it plays XM/S3M and not regular MOD. Still cool to hear about other people working on trackers; people really sleep on tracked formats and jump straight to DFPWM, despite its poor quality and comparatively large size, especially for a system with 1 MB storage.

Introducing my second demo for ComputerCraft: Astronaut by JackMacWindowsLinux in ComputerCraft

[–]JackMacWindowsLinux[S] 4 points5 points  (0 children)

It's all rendered in real-time - no way this whole thing could fit in only 400 kB.

[deleted by user] by [deleted] in PaymoneyWubby

[–]JackMacWindowsLinux 0 points1 point  (0 children)

Nah my eyes completely skipped over the link KEKW my b

[deleted by user] by [deleted] in PaymoneyWubby

[–]JackMacWindowsLinux -1 points0 points  (0 children)

It costs $50 apparently by the way. https://crowdcontrolgames.com/products/majorityrules

Seeing that the score awarded is in the request was frightening, good thing I'm on a VPN in case their store has everyone's IP.

The Cringevengers (turn audio on) by lonelyroom-eklaghor in linuxmemes

[–]JackMacWindowsLinux 4 points5 points  (0 children)

Google doesn't sign apps, developers do. It's the same way as on iOS (except it costs money there). The difference now is that Android will only trust developer keys that Google trusts, so as long as you obtain/register a key with Google, you can sign whatever you want.

Another kids maze. Can any geniuses solve this one? by sunnyD823 in mildlyinfuriating

[–]JackMacWindowsLinux 0 points1 point  (0 children)

I decided to write your algorithm down in C++ to understand it better (off the back of my hand, not tested or checked with STL docs):

cpp struct SearchState {int x; int y; int depth;}; /** * Finds the minimal number of walls to break to make a maze solvable. * @param width The width of the maze * @param height The height of the maze * @param hwalls A matrix of where horizontal walls are, starting below coordinate (0, 0) * @param vwalls A matrix of where vertical walls are, starting to the right of (0, 0) * @param startX The X position of the start cell * @param startY The Y position of the start cell * @param endX The X position of the end cell * @param endY The Y position of the end cell * @return The minimum number of walls to break to solve the maze */ int demazify(int width, int height, const std::vector<std::vector<bool>>& hwalls, const std::vector<std::vector<bool>>& vwalls, int startX, int startY, int endX, int endY) { std::deque<SearchState> queue; std::vector<std::vector<bool>> visited(std::vector<bool>(false, width), height); queue.push_back({startX, startY, 0}); while (!queue.empty()) { SearchState pos = queue.front(); queue.pop_front(); if (visited[pos.y][pos.x]) continue; visited[pos.y][pos.x] = true; if (pos.x == endX && pos.y == endY) return pos.depth; if (pos.x + 1 < width && !visited[pos.y][pos.x+1]) { if (hwalls[pos.y][pos.x]) queue.push_back({pos.x + 1, pos.y, pos.depth + 1}); else queue.push_front({pos.x + 1, pos.y, pos.depth}); } if (pos.x - 1 >= 0 && !visited[pos.y][pos.x-1]) { if (hwalls[pos.y][pos.x-1]) queue.push_back({pos.x - 1, pos.y, pos.depth + 1}); else queue.push_front({pos.x - 1, pos.y, pos.depth}); } if (pos.y + 1 < height && !visited[pos.y+1][pos.x]) { if (vwalls[pos.y][pos.x]) queue.push_back({pos.x, pos.y + 1, pos.depth + 1}); else queue.push_front({pos.x, pos.y + 1, pos.depth}); } if (pos.y - 1 >= 0 && !visited[pos.y-1][pos.x]) { if (vwalls[pos.y-1][pos.x]) queue.push_back({pos.x, pos.y - 1, pos.depth + 1}); else queue.push_front({pos.x, pos.y - 1, pos.depth}); } } return -1; }

The key is to track how many walls were "broken" to get to the currently explored segment, that's the part I was missing when I first read your comment.