Saturday, July 23, 2022

todo'ing better

I was listening to a podcast with Oliver Burkeman, about time management.

While has some suggestions for "todo lists", his main point is more existential; that it is folly to hope you'll get to do all the things you'd like to in life, and maybe misery to try. (The faint and somewhat bitter silver lining to that is "maybe it's the finitude of life that gives our choices value". I'm a little suspicious that's just sour grapes.)

He also makes some good (if oft made) points about procrastination and distraction; most of us look to distractions to divert us from the emotional discomfort of the task at hand. (I know for me it's "this task is either tedious or challenging of my ego".)

But that all this is kind of a tangential framing to my main point, that I'm pysyched about my plans to switch my Todo systems up a bit.

Even back in 2006 I was cataloging systems I was dabbling with: PalmPilot, stickies and a spindle, small text files, whiteboard, graph-paper-sheet-a-day,etc.

For a number of year I've been happy with the app "2Do". It did a great job with two things a lot of similar check list apps lack: finegrained recurring events (like being able to specify if something is due every X days, like a bill, or if it's to be done Y days after you last did it, like a haircut) and then categorizing todos, but having the todos for all categories on a single big list, scrollable and so entirely viewable without clicking.

(I supplemented that with a homebrew daily chore list webapp I made, so that the daily grind wasn't blocking the other stuff so much.)

But 2Do had poor syncing (I shelled out for the pricey desktop version, but the syncing was surprisingly meh) and "tap to mark done" isn't THAT viscerally satisfying.

I think I will swing over to using the app Tot. It's a curiously minimal (but reliably syncing across iOS and MacOS, as is Simplenote) set of 7 color coded notes that I've been using to track music to get and shows to watch for a while.

I think having it always at hand on desktop or handheld will help, and that free form text will flow stuff more naturally in and out of other apps.

I might stick to 2Do for the repeating stuff (and maybe move the daily grind stuff back into it, so that I'm checking into 2 apps rather than 3...)

But I'm psyched about this. I've felt dissatisfied with my Todo system for a long while. (Also if you see a lot of random content on my blog and FB, that's why, I'm clearing the deck of old "Oh I should blog that" Todos...)

Friday, July 22, 2022

tweet-size coding

 

I'm not going to do the same deep dive breakdown I did of this p5 code last year - and honestly it's not quite as impressive, but I like how this tweetsize p5 uses arithmetic for a nice visualization:
t=0
draw=_=>{
t+=1
s=48
createCanvas(w=432,w)
background(0)
strokeWeight(2)
colorMode(HSB,99)
f=0
for(c=0;c0)line(c+i,r,c+i,r+s)
else
line(c,r+i,c+s,r+i)
}
}
}
//#p5t #つぶやきProcessing

Tuesday, July 19, 2022

startling tech

I was thinking about what technologies really startled me, in a "they an do that now?" sense.

A very incomplete list, in rough chronological order:
  • Google. It snuck up on me as the fallback search for Yahoo back in the day. When I realized it did a much better job of searching my site than my own homebrew search functions... and it was doing that for, like, every site on the web?
  • iPod. Again, a matter of scale: 1,000 songs in your pocket is just amazing.
  • Youtube. Yet another bit of astonishment at the scale of it. Hosting that much video for free was just mind blowing.
  • Google Maps. This was a minor thing, but the navigation it provided in browser, these large seamless draggable and zoomable tiles... amazing
  • On-dash GPS. I remember going to the video game con "PhillyClassic" and the guy driving had one of these. What a miracle of making life easier.
  • Accurate Video Game Emulation - especially in-browser.
  • AlphaZero. I always said I would be impressed when a good chess playing program was also good at another game - like it formed its own intelligence about a game, as AlphaZero did with Go and Chess. (Now the bar is "when will the computer be BORED of playing chess")
  • GPT-3 etc text generation. The "Ghostwriter" segment of The Ghost in the Machine episode of This American Life just blew me away... and you can find instances of it online. The ability to generate text that seems to have a point of view.
  • DALL-E etc art generation. Boy O Boy. Making illustrations from arbitary text prompts...
Those last 3... man.

One model of intelligence is that it's all metaphors and connections. And computers are really getting there.

I think the future of creative and information based jobs will be learning how to harness these kind of forces. And that's a little scary- both from a "future of work" standpoint, and also because so far I'm not sure if the machines will get better at showing their work, explaining their reasoning... (and right now they sometimes exhibit the racism etc implicit in their training data sets...)




tracking the trackers

 So, having to track down some weird issues with Google Analytics I learned about the tracker-trackers GTM/GA Debugger and Omnibug chrome extensions. Omnibug feels a little friendlier.

Friday, July 15, 2022

focus on screenreaders

Deque U's  Screen Reader Keyboard Shortcuts and Gestures.

It's easy for a dev to forget that just because you made your forms tab-navigable and keyboard friendly, your overall content might not be great for screenreaders: at a minimum screenreaders have keyboard controls for a sense of "focus" of what's being read, not just what is interactable. (Also many folks using assistive technology will use the "rotor" (which I wrote about a few years ago) which is why it's important to get your Heading elements etc in a decent hierarchy. 

Saturday, July 9, 2022

summer breaks

 Hola, amigos. It's been a long time since I rapped at ya but...

(For some reason whenever I'm getting back into something, I think of the traditional intro for Jim Anchower editoirials on "The Onion")

So I don't purposefully have a "summer break" mode, but that seems to be what's happening for a few activities... far fewer blog entries here, less new music acquired, fewer photos taken, fewer books read. I'm not quite sure why.

One probably minor aspect has been a bunch of work needed for my Porchfest websites. One of the most glamorous is Fenway Porchfest.

They're one of the ones that request a printable version, plus they have tons of sponsor/site host logos and what not. I find it easiest to do it via Print Design in the Browser -- you can see the outside and inside of the trifold pamphlet and then I take a screenshot. Definitely some compromises, but it syncs better and with less manual labor than a pure "in Illustrator" or whatever version (though some parts of it are images)

outside
 
inside

It's kind of nice to be able to tweak things by hand, not worry about responsive design etc...



Friday, July 1, 2022

quick reminder to self: how to sort array by a field in the map-ish objects in php

Just one of those small things I was surprised I hadn't already noted on my devblog, in PHP, to sort an array of objects / array of maps, based on a field in all the maps, it's the usort command which works in place on the array, and with the second argument being (weirdly) a string version of the function name:

    usort($allresponses,"sortOnFirstField");

     function sortOnFirstField($a,$b) {

        global $firstkey;

        return strcmp($a[$firstkey],$b[$firstkey]);

    }

The weirdness of using a stringname... definitely oldschool. Javascript is obviously a bit slicker, though I still appreciate how PHP splits the differences with globals that I have to use instead... (YES you can use them, but also YES you have to acknowledge that you are using on in a function)


Oh and while I am at it, replace special characters etc in a string:

function clean($string) {

   $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.

   return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.

}