Thought my sewing machine box looked like an old computer terminal so I used my craft cutter to turn it into one!
=> More informations about this toot | View the thread
This means any link in an email with 2+ query params is broken; reset password*, magic links, expiring S3 links, utm tracking, etc.
If you have a Rails app with mailers that has rebooted/redeployed since Monday, please check email links (not in Letter Opener or Mailer Previews but real email). All templates are affected; erb, haml, mjml
Broken or not let me know!
(*Devise reset password only has 1 param so isn't affected, else there would be a flood of reports)
=> More informations about this toot | View the thread
Can I nerdsnipe anyone into a Rails ghost hunt?
On Monday our app started sending emails containing broken links. We didn't update OS or gems. I've even reproduced in a new blank Rails app. None of us can figure out what changed... 👻 https://github.com/rails/rails/issues/52602
=> More informations about this toot | View the thread
Just came across CUE config / data validation language. I love its "types are values” concept.
Having not thought it through at all, I think a programming language that worked this way would be really cool - would simplify type definition syntax.
https://cuelang.org/docs/introduction/#types-are-values
=> More informations about this toot | View the thread
I’m nostalgic for 90s PC game marble texture
=> More informations about this toot | View the thread
@ivory I would love proper mastodon account filters rather than app level filters. Or at least a link to open server settings in a modal
=> More informations about this toot | View the thread
@MonaApp any chance of integrating Mastodon filters like Ice Cubes does? Not a fan of app specific mutes
=> More informations about this toot | View the thread
Any good tools that are an alternative to git rebase - either CLI or GUI?
Rebase is good for squashing, removing, and rewording commits. It’s okay at re-ordering commits, but often that causes conflicts when I think it shouldn’t.
What I really struggle with is:
I know you can edit or break but it’s too fiddly.
=> More informations about this toot | View the thread
Is there something like Pi-hole that can modify the contents of pages? Or how would one build that, VPN? Something something Nginx? Is SSL termination tricky?
=> More informations about this toot | View the thread
I vaguely remembered this was a thing. You can define Ruby methods inside each other, but they seem to end up in the same scope so I don’t think there’s anything fun you can do with it @DRBragg @Dan2552
=> More informations about this toot | View the thread
On my yearly early morning train pilgrimage to @brightonruby #BrightonRuby ❤️💎
=> More informations about this toot | View the thread
I think I have a minor lost media thing. In the early 2000s I remember having a PC demo disc of SSX Tricky.
The full game isn't lost; it’s widely known on Xbox, PS2, and GameCube. But it was never released on PC and I can find no mention of a PC demo anywhere.
As the original Xbox was kinda just a Pentium III PC running Windows NT I assume PC ports were easy and vice versa. But why release a demo on a platform where you can’t buy the game?
I have to find the disk next time I'm back home.
=> More informations about this toot | View the thread
USB soldering irons are so cursed. USB-C one end, TRS jack the other. Let me just plug these 350ºc headphones into my iPhone why not! (I think they're neat, just cursed) https://www.crowdsupply.com/sitron-labs/solder-ninja-pen
=> More informations about this toot | View the thread
I did find one way using RubyVM but it doesn't work in ruby.wasm so I can't use it:
RubyVM::AbstractSyntaxTree.of(prk).children.first.zip(prk.call).to_h [#] => { :a => 1, :b => 2 }
=> More informations about this toot | View the thread
Ruby challenge! Can anyone find a way to get the names of the local variables defined within an arbitrary lambda without changing the lambda? Example lambda:
prk = ->{a=1, b=2} [#] … some_magic(prk) #=> [:a, :b]
My first thought was prk.binding.local_variables
but Proc#binding
returns the binding of the caller not the inner binding. And it's an arbitrary lambda so no variable shadowing ;-)
It's for a silly personal project not prod so I'm happy with weird metaprogramming!
=> More informations about this toot | View the thread
def excellent(duper) super duper end
=> More informations about this toot | View the thread
I quite like this code.
It seems I wrote it myself,
Unexpected win.
=> More informations about this toot | View the thread
I don't mind analytics cookies in theory. I want them to make their service better. They need to know how it's used to do so. Except then they get greedy and use the same cookie for ads, so of course I opt out and nobody wins. This is GitHub fyi, accessed by clicking the footer link "Do not share my personal information” 🤔
=> More informations about this toot | View the thread
SolveSpace's garish pixelated UI looks off-putting at first like it was built in the 80s and surely won't make any sense. But that's not true!
I quickly realised its tool palette works like Photoshop, it has intuitive mouse viewport controls, and well labelled icons & menus. Honestly it just works. And it's fast.
I started with the tutorial but found myself quickly able to skip ahead, it's really that intuitive.
Open source, 2D, 3D, comprehensive export. I love it. https://solvespace.com/bracket.pl
=> More informations about this toot | View the thread
I needed to 3D model a timing belt profile and slightly tweak it for 3D printing. But the technical drawing is deceivingly complex.
I normally use OpenSCAD which is parametric (you specify shapes & dimensions), but that won't work here. See all the arcs relative to other arcs relative to points… it needs a constraint solver.
FreeCAD can probably do it but the UX Is inscrutable to me.
So I tried SolveSpace; another open source constrain modeller. And it was a breeze! https://solvespace.com/
=> View attached media | View attached media | View attached media | View attached media
=> More informations about this toot | View the thread
=> This profile with reblog | Go to sfcgeorge@ruby.social account This content has been proxied by September (ba2dc).Proxy Information
text/gemini