Saturday, October 26, 2024

good at making ui, bad at using it

I always joke that one reason I’m good at making UIs is I’m pretty poor at using them.

Case in point: I was always wanting a system-wide easy to use “audio output selector, independent of any app.

The closest was under that bluetooth thing, but even once this control panel was open, it was another tap to open the top left panel, then a long tap to open the bluetooth list.

Somehow I never saw the AirPlay icon I was hoping for, up there in the top right.

(it was drawn to my attention by a “how to get a damn Sonos speaker working” video, but the frustration with Sonos is another story)

Monday, October 21, 2024

today's css weirdness: display:contents

display:contents is a little weird... basically it kinda sorta just removes the object - like assuming it's some kind of parent, its just showing the kids kinda raw.

Friday, October 18, 2024

intuitive-ish

I prefer a 3 screen layout when at a desk with my Mac, but couldn't figure out what determined which screen got the Dock - sometimes it would jump for no apparent reason, and other times I wish I could make it go to another screen because it was interfering with a full screen display.

Turns out it's dead simple: pushing the mouse to the bottom of the screen (and a little beyond, I guess) puts the Dock on that screen. I think there's a good chance that having learned it I will remember it - so something can have that "semi-intuitive" flavor but discoverability can still be weak.

(I guess I should say I also like to have the Dock visible and not auto-hiding (I suspect auto-hiding may be the source of "move cursor to where you expect the Dock to be to make it show up there.) I suppose I like being able to see which Dock icon I'm aiming for as the pointer moves there, rather than waiting til the Dock shows up...)

Thursday, October 17, 2024

frank m taylor on front-end development

Spoilers from the ending of Frank M Taylor's spirited, foul-mouth  Rant about Front-end Development:

  • Think and care about the content first. Because that’s what the users care about. Assume the users’ interests are more important than your own.
  • Quit acting like CSS is some giant-ass mistake that needs fixing. A group of people who were collectively smarter than us wrote those specs. They didn’t make mistakes. Assume you are making the mistake, not them.
  • Server-side rendering was not invented with JavaScript and it doesn’t have to be implemented with JavaScript. There are many ways to render content on a server. Assume non-JavaScript solutions existed first.
  • JavaScript either is neither the God-send nor the hell-spawn for your project. It is a tool which you can choose to use incorrectly. Learn when JavaScript is the right tool for the job.
  • Quit doing hard things for simple problems. Quit doing things that are degrees of difficulty harder than the problem. When a problem presents itself, look for multiple solutions, and then choose the simplest one. Assume the simplest solution is the best one.
  • Quit chasing the new and shiny in your day job. I, too, am excited about the new and shiny. But I put a 2-year buffer between me and prod because I don’t want to be the person to have to discover browser bugs, framework bugs, or even compiler bugs. 

 I think my main point of disagreement comes earlier in the article: "The new and shiny is fun for side projects. It is not for production." I think the new and shiny is for self-education only - at least if your side project is something you want to maintain over the years. Writing something in a toolkit you barely understood and then never used again is not a recipe for something you can fix and grow later.

Tuesday, October 15, 2024

note to self

The other year I took this one course I keep expecting to be able to find here but I guess I never posted about it: it was https://www.udemy.com/course/nextjs-dev-to-deployment using strapi as a headless CMS. I was impressed with strapi's handling of stuff like image resizing which is often a pain in the butt.

here i am!

At my last job, the meeting room numbering and general seat arrangement was a little hard to remember, and I made up a tool - here is a sanitized version of here-i-am .


Honestly half the value was just having a nice easy to get to map online, but it let you drop a pin and send that pin location when you copied the URL.  I used toastr.js for the "copied to clipboard" message, the rest is straight vanilla JS + CSS...

Monday, October 14, 2024

possible upcoming features to core js

Not as important as the selection of a framework, say, but the stronger the core of JS gets, the more you can do with or without a framework, so fun to see what parts the language might be building up...

Friday, October 11, 2024

one million checkboxes, check

There was a really interesting site called One Million Checkboxes - here is a cool article about it - the technical challenges it tackled and the community of hackers who found a way to communicate (spoiler: one idea is to send messages to each other by assuming other people would figure out to try displaying stuff as a 1000x1000 grid)

I always think about the abstract problems of trying to communicate with aliens, finding the commonalities and building from there...

Tuesday, October 1, 2024

genie come back

For a long time Macs had an easter egg where if you held the shift key while hitting "minimize" it would have a nice slow motion view that let you appreciate the animation (the Genie effect)

For some reason they removed it by default but DaringFireball points out you can get it back:

defaults write com.apple.dock slow-motion-allowed -bool YES; killall Dock
 

The Mac "minimize" view is always kinda interesting. It's sort of like putting something on the shelf, like how it takes it out of the normal cmd-tab flow.