AboutAspiring tech-in-training. May contain nuts. Processed in a facility that also processes autism, consume with caution.
SkillsPython 2/3, TI-BASIC, overwhelming stupidity, and the ability to break even the most foolproof systems via breathing nearby. Remote systems tests ongoing, current outlook: still applies...?
LocationYes. No? Maybe.
Joined devRant on 8/9/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
I wrote a file transfer thing to appease the initial idea that keeps coming back into my head every so often, like it's trying to haunt me. Problem: No mobile provider will let me test it, as it's meant to throw disgusting numbers of SMS messages at someone waiting for them. How many, you ask? Well, 1MB of data translates to about 8100 "standard-length" SMS messages. (Standardized length, non-"long" SMS messages are, at best, 70 UCS-2, 140 ASCII, or 160 7-bit characters.) It does work, though, as if I just write out all the SMS messages to files and read those in (in place of actual SMS messages, different delivery of the same data) it works flawlessly.
Why would I ever wanna make this? Well, T-Mobile seems to be more concerned with building new cell towers, rather than fucking fixing the ones currently working. The mobile data component usually dies for 8 or 9 hours a day in this medium-size city, but SMS still works, so... just use that to transfer data!7
(Warning: This rant includes nonsense, nightposting, unstructured thoughts, a dissenting opinion, and a purposeless, stupid joke in the beginning. Reader discretion is advised.)
honestly the whole "ARM solves every x86 problem!" thing doesn't seem to work out in my head:
- Not all ARM chips are the same, nor are they perfectly compatible with each other. This could lead to issues for consumers, for developers or both. There are toolchains that work with almost all of them... though endianness is still an issue, and you KNOW there's not gonna be an enforced standard. (These toolchains also don't do the best job on optimization.)
- ARM has a lot of interesting features. Not a lot of them have been rigorously checked for security, as they aren't as common as x86 CPUs. That's a nightmare on its own.
- ARM or Thumb? I can already see some large company is going to INSIST AND ENFORCE everything used internally to 100% be a specific mode for some bullshit reason. That's already not fun on a higher level, i.e. what software can be used for dev work, etc.
- Backwards compatibility. Most companies either over-embrace change and nothing is guaranteed to work at any given time, or become so set in their ways they're still pulling Amigas and 386 machines out of their teeth to this day. The latter seems to be a larger portion of companies from what I see when people have issues working with said company, so x86 carryover is going to be required that is both relatively flawless AND fairly fast, which isn't really doable.
- The awkward adjustment period. Dear fuck, if you thought early UEFI and GPT implementations were rough, how do you think changing the hardware model will go? We don't even have a standard for the new model yet! What will we keep? What will we replace? What ARM version will we use? All the hardware we use is so dependent on knowing exactly what other hardware will do that changing out the processor has a high likelihood of not being enough.
I'm just waiting for another clusterfuck of multiple non-standard branching sets of PCs to happen over this. I know it has a decent chance of happening, we can't follow standards very well even now, and it's been 30+ years since they were widely accepted.5
Alright, listen. If you come up with a crackme that requires someone to wait for something to happen for, say, 250 hours in real-time... but runs on a Gameboy or whatever other retro console? You're gonna have a bad time.
I'm on a Ryzen 5 2600, and with the most accurate Gameboy emulators out there barely running in Wine I can hit 1000x normal speed if I unlock the emulator's framerate. That 250 hours just became like 45 minutes without having to actually *do* anything. This even applies to "lol reverse this seeded generation thing" if I can try a few million combinations/sec just by incrementing some var in memory and re-running your code. (Yes, i'm literally doing that now. Yes, i'm blowing through this 28-bit keyspace like it's nothing. YES, THEY GAVE ME THE LAST NYBBLE FOR FREE!)3
my brain buzzes more than ever, i can't get my sleep schedule under control, i can't find the motivation to do literally anything unless someone pretty much forces me to do it, i can barely focus on anything, my hands constantly refuse to work properly...
why? why must i be like this? sure, i've gotta do this and that and the other, but none of it ends up getting done because i'm too busy staring at a fucking wall, lost in my own head, and everything gets fucked up.
i can't even be fucked to go for walks or anything because i don't know the neighborhood and there's such a high crime rate here, nothing i'm not used to but still...7
How the fuck do you people develop on Windows? 30GB of Visual Studio dependencies to get a compiler going, now this???10
Why the fuck is Seagate's official bootable HDD/SSD toolkit 32-bit??? It's bad enough that it's TinyCore, but it's 32-bit, so even while booting it tells you to fuck off if a drive has >2TB worth of LBAs, but it's meant for ALL their drives! Their Twitter support was predictably useless, too, and was just "we don't support running the bootable disc off of anything larger than 32GB" and "we don't officially support Linux formatted disks in our tools" (neither of which were even remotely close. The first one I can understand, it was an untrained knee-jerk reaction to a number they recognize, but the other one...)6
Wow, i've been gone a while, huh?
I partly refactored that shitty emulator of mine, and after some tweaking and such, got it using a class and such instead of a bunch of global vars. However, it runs slower and got 1KB larger... how did practicing "better" coding habits make it worse?5
my sleep issues are getting out of hand. i have insomnia and sleep apnea, and materials for my APAP are expensive and nothing that won't fuck up my brain over time (i.e. any sleep aid that isn't melatonin, pretty much all of them make you lose brain matter density over time, and melatonin does jack shit) is strong enough to knock me out. at this point i'm getting one 5AM-4PM sleep cycle a week. i can't exactly fix it as i'm expected to be awake and present during the day, so i'm stuck sucking down caffeine all week during the day to try and be awake for 8 hours. i'm not even employed, so it's sitting and doing fuck all during that time.
goddammit why do i have to go through this shit8
apparently my bank's password length limit of 10,000 is too much for paypal's app to handle and it fucking imploded. sadly, no screenshots were allowed by the app, but it fucking broke so hard it spat logs and shit at me with no formatting or anything. it was NUTS dude9
so I found out that i'm too stupid to understand floats... I look at the structure and my brain immediately smooths over. I just can't understand it for some reason. Even better: this shitbox calculator requires them for LITERALLY EVERYTHING. I can't even have it take a register and turn it into a float or anything, so I can't even operate on anything without massive assembly routines, and I just don't understand what the fuck any of it does or means.
i'm really not cut out for a programming job am i5
TI can't be competent enough to use their own fast circle routine that they implemented in their calculator but they have the braincells required to make the "update the screen" routine "rst 28h"?
i thought it was gonna require a flipped I/O bit or a farcall to another Flash bank that takes a few thousand cycles or something, considering how much sense any of this shit makes inside...2
i've abandoned an old project i did for a retro computing community (i've posted about it here before) because I can't find any motivation to do literally anything anymore, and people in said community were waiting on it. If you want to check it out, it's too big for GitHub, so I uploaded it to anonfiles. I don't know if I can post a link to that in a rant though, so if anyone's interested i'll post the link in the comments once asked.4
I know people are upset over this whole "they're raising the minimum wage to $15/hr" thing but consider the following:
if your employer doesn't raise your wage/salary to higher than that in response, they were only paying you the minimum possible amount to be attractive for your position, and would've only been paying you minimum wage if they could've. They really don't value you as a worker.
note: apparently some businesses have to be approached by you for a "raise" before they can do this in some positions even if they want to raise someone's wage/salary, or so i've heard?11
finally got a Powerline set, so I can actually *use* my desktop upstairs.
...wait, my ethernet isn't working.
look for the chipset's proper driver package...?
"oh it installs the wrong driver by default, which doesn't work on kernel 5.x. Use <other driver, DKMS>"
"oh it won't see your device? downgrade to <version>"
DKMS error: "<snip>/linux-headers-5.10<whatever>/Documentation/Makefile" doesn't exist
fuck it, plug laptop into powerline adapter
less useful than current situation
i'm going to fucking cry8
An entire platform was removed from Google Play, and may be removed from other markets too, not for something they did, but because of the POLITICAL ALIGNMENT OF A MAJORITY OF ITS USERS.
"the users are evil" you're right, let's ban Tor, Snapchat, Whatsapp, Twitter, Facebook, etc. because they've got a metric fuckton of "evil users" too. Oh. Wait. No, that's not how that works, is it?
At some point I need to do an older project i've had on hold a while, but it'd require writing my own ROM patch system as a major step in completing it, as i'd need to dynamically patch stuff into older games based on system, which current patch formats don't allow for. (This project will also help me learn a few things I need for yet more projects I've got stashed away, so it needs to happen eventually.)
Now, the interesting part: the patch format. I was debating on whether to use binary data, like IPS/BPS and similar formats do, which would be easier to implement... but if I were to have plaintext patches, you'd be able to not only understand what's happening, but also have things like scripting and conditionals and user-defined options and such. This would be WAY harder to implement, slow as fuck, and require an assembler per-target-system, either external or internal... but it'd be transparent, editable, and hella extendable.
This would all happen after I'm both over my burnout AND done chewing through my current stack of projects and such, of course, but still... which sounds better to you, dear reader?2
the usual: suffer in the name of curiosity.
all jokes aside, my goal is to finish several projects and take a long-ass break from it all to fix this burnout, and maybe even find a job somewhere in there too? hopefully? stretch goals?
"hey the hi-8 camcorder's working again, can you get this PCI tv tuner card working so we can transfer the tapes to a digital format"
here we go again...
no stickers, so throw it in a machine, boot debian's installer, switch TTYs, "lspci": okay, a pair of "Brooktree BT878" devices. Drivers? ..."support built into most kernels since 2.4." Didn't they remove a lot of legacy hardware support from 5.x or 4.2x or so? Debian works with it... oh, "Debian Sarge." Kernel 2.6. FUCK... well, we'll try Debian 10.6 latest and see what happens.
Currently installing Debian 10.6 on a victim machine from a nonfree ISO to test this. (goddamn, how many times have I installed debian onto something?) Hopefully I don't have to go find a Debian oldoldstable ISO or anything...2
finally got TI to cough up their SDK and I noticed there's no compiler or linker or anything. Turns out I need to use TASM.
...TASM is for MS-DOS or compatible. I'm on Linux.
Well, it went poorly, as usual, specifically like this:
- tried to automate building with DOSBox config and Python script: output binary always corrupted. Manually repeated, TASM mangles output on DOSBox every time. No PCem or 86box, and i'm on a Ryzen, so no KVM DOS. Out of luck there.
- TASM Linux build or wrapper? No build, but there is a wrapper! ...wait, it needs... 4 things written by random people to be made from source. I mean, that's not actually that bad... oh, after setting all of them up (and struggling through some autoconf/automake bullshit, one of the programs only had source for a 2.x kernel and autoconf/automake were not happy about it) it fails because one project's been worked on a lot more and dropped support for working with the other 3... goddammit.
- Community SDK? Several options for this... but all of them need .NET 2 to run on Win9x, don't work in Wine, or require... hey look, TASM! GODDAMMIT!
- DOS on a real machine? It's a massive bitch to shuttle files to and from a real DOS machine quickly and I can't take 30 minutes between builds that take me 4 minutes to change enough to need tested again.
why must i suffer like this22
my 4TB Seagate HDD is failing in a very strange way:
I noticed an issue where my PC would just outright hang for a minute or two occasionally when swapping to the 4TB HDD. When I look at logs, when it hangs, the 4TB HDD times out but then on a retry IMMEDIATELY reads whatever sector just fine. In fact, it reads fine constantly for a few days until the same sector has an issue. So, the timeout is a remap, then? No, as the spare sector and bad sector counts in the SMART info don't change. It doesn't even change how many read errors or anything it's had. Strange, but let's test it with Seatools to be sure.
Tests go as follows:
- Short: pass
- Short: pass
- Long: seatools immediately crashes. Reopening seatools, it pulled a serial of all zeroes... okay....?
- Long: seatools immediately crashes. Seatools gets the right serial on reopen.
- Long: pass
- Long: fail
- Long: pass
- Long: seatools immediately crashes. All zero serial again.
i have no idea what's happening20
for your next edition of "TI's constantly been smoking crack since the 80s and has no intention of ever stopping":
the TI-8x calculators have a hardware buffer and an OS-provided buffer for screen data, effectively being an "immediate" buffer in hardware, to be displayed next VBlank, and a "slower" buffer, being what's copied to the "immediate" buffer when the OS decides it's time to update the screen. All well and good, maybe a little weirdly done but all in all makes sense. (You can even define a third buffer in RAM if you need to triple-buffer your shit.)
The problem arises when you use TI-BASIC and try to draw to the screen:
If you do something like, say, draw a circle, you'll notice that it's visibly drawn to the screen one pixel at a time. However, looking through what bits of the SDK I can find, the OS' "draw circle" assembly routine *doesn't update the immediate buffer!*
This means that, in TI-BASIC, the "draw circle" routine doesn't use the ACTUAL circle-drawing routine the OS provides, but instead individually calculates and plots a pixel, then updates the hardware buffer (an ENTIRE 768 bytes are copied EVERY TIME) and waits for VBlank to pass before repeating for the next one. In other words, it's deliberately slow as fuck.
Why? All the drawing commands, outside of like 2 or 3, do this. Why would you deliberately slow down the process of drawing to the screen on a system that you KNEW would be popular for people to code on???9
trying to unpack game's archives
"this game uses .arc files"
*glances at game's asset folder*
*tries dat/fat unpacker for other game, packer crashes*
well we're fucked, huh4
apparently with massively long videos, with no timestamp corruption or seek table fuckery, like ACTUALLY massively long videos, VLC dies somewere around the "several hundred hour" mark when trying to get the next frame.
is this a bug or did my hubris exceed VLC's tolerance?13
i've been informed by my friend group that i'm the only person to consistently hit issues with not having the skill to do a project, go do other projects to gain the skills, then *come back* to the initial project.
how is this not a common thing2
literally everything, with infinite time to spare. (this is another reason why immortality sucks cock, btw)2
I've compiled enough recent news to point out some notable articles in a list:
- Windows 10 20H2 can corrupt the main filesystem on SSDs when ChkDisk is run under yet-unknown circumstances (https://borncity.com/win/2020/...)
- Nintendo updated SwapNote for 3DS well after killing it off (https://nintendolife.com/news/2020/...)
- Google has finally fully open-sourced Fuschia, its attempt to replace Android, you can now make PRs and such (https://computerweekly.com/blog/...)
- a recent Win10 update for normal users is causing massive speed issues (https://pcgamer.com/microsofts-dece...)
- Amazon's trying to compete with StarLink and it's going pretty okay (https://arstechnica.com/information...)
- Cyberpunk 2077 has a fuckton of fixes in a new update, for those who care (https://theverge.com/2020/12/...)
- Xbox 360-based Halo games are going to have their online component killed in December 2021, for those who care (https://halowaypoint.com/en-us/...)
i forget who said they liked these last time i did them but to that one person, here you are.16
alright well i'll see yall in 30 years when i finally qualify for this (despite "no degree needed" and "entry-level" tags being on the fucking job)4