When you work so much, you don't know what to do when you have free time. Well, other than working.
I work too much :(
When you work so much, you don't know what to do when you have free time. Well, other than working.
At least I get really nice work benefits.
I want out. I so want out. This job is destroying me but I no longer know anything outside of it. Where would I go? What would I do? I'm sure I'll be as happy a hamster when I go back tomorrow but I know it's slowly wearing me away. This is not sustainable and I don't think I can care enough to do something about anymore.
Maybe I'm destined to grind my life away. #work
The only surefire way to limit your interaction with people is to stay at the bottom. Maybe I should take up carpentry. I hate this. #work
You know what's ironic, you go into tech wanting to avoid human contact only to discover that 90% of your time is interacting with humans. Doesn't matter if you're a IT support technician or a COR #it #technology
I don't think it's accurate to say that AI is to compilers what compilers were to assemblers. For one compilers don't hallucinate... usually. #ai #programming
Weekends off are for the weak, or so I tell myself. At least I had somewhat of a good night sleep.
Finally leaving for the weekend. Will document and hand over the system next week unless new dumpster fires ignite.. probably.
I need a vacation. I want to rest :(
Note to self: Safe Exam Browser (SEB) makes for an excellent kiosk platform if you need to run on Windows. No need to buy Windows Pro licenses or work with the nasty UWP or Microsoft's App Store. SEB does it better and is open source.
Of course, I'd rather just use Xorg/xinit directly and cut Windows out of the loop entirely.
On the bright side, I was able to get Safe Exam Browser to display the examinee's full name and ID number a watermark (implemented as JS added in Admin/Appearance/Additional HTML).
The problem was that Moodle appears to strip out the Javascript on exam pages when SEB is made mandatory. The solution for us was not to make SEB mandatory. We can limit access to machines we control.
Yet another undocumented feature that needs to be configurable and properly documented. #moodle #seb
The only way I was able to figure this out was by hijacking `libmoodle.php` (again), specifically the `getremoteaddr` function and spill the contents of `$_SERVER`.
`http_build_query` was really useful for quickly turning the contents of `$_SERVER` into a string. Think of it as the equivalent to `implode`.
Given the state of Moodle's docs, I suspect this will not be my last time dealing with Moodle's internals.
I may be an idiot, but Moodle's documentation is truly horrific. I finally managed to get Moodle to log true client IP addresses when siting behind a reverse proxy by doing two things, neither of which were documented in Moodle's official documentation at https://docs.moodle.org/500/en/Reverse_proxy_frontend:
1. Configured the reverse proxy to set the header `CLIENT-IP`, and NOT `HTTP_CLIENT_IP` as shown in Moodle's UI.
2. Set Moodle's "Logged IP Source" to `HTTP_CLIENT_IP` in Admin/Server/HTTP.
In Arabic, the translation is:
> الوكيل العكسي مُمَكَّن لذلك لا يمكن الوصول إلى المخدم مباشرة. لطفاً، اتصل بالمشرف.
You can find the line responsible for this misdesign in `./lib/setuplib.php` #moodle
Now let's see if I can figure out how to get Moodle to respect one of the "real IP" headers that it's specifically configured to respect.
I'm so tired. I want to go home. #freedom
Note to self: If you get this message in Moodle:
> Reverse proxy enabled, server can not be accessed directly, sorry. Please contact server administrator.
Or a generic `reverseproxyabused`, it means your reverse proxy is setting the `host` http header. Normally, you'd want to do this but Moodle was specifically designed to break if it gets something that resembles it's base URL.
I want to take a vacation so bad.