@gilbert189

i'm gilbert_given_189 on Scratch.
Wall

Let’s play a game of “Fortunately, Unfortunately“. Respond the previous post (the first comment below this post) by replying this post (not the previous post!)

I’ll start with: “I found this website.“

I got access to Jeff. Turns out someone detached the power jack to move it to the table… (I still believe Jeff has the “shut down by itself” disease, but just to be safe I’ll put the “do not touch” sign in case somebody did it for some reason)

As promised, the log data of ChanSpec has been published. This includes the older logs (though this has already been done). You can get them here:

Now that I have Jeff running again for (probably) the last time, I wonder what should I do with it. Should I just left it running doing its retirement, backing up all the data still left on the drive? Or should I run something on it as its last mission?

I made it, T-60

I missed the train to go home and I have to wait for 2½ hours for the next one to arrive 😩

I’m staying in the station, for punishment…

(actually, my mom can’t enter the boarding house anyway so I’m going back)

Aug 24, 2024, 11:00 AM
5 0 0

NOBODY SHOULD DO THIS (VERY REASONABLE THING) AND EVERYONE THAT DOES SO DESERVE TO LIVE IN MY SPECIAL HELL.

Aug 24, 2024, 12:00 AM
7 1 0

The writer of the academic guide uses LaTeX for it and I am happy because of that

how did I get from "how should you implement posting" to 1984

My uni is offering Office 365 for free

should I take it

Aug 21, 2024, 1:21 AM
3 0 1

Corkboard and ChanSpec Ceasing Operation

I am sad to announce that Corkboard and ChanSpec are ceasing operation.

Jeff, the budget ASUS laptop I've been using since ~2018 who is hosting Corkboard and ChanSpec, is currently in poor condition. There are cases where it shuts down all by itself, which is annoying since I had to restart it back every time, which is infeasible since I am currently living in my boarding house, around 100 kilometers driving from home (and I had to use the train to get there).

Recovery of all the data from Jeff to my new laptop John is still far from done, but it is already adequate for my purposes. Projects that I am "actively" working on like tbgclient-rewritten, Flipbit, etc. have been backed up to John and development of them will continue as usual (well, under Windows at least, which is less nice). Regarding the data collected by ChanSpec, I will publish the log data to File Garden and Google Drive, along with the source code (again), if the time is possible.

Currently I have no plans to bring back both Corkboard and ChanSpec to John or other computers. I have no resources to run these bots, especially ones that would satisfy my parents. Besides, if Jeff’s condition gets worse, I can't remotely turn on Jeff from my boarding house (there's the brother option, but I'm sure he'll get bored of it fast). The Mineral Fish community is well inactive enough anyway.

Back when I just bought John, I envisioned Jeff to be my little server, especially since I had a Cloudflare Tunnels set up on it. But seeing its condition now, I can't trust it to handle that job. I might as well retire Jeff instead. Now, that's not to say that Jeff is dead. Currently Jeff still works, and it still boots Ubuntu/Arch. However, it can't be left unattended, which makes it unsuitable for my use case. That's why I said backup is still possible, even with Jeff's potentially thinning lifespan.

Maybe someday we will get Jeff fixed. At the day we get it fixed though, my parents would probably insist me to pass it over to someone else, since I don't really need a second laptop. Can’t guarantee it though. And while I think having two laptops is nice, I'd rather delegate that task to something else. Something more...fruity, perhaps? Ah, that's merely my wishful thinking.

You've served your job well, Jeff.

TBGs that I’ve ported into SNSes

  • Fortunately, Unfortunately on wasteof (present on my pinned post)

  • (someone) owns the moon on wasteof (that went horribly because I don’t know how it started)

  • Etchbox on Darflen (still going for some reason despite the database reset, even got its own community)

  • Walmart War on wasteof and Darflen (almost no one cared)

To use the clock in my laptop, I had to update it first?!

What the intended interpretation is supposed to be:

You can do all of this in just a single, flat device.

What others interpreted it as:

Instead of whatever you are doing, why not use our thing instead?

