@josh@joshthomas.dev avatar

josh

@josh@joshthomas.dev

Husband
Father
Programmer, mostly #Python :python: and #Django :django: (sometimes JS :javascript: / TS :typescript: 😈)
#DSF :django: Member
#OSS :oss: contributor/maintainer
University of #Alabama :alabama: alum, #RollTide!

This profile is from a federated server and may be incomplete. Browse more on the original instance.

josh, to random
@josh@joshthomas.dev avatar

“Hmm, this immutable system, container approach to the Linux desktop that the Universal Blue/Bluefin folks are doing sounds interesting. Let’s give it a try! I’ve got a spare SSD, it won’t mess up my main Windows install,” he said unaware of what’s to come.

Little did he know the devil BitLocker was sitting idly by, just waiting for the opportunity to deny him entrance back in.

josh,
@josh@joshthomas.dev avatar

“What’s that?”, BitLocker says with a grin, “Oh, you mean you don’t know your recovery key? Only your system administrators do, who are skeptical of Linux in the first place?”

He looks back and forth, the rears his head back and lets out a big belly laugh. “Well now! This certainly won’t help your case now will it? What did you think would happen? They know all and see all.”

josh,
@josh@joshthomas.dev avatar

I may not be able to get back into Windows at the moment — that’s going to have to wait till Monday when I either get the BitLocker recovery key or I just wipe and re-image it — but I’ve got my Bluefin/Aurora based Linux humming along pretty nicely.

Layered on my preferred terminal, browser, and password manager so they are all playing well together. Dotfiles and applications are installed and my typical dev environment is working damn well.

josh, (edited )
@josh@joshthomas.dev avatar

I want to play around with the containerized toolbox approach that this type of Linux setup enables and see what CLI tools and applications I can use that way to kick the tires on if all of this is even worth it.

josh,
@josh@joshthomas.dev avatar

It’s been such a breath of fresh air to work with too! Especially compared to my standard windows with WSL2 setup. I’m grateful that it let me use the OS and tools I’m comfortable with, but I forgot how bad the perf hit is to that approach.

Though part of that could be the heavy handed CheckPoint software mandated by the security team. My >2 year old laptop with an i7 and 64GB of RAM frequently slows to a crawl over in Windows land. But the past couple of days it’s been downright snappy.

josh, to random
@josh@joshthomas.dev avatar

Excited to dig in to this and share it with the team at work! Bonus appearance of @paulox !

josh,
@josh@joshthomas.dev avatar

Nice distraction from the damn PyCon FOMO I’m feeling 😫

josh, (edited ) to random
@josh@joshthomas.dev avatar

Couldn’t sleep this morning so I game planned a new Django package based on how I’ve been confguring my published apps. After a while, I did a quick google search and realized I had basically reverse engineered django-appconf (at least the surface level API).

Oh well, at least I didn’t build the thing 😂

josh, to random
@josh@joshthomas.dev avatar

@stan 👋 seeing your follow reminded me I promised you a PR for automatic task registration in django-q2 and I completely forgot about it 😫😅

josh, to random
@josh@joshthomas.dev avatar

Got locked out of my Facebook account. First attempt at uploading my ID didn’t work, next up this dystopian level shit where I have to record myself holding up a code and proving I’m not AI or a deepfake.

josh,
@josh@joshthomas.dev avatar

“Record a video of yourself holding the code. To make sure your video is approved, follow these rules:

  • Make sure that your whole face is visible and that you have enough light for the camera.
  • Avoid wearing anything that blocks your face, such as a mask or hat.
  • Physically hold the code so your hand is visible.
  • Show head movement by tilting your head to the left, to the right and up and down.” 1/2
josh,
@josh@joshthomas.dev avatar

“- Show hand movement by moving the code to the left, to the right and up and down.

  • Make sure no one else is visible in the video and that no personal information can be seen.” 2/2
josh,
@josh@joshthomas.dev avatar

I don’t even use Facebook, I just want to see a restaurant’s to-go menu 😩

