All posts by Mark J

College Tours: Then vs Now or Here vs There?

I’ve reached the point in my life where we’re now taking tours of colleges and universities for my own kids, and something struck me as we were walking around UChicago this past weekend… aside from the ridiculously expense cost which is potentially a topic for another post.

It was great seeing the beautiful campus, and hearing about all the great things alumni from the university have done. But what hit me was that on the tours we’ve been on, not once have we actually gone into an academic building. We haven’t seen an actual dorm (at UM we saw a “model”… but how realistic is that). And we haven’t seen or eaten at a cafeteria. Sure the guides have told us all about it, but there’s a huge difference between hearing, seeing, and experiencing.

I get it that you can’t really experience a class, and you’re going to get people who complain if you go into the humanities building vs the physics lab (or some such), but the point is something is usually better than nothing.

Now “back in my day” (yes, I’m old) when I gave tours at Kettering all of that was what set things apart IMO. I loved taking the kids/families into the rec center, through the tunnel to the academic building, and even into my own dorm room. I like to think it’s part of the reason I chose Kettering/GMI over some of the other schools I looked at. That openness and lack of pretentiousness. Real people doing real things.

Who knows… maybe they don’t do that anymore at Kettering (my kids have no interest in following in my footsteps), but it would be a shame if they don’t… and it’s a shame they haven’t done it at the places we’ve toured.

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

The Art of Not Sharing

Check out this article: The Art of Not Sharing

“In the pre-digital age, privacy was the default state. Sharing information required effort – writing a letter, making a phone call, or having a face-to-face conversation. Now, privacy requires effort. We have to actively choose not to share, to resist the temptation to post, to keep our thoughts and experiences to ourselves.”

“I think of my journal as my private social media feed, one where I’m the only follower. Like a social media platform, it’s a place for me to share my thoughts, feelings, and experiences. Unlike social media, there’s no pressure for me to perform, no need to curate, no risk of oversharing.”

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

This is an embarrassment and should be a crime

From today’s Morning Brew (which you should subscribe to BTW)

Federal minimum wage
2015: $7.25 per hour
2025: $7.25 per hour

Average cost of a home in the US
2015: $366,000
2025: $503,800

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Drip files one at a time for processing with a Windows batch script

Ever have a collection of files that you need to send off to something else for processing, but need to process the files one at a time waiting for the completion of each (signaled by a file’s existence because you have no hook to the return code of the originating process) before continuing with the next?

No? Just me? 🤣 Anyway, here’s a script that takes an array of files, copies them to a directory for a different app to process, waits for that process to end (by looking for the file with a done extension added) before continuing on with the next.

@echo off
setlocal enabledelayedexpansion

set IMPORTDIR=X:\App\Process\

rem List your files here (one per line)
set FILES[0]=X:\Data\File1.csv
set FILES[1]=X:\Data\File2.csv
set FILES[2]=X:\Data\File3.csv

rem Set the number of files
set NUMFILES=3

set SLEEP_SECONDS=5

for /L %%I in (0,1,%NUMFILES%-1) do (
    call :WAITLOOP "!FILES[%%I]!"
)

echo All files processed.
exit /b

:WAITLOOP
rem Get the base name (without extension) and directory
set "FULLFILE=%~1"
set "BASEDIR=%~dp1"
set "BASENAME=%~n1"

if "%BASENAME%"=="" (
    rem This is important so we actually terminate
    goto :EOF
)

rem Compose the .done filename
set "DONEFILE=%IMPORTDIR%%BASENAME%.csv.done"

if exist "%DONEFILE%" (
    echo Removing previous done file.
    del "%DONEFILE%"
)

copy "%FULLFILE%" "%IMPORTDIR%%BASENAME%.csv"

:LOOP
if exist "%DONEFILE%" (
    echo File found: %DONEFILE%
    goto :EOF
) else (
    echo Waiting for file: %DONEFILE%
    timeout /t %SLEEP_SECONDS% /nobreak >nul
    goto LOOP
)

Just update the details as needed, but the above is tested and works!

Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Handing secrets in PHP Docker Compose site

If you’re using a single instance server (not Docker Swarm) and Docker Compose, but want to keep your secrets out of source control it’s not too bad. First, make sure you’re excluding “.env” in your .gitignore…

.env

Then, add your secrets to a .env file (file name must be exactly .env) in the same folder as your docker-compose.yml…

SEC_1=Something
SEC_2=SomethingElse

Then, be sure to expose your secrets in the “environment:” section of your docker-compose…

    environment:
      SEC_1: ${SEC_1}
      SEC_2: ${SEC_2}

Upload both the .env and docker-compose.yml to the server, and restart docker to pick up the env vars…

docker compose down
docker compose up -d

And finally, use the values in your PHP…

getenv('SEC_1')

Oh yeah, and since your .env won’t be in source control I’d still recommend finding a secure place to save it like a password manager.Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

State gun control laws reduce children’s firearm deaths, study shows

Check out this article: State gun control laws reduce children’s firearm deaths, study shows

“If more guns made us safer, the US would be the safest country in the world by far. Instead, we have a homicide rate that’s 25 times that of our peer nations.”

Note: Since this is an automatically created post there is no commentary on it other than any minimal notes I may have included. Read it and do your own critical thinking. I may get around to adding some/more of my own thoughts or categorizing it… but maybe not. Should the article be behind a paywall let me know and I will figure out a way to get it to you.
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

If you are useful, it doesn’t mean you are valued

Check out this article: If you are useful, it doesn’t mean you are valued

Note: Since this is an automatically created post there is no commentary on it other than any minimal notes I may have included. Read it and do your own critical thinking. I may get around to adding some/more of my own thoughts or categorizing it… but maybe not. Should the article be behind a paywall let me know and I will figure out a way to get it to you.
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

By Default Signal Doesn’t Recall

Check out this article: By Default Signal Doesn’t Recall

Just another reason I love Signal so much

Note: Since this is an automatically created post there is no commentary on it other than any minimal notes I may have included. Read it and do your own critical thinking. I may get around to adding some/more of my own thoughts or categorizing it… but maybe not. Should the article be behind a paywall let me know and I will figure out a way to get it to you.
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

How Linux is built with Greg Kroah-Hartman

Check out this article: How Linux is built with Greg Kroah-Hartman

Interesting how one of the largest (if not the largest) open source projects manages things.

Note: Since this is an automatically created post there is no commentary on it other than any minimal notes I may have included. Read it and do your own critical thinking. I may get around to adding some/more of my own thoughts or categorizing it… but maybe not. Should the article be behind a paywall let me know and I will figure out a way to get it to you.
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.

Systems are crumbling – but daily life continues. The dissonance is real

Check out this article: Systems are crumbling – but daily life continues. The dissonance is real

“What we’re really scared of is that the people in power have not got our back and they don’t give a shit about whether we survive or not.”

Note: Since this is an automatically created post there is no commentary on it other than any minimal notes I may have included. Read it and do your own critical thinking. I may get around to adding some/more of my own thoughts or categorizing it… but maybe not. Should the article be behind a paywall let me know and I will figure out a way to get it to you.
Please remember to subscribe to the newsletter or feed to stay up to date!

Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.