Aug 17, 2024, 3:23 PM
3 0 0
use rand::Rng; // import rand
use std::cmp::Ordering; // import ordering
use std::io; // import io
// nothing here
fn main() { // start `main` function
	println! // print the text
		("Guess the number!"); // about what this program does
// nothing here
	let secret_number = // get secret number
		rand // on module rand
		::thread_rng() // get this thread's RNG
		.gen_range(1..=100); // generate number between 1 and 100
// nothing here
	loop { // i feel loopy
		println! // print the text
			("Please input your guess."); // to ask for guess
// nothing here
		let mut guess = // define mutable variable `guess`
			String  // of type String
			::new(); // a blank value
// why are there so many blank lines
		io::stdin() // get standard input
            .read_line // read a line there
				(&mut guess) // borrow guess to write it there
            .expect // when it failed
				("Failed to read line"); // panic with this text
// i'm lonely
		let guess: u32 = // define a variable `guess`
			match // we will be matching
				guess // the guess
				.trim() // without the spaces
				.parse() // parsed into a u32
			{ // MATCHING START!
				Ok(num) // if ok
					=> // then
					num, // return that num
				Err(_) // if error
					=> // then
					continue, // ignore
			}; // MATCHING STOP?
// i'm all alone
		match // we will be matching
			guess // the guess
			.cmp // compared with
				(&secret_number) // the secret number
		{ // MATCHING START!
			Ordering // if
				::Less // it's less
					=> // then
				println! // print the text
					("Too small!"), // about it being less
			Ordering // if
				::Greater // it's greater
					=> // then
				println! // print the text
					("Too big!"), // about it being greater
			Ordering // if
				::Equal // it's equal
					=> // then
				{ // do this
					println! // print the text
						("Too small!"); // about winning
					break; // end program
				} // doing done
		}; // MATCHING STOP?
	} // my loopy wore off
} // end `main` function

someone made a code that’s commented in every line so I made it worse

What I wanted to do:

ASUS@JOHN /m/d/Music> ffplay -f lavfi "amovie='02.\ Overworld.mp3'[in];[in]showcqt[out:v];[in]aresample=44100[out:a]"
ffplay version 2024-07-15-git-350146a1ea-full_build-www.gyan.dev Copyright (c) 2003-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: (pruned)
  libavutil      59. 28.100 / 59. 28.100
  libavcodec     61. 10.100 / 61. 10.100
  libavformat    61.  5.101 / 61.  5.101
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
[mp3 @ 00000154d71761c0] Estimating duration from bitrate, this may be inaccurate
[lavfi @ 00000154d7153340] Open inputs in the filtergraph are not acceptable
amovie='02.\ Overworld.mp3'[in];[in]showcqt[out:v];[in]aresample=44100[out:a]: Invalid argument

What I actually had to do:

ASUS@JOHN /m/d/Music> ffmpeg -v -8 -i 02.\ Overworld.mp3 -filter_complex "[0:a]showcqt[out]" -map "[out]" -map 0:a -c:v rawvideo -c:a pcm_f64le -f nut pipe: | ffplay -i pipe:
ffplay version 2024-07-15-git-350146a1ea-full_build-www.gyan.dev Copyright (c) 2003-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: (pruned)
  libavutil      59. 28.100 / 59. 28.100
  libavcodec     61. 10.100 / 61. 10.100
  libavformat    61.  5.101 / 61.  5.101
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Input #0, nut, from 'pipe:':aq=    0KB vq=    0KB sq=    0B
  Metadata:
    TBPM            : 105
    encoded_by      : LAME in FL Studio 20
    date            : 2023
    encoder         : Lavf61.5.101
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, SAR 1:1 DAR 16:9, 25 tbr, 51200 tbn
      Metadata:
        encoder         : Lavc61.10.100 rawvideo
  Stream #0:1: Audio: pcm_f64le (PFD[64] / 0x40444650), 44100 Hz, 2 channels, dbl, 5644 kb/s
      Metadata:
        encoder         : Lavc61.10.100 pcm_f64le
  23.08 A-V: -0.016 fd=   6 aq=   18KB vq=18225KB sq=    0B

thanks ffmpeg

I’ve just realized that the Bounce Tales music is in the Roland GS soundfont (the default one for Windows for playing MIDI files)

Makes me wonder if somebody had remade it into a MIDI file exactly