josh,
@josh@joshthomas.dev avatar

Did the video, got back in to my account. What's concerning is I had 2FA enabled. Did someone actually breach my account? Or did they spam login enough to cause this grief?

josh,
@josh@joshthomas.dev avatar

What's fun is I went to update my 2FA just to be sure, but because I haven't used Facebook in who knows how long they won't let me set up a new one until I've used this device for a period of time. How long? "A while"

They sure let me delete my old 2FA before telling me that though! Now I'm extra secure!

josh, to random
@josh@joshthomas.dev avatar

Wrote a cursed custom Django field, OPField, that stores the location to a 1Password item using their custom URI (op://…) and has the ability to get the secret via the op cli.

op_uri, secret = OPField.with_secret()

I blame @CodenameTim and his blog post about the RegisterField that I haven’t been able to get out of my head since he wrote it months ago.

josh,
@josh@joshthomas.dev avatar

Well, I cleaned the code up a bit (now using contribute_to_class instead of with_secret) and added testing and some initial documentation.

It's now available at https://github.com/westerveltco/django-opfield and on PyPI

josh,
@josh@joshthomas.dev avatar

Thanks to @CodenameTim for the initial spark of inspiration and @bmispelon for the contribute_to_class tip!

josh,
@josh@joshthomas.dev avatar

Already discovered a bug 🤦

josh, to random
@josh@joshthomas.dev avatar

how's your day going? here's mine

josh,
@josh@joshthomas.dev avatar

I guess I get what I deserve for complaining about django-stubs, after creating a package that dynamically adds fields to a model and trying to figure out how to support type hints for it 😬

josh,
@josh@joshthomas.dev avatar

@carlton Look, I just want the type checker to read my mind and do what I want without me telling it, is that so hard to ask 🤣

josh, (edited )
@josh@joshthomas.dev avatar

@carlton But in all seriousness, it's a field that adds an additional attribute to the model using contribute_to_class -- https://github.com/westerveltco/django-opfield. I'm sure it's possible, I just need to dig in to how django-stubs/django-types adds things like the additional attrs that DateField or ForeignKey adds to a model. (Though TBH with those libraries in practice, I've never been able to feel like I've gotten it nailed down, so maybe it's a fools errand.)

josh,
@josh@joshthomas.dev avatar

@carlton 🙌🙌🙌🙌🙌

So easy to get caught up in the churn of typing, so hard to stop yourself when it starts to become the problem you are solving instead of the thing you actually should be working on.

Or at least my stubbornness makes it hard to stop - “I will not let this tool get the better of me!” 😅

josh,
@josh@joshthomas.dev avatar

@carlton 💯

What’s that saying.. you can’t truly love something (language/framework) till you see all the skeletons in the closet? I don’t think that’s it but you get my drift 😄

I don’t know why I woke up this week and chose pain aka trying to nail down some typing problems that have been a thorn in my side for a while, but I did.

josh,
@josh@joshthomas.dev avatar

@carlton One of the benefits of Python is that it all ultimately doesn’t matter at runtime, as long as you have a robust test suite you trust. I just wish it wasn’t so painful. IMO it’s worse than everyone’s favorite bugbear — packaging.

josh,
@josh@joshthomas.dev avatar

@carlton I also hope this doesn’t come across as complaining about all the hard work that has gone into getting us to where we are now. Lots of people smarter than I am working voluntarily… I admire the hell out of every one of them.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • InstantRegret
  • magazineikmin
  • modclub
  • khanakhh
  • Youngstown
  • rosin
  • mdbf
  • slotface
  • Durango
  • ngwrru68w68
  • thenastyranch
  • kavyap
  • DreamBathrooms
  • JUstTest
  • cubers
  • osvaldo12
  • Leos
  • anitta
  • everett
  • ethstaker
  • GTA5RPClips
  • tester
  • cisconetworking
  • megavids
  • tacticalgear
  • normalnudes
  • lostlight
  • All magazines