Shared posts

18 Jan 01:23

Joey's Roadini + Level top tubes and standover

Joey's Roadini + Level top tubes and standover and the Bomb Cyclone - happy 2023!
View this email in your browser
SHOP   •   GRANT'S BLAHG   •   NEWS BLUG
I had Scott, the mechanic next door, take a staff photo, or at least, the staff present today. There are five more of us not pictured.

Happy 2023

We survived the so-called "bomb cyclone", although it was a wild ride home on Thursday night. The rain was more horizontal than vertical, with lots of flooded corners, umbrellas flipping inside out left and right, and branches cracking overhead. I saw a couple other bike commuters out there and there was a funny sense of camaraderie; everybody was waving to each other and trading variations of, "this is crazy, isn't it?" at red lights. In South SF, a Valero gas station's roof blew over; in the Mission district, the Wooden Nickel's (James's former local bar before he moved to Oakland) parklet floated away; and one of my favorite restaurants in the city catastrophically flooded.

James took a short video of Antonio his commute home, but like all bike iphone vids, it doesn't do the storm justice.

Riv didn't flood, and now we're enjoying a little break between storms. The other staffers are unloading a container of Gus and Susies as I type this - we'll have those up for sale next week. It's actually a re-fill order made a super long time ago when we were still flush with XL frames, so we only got small thru large. Of course it took longer than expected and now we're out of XL.
Anyway, we're happy to be selling these types of bikes in 2023 and looking forward to more frames this year, better turnaround with three builders, and more unique bike-y stuff. Thanks to all of you who supported us in 2022, we wouldn't be here without you.

New Blahg

Grant has a new one up featuring:
  • Thoughts on the rim brake's swan song
  • A look at some modern Cinellis and Cervelos
  • A list of the projects we're working on
  • A shout-out to Richard Sachs
  • An excerpt from "Simple Fly Fishing" that applies perfectly to the bike industry
  • An a picture from the container unload this morning that has some Renaissance painting symmetry to it:
That's a well triangulated pic. Read the rest of the Blahg here.

Joey's Roadini

This is probably the most unique Roadini we've set up. Joey sent in a ton of stuff for us to use and it all came together nicely. I especially like the first generation, non-slant parallelogram Deore rear derailer; it's rated to 28 but Mark got it to shift to 32 teeth. The Roadini is a bit of a sleeper in our line up, but it's fast becoming one of my most ridden bikes. We'll have 'em again in April, colors TBA. Check out more photos of Joey's bike here. Always good to get another skateboarder on a Riv!
Lots of upsloping top tubes here, and not much standover either, especially that guy on the right. This is in the bathroom at Riv HQ. Not a diverse crowd...

Standover, good bike fit, and level top tubes

"No one stands over the top tube with both feet flat on the ground unless they're evaluating the stand over height of a bike."

Adam's mag had a funny little blurb on standover, and it got me thinking about it more, and it's relationship to toptube upslope. Basically, pick two of the following three things, because you can't have them all:
  • Easy higher bars
  • Lots of standover
  • A level top tube
I'd be happy with just the higher bars, but since I get to pick two, I'll take the standover too. Level top tubes are hugely overrated by folks who are into "traditional" bikes and mistakenly think we're in the biz of replicating them. I get a couple of phone calls every year from people who love our stuff other than the upsloping top tubes. Listen: if you want standover clearance and high bars, the best way to do that is to have an upsloping top tube. It's the reason why my new 61.5cm Taiwan Homer is effectively bigger than my old 67cm MUSA Homer. The new Homer has a six degree upslope, while my old one only had a two degree-er.

The Roadeo is our only current 2 degree upsloped model; the rest are either six degrees or a step thru, but even 2 degrees makes a big difference in being able to get the bars higher without having a giant stack of headset spacers or maxing out a Tallux. You can still run the bars low if you want, that's easy, it's getting them high that's trickier.

The more level a top tube gets, the bigger you should buy the frame. It's why a 62cm Atlantis fits me perfectly but a 62cm Roadeo would be way too small. You'll lose standover, but if you want a level-ish top tube bike and bars that are high enough, you have to go big in the seattube size, and that's the breaks. With perfectly level top tubes, like on vintage frames, I'd say it's a good fit when you have little to no standover. The best feeling vintage bike I ever had was a 69cm Fuji Del Rey with no standover, although by CPSC standards, it was too big.

 Lots of standover, as Adam points out in the mag, is overrated. It's not as overrated as a level top tube, but still overrated. You can smash your crotch in a crash on any bike, even a step thru, so it doesn't make sense to buy a frame that's too small and suffer low bars just so you have an edge in these (hopefully) rare scenarios. More standover clearance most often comes in handy on steep uphill trails when you scratch out and have to put your feet down, but you can have your cake and eat it too if you buy a frame with a six degree upslope or a step-thrus, like our Gus and Susies.

If standover is overrated why not use level top tubes? Because six degree upslopers always get the headtubes bigger than is possible with a level top tube, and not everybody is as cavalier about standover as we are. Plus there are CPSC guidelines we have to pay attention to.

If you're into how we fit bikes and you take this standover, top tube thing to it's logical conclusion, you end up with step-thrus, my fave frame design. On a Platypus, for instance, standover is never a consideration, and it's small potatoes to get the bars high, especially because most people can size up. It's also the reason why so many people (PBHs 85 to 97 or so) can fit the 60cm frame. That doesn't mean it fits more people less well, you just pick stem and bars accordingly and it feels great.

If you're buying a bike, bias it towards high bars even if it's at the expense of standover and especially at the expense of a level top tube. On our bikes you can have high bars and standover, but learn to like the way the upsloping top tube looks; they're functionally 100 times better.
I'm getting ready for my HubbuHubbuH, which are shipping from Taiwan next week. We're also getting Velocity built wheelsets, both dyno and regular. This is the last time we're doing tandems. I think Grant was going to get a statement notarized to that effect.

Back in stock 1/6/23

The Pletscher touring kickstand is back after a hiatus when the person who was running Pletscher USA retired. Also we restocked my favorite little dyno light, the B&M EYC, shown above.
 

b+m

-eyc T senso plus dynamo light

-iqx-black dynamo light

-tail light wire

-toplight line plus tail light

 

hobson zingo tools

-cable cutter

-chainring nut tool

-fixed cup 36mm wrench

-valve core remover

 

hozan screwdriver

 

incidentals

-brake

-shifter

 

kickstand

-big, kickstand feet for single leg

-shorty bolt

-twin legger feet

-touring single leg pletscher kickstand

 

monarch 

-pedals

-wings

 

newbaum's cotton tape

-bar 

-rim 

 

wald baskets

-bosco

-medium

-huge

-racing

Misc:

Leo Rodgers got hit by an SUV in Florida and currently hospitalized with what I'm sure are huge medical expenses. Help him out here if you can.

Scary statistics! Any beer-n-bike marketing is such an eyeroller. Skateboarding is even worse.

Some good Homer footage in here. Sounds like a fun ride.

Have a good weekend!
-will
 
Check out the Instagram
...
12 Jan 01:33

Interesting 2023

by russell davies

Here we go again. Interesting 2023 tickets are available now. Still only £30. Still at The Conway Hall. In the evening this time - Wednesday 17th of May.

First 100 ticket buyers get a free sticker!

More details will follow. And I'll post updates on my mastodon (and on the @interesting twitter for as long as that seems, you know)

12 Jan 01:31

The slowest nice vacation

by Liz

I am back to walking a little and we went ahead with our planned vacation. We tried to plan it so that even if I wasn’t doing too well it would still be enjoyable and relaxing. So for me that means as close to right on a beach with warm water as possible and we are in Honolulu. I have never been before! Also, we have not very often gone on a “real vacation” that is not just traveling to speak at a conference. Last one was Akumal which was like, 10 years ago. I was not sure what to expect from Waikiki Beach but wanted to be in Honolulu so that if I felt like I wanted to explore I could take the bus around town or even around the island.

We thought we would try 2 hotels right on the beach. It is expensive but nice. Read on if you want my absolutely snobby west coast bitch hotel reviews!

First hotel was Outrigger Waikiki and I have to say I am not impressed. Good: Room was nice enough and we were high up on the 12th floor. Lovely view of ocean, beach, sunrise, Diamond Head. So nice to be right on the beach and be able to go out there several times a day and then back to rest in hotel room or have food. Beach itself lovely. But!!! Bad: the hotel was kind of yuckily like being inside a mall and the way to the beach was extra gross going through a smoking area and a sort of loud air conditioning venting alleyway; then the closest I could get to the beach was by wending my way through a lot of pool chairs (nearly impossible) to some steps and then through a lot of hotel umbrella and chair rows to park myself on the sand.

The other way to the beach which they tried valiantly to explain and demonstrate when I asked for beach access was as follows: Find a manager (hahhaahha) Who then took me in a locked elevator to the parking garage where I went through the entire garage to a door which locks when you go through it so you can’t get back, then a locked mini lift which takes you UP slightly to a small walkway that goes about 20 feet (not the actual lower terrace of seating and patio but a path to nowhere) Needless to say I did not take this option to get onto and off the beach!

The Outrigger restaurant (Duke’s) was extremely loud and tacky and a bit horrible (not possible to get food that isn’t like bland mall food infused with mayonnaise or something ). Then all night till I think 11 or midnight very loud amplified music and cheering and etc. Partly from the restaurant live music and partly from street performers echoing down a sort of canyon.

The main drag along the hotel strip is tolerable during the morning but afternoon and evening are kind of horrible between the maskless crowds (I felt I had to mask even on the sidewalk in this context!), the upscale mall feeling, and the loud PA systems of street performers. Once you get to the beach and park section of the sidewalk it is nicer and prettier.

AND if I never hear another ukelele cover of Somewhere over the rainbow, it will be a fucking mercy.

OK that is enough bitching. I am luxuriating in paradise!!!!! Fuck me!!!! Just trying to be real here.

On the bright and amazing side, as I mentioned the room was nice enough and view lovely so I sat on the balcony a lot and laid on a little couch. And the beach is also great. It’s crowded but I don’t mind that, it just feels like I am less likely to be eaten by sharks, who have their choice of succulent small children with boogie boards in the water with me!

I have swum a couple of times a day, working my way up from bobbing around in waist high water to some real swimming! No real waves good enough to bodysurf on but having the water be not flat is fabulous enough!

NO REGRETS.

Our 2nd hotel is Moana Surfrider which is light years better than Outrigger. Bar and restaurant MUCH nicer. Food better. Beach access is good, easy, and pleasant. The outside terrace and bar is great, very beautiful, not claustrophobic and loud like Duke’s. I can be on the terrace or the restaurant without a mask as the tables are nicely distant from each other (also great for wheelchair navigation). There is live music at night, but not super loud, not horrible classic rock and shouting (just kind of croony and background), and not going very late so that meant I am able to enjoy both sitting on the balcony at night and also slept with the balcony door open to hear the waves.

There is room to sit and work outside both right next to the beach and water, and also in a sheltered porch (where I am right now, because it’s raining, tail end of the bomb cyclone!) The giant banyan tree is beautiful – full of birds, and they light it up at night. Best of all there are ramps all the way down the terrace around the giant tree, to the beach bar, which is quiet and uncrowded, and the pool, which is laid out in a nice way and has more room for a wheelchair user. There are also rocking chairs at the top of the terrace overlooking the tree, the bar, and the ocean.

I am going to sit out here a lot and write in the next few days when not swimming!

As for my explorations on the bus, so far so good. I tried one day to go (with Danny ) towards Diamond Head and Hanauma Bay but we were decanted from the bus onto an inauspicious road shoulder and the beach was not nice and then more scary road shoulder and then we ended up in a strip mall by a lagoon. And also the beach and the botanical garden we tried to aim at turned out to be shut for New Year’s Day. Then Danny pulled his back putting my chair into the Uber we took back to the hotel. Argh. New Year’s moral of the story is, there is no one nicer to be in a chain of very minor mishaps on an attempted adventure than my partner. (Not so sure about his experience of me though).

My other bus adventure was to downtown Honolulu and Chinatown. Bus stops and the front of the bus are equal to San Francisco, good and bad. Good: accessible public transit; drivers mostly nice; people mostly nice; lots of older people want to ask me questions about my snazzy powerchair as they are on their last legs, with wheels starting to look good. We passed through several neighborhoods and there seems to be abundant apartment housing that looks pretty cheap, unlike San Francisco. Passed Iolani Palace which is pretty but looked deserted. It is listed as a thing to do in downtown but powerchair users have to transfer to a push chair and have someone to push them, so no.

I was heading to “the arts district” and Chinatown thinking to visit some bookstores. Downtown also had some nice civic buildings but was utterly deserted and most businesses were shuttered. My target bookstores were out of business. The cafes I thought to visit from the map were also dead and gone. Everything smelled like pee. Even the gay bars seemed to only be open later on the weekends so I concluded that the pandemic hit downtown Honolulu very hard. Chinatown got sketchier and sketchier as I cruised past some grocery and butcher shops (the only viable busines aside from some kind of sketchy bars)

I enjoyed Maunakea Market where I got some nice dim sum and a beautful fresh fruit smoothie with boba. It is very small but has a tiny food court with filipino, korean food, dim sum, etc. Sat there with my boba chatting with some ex convicts with a lot of face tattoos (they called me sis and we discussed our tattoos; I called them brah figuring it was the correct response to sis, and exchanging names would be overly familiar or inquisitive) (I am not assuming the ex con status, they told me all about it.) They were telling me about a talk radio station called coast to coast which they encouraged me to call as they just let you talk as much as you want to! You also can learn a lot there about how satellites spy on us and control your mind maybe! (that was the 2nd guy; the first who had the nicer face and skull tattoos looked askance at him, tolerantly.) We were joined by another lady (who called me mama, not sis, which maybe is the right way for somewhat blowsy middle aged ladies, or in my case non binary read-as-lady, to address each other with respect) and after a bit I left with my half drunk smoothie and dim sum in a bag, wandered around some more, chatted with more of the friendly, loafing derelicts at bus stops who welcomed me into their circles; did not find anywhere open that had a bathroom, which maybe explains why downtown smelled so strongly of pee, and took the bus back to Waikiki, meekly returning to my tourist zoo life.

My goals for the remaining trip are:

Go back to Heyday bar/restaurant at the White Sands hotel, which was really fun, small, quiet, amazing, and had swings around a little bar in a palapa (or whatever a beachy thatched hut is called here if not palapa) I would like to sit on a swing and have another of their delicious cocktails.

Go to the Bishop Museum which I imagine may be a weird cross between Te Papa (elegant, honoring the local culture) and the Pitt Rivers (scary yet fascinating jumbled up miscellany of loot and appropriation with last minute unsuccessful attempt to ameliorate the situation) – we will see.

Swim twice a day even if it is the bobbing around “swim” rather than 20-30 min of actual swimming that I would love to work up to.

Write a lot. (Family history zine/book project, and Wheels zine which I intend to do every winter holiday for the past umpty million years and don’t)

Danny suggested the Dole plantation tour (again I imagine something a bit colonial and hideous maybe with a Pitt Riversian apology something like a glass case with a sign that says “sorry about your sovreignity” and maybe “P.S. Oh yeah also, sorry Honduras, yay pineapples?”

Stretch goal: I would like to check out Kailua to see staying there at a beach side b&b might be an option for another trip. It promises better bodysurfing and (maybe) kayaking would be possible, but beach access might be harder (like, I may have to park my wheelchair and hoof it across a very wide beach) This may not happen because my ankles are not really good enough for me to drive around the island. Though I could take a complex 2 hour bus ride. If I felt stronger I would totally do it.

12 Jan 01:29

Mentorship opportunity

by Tara Robertson

 

Mentorship Opportunity underneath a photo of me

Would you consider me as a mentor? 

I’ve worked in DEI for nearly 15 years and have been a solo DEI consultant and coach for 2 years. One of the things I miss about being in house are the opportunities to mentor people. Mentorship is really important to me. I’ve learned a lot with my mentor, Candice Morgan, and want to pay this forward. I helped stand up a mentorship program at Mozilla and know how powerful mentorship can be in people’s careers. 

I’m opening two spaces for people who are Black and/or Indigenous. 

How this works

I’m shamelessly copying Courtney Johnston’s approach. You’ll fill out a short form by January 16th 5th at 10am Pacific (in less than 24 hours 118 people have applied). I’ll reach out to respond to everyone who completes the form. I’ll invite a shortlist of people to have 1:1 conversations with me the last week of January or the first week of February to see if we’re a fit for each other. This works both ways–you might decide after chatting with me that I’m not a good fit for you.

I can meet with you once a month for one hour for a year. At the start we’ll design our alliance, or how we want to work together. Our conversations will be confidential. You can also request I take off my mentor hat and put on my coaching hat and coach you too. 

Who I’m best for

The areas where I know I can offer the most value are:

  • Navigating work in a values aligned way
  • Honouring your boundaries
  • Using data in DEI work
  • Finding your professional voice on social media and as a speaker

I’m looking to mentor people working in the corporate space, or who are transitioning into corporate. I had a career in academic libraries and I’m not looking to mentor people in that space. 

I’m open to mentoring people anywhere and I work Monday-Thursday, 9am-5pm Pacific time zone, so you would need to be able to meet then. We’d meet on Zoom and if you’re in Vancouver I’m open to meeting in person too. 

Why is this only for Black and/or Indigenous folks?

In the past year I’ve had about a dozen people reach out privately to me to ask if I would mentor them. They’re all amazing people and they’re all white. White people are overrepresented in the DEI space and I want to mentor Black and/or Indigenous people who are working, or looking to shift into, corporate DEI. 

Who am I? 

Hi! I’m Tara Robertson. I’m a queer, mixed race woman who lives in Vancouver, Canada. You can learn more about me here, or by reading my LinkedIn profile and posts

The post Mentorship opportunity appeared first on Tara Robertson Consulting.

12 Jan 01:29

Note to Self: Text Comprehension With ChatGPT

by Tony Hirst

I’ve been wonderig about the extent to which we can feed (small) texts into ChatGPT as part of a conversation and then get it to answer questions based on the text.

I’ve not really had a chanc to play with this yet, so this post is a placeholder/reminder/note to self as much as anything.

As a quick starting point, here’s an example of asking questions about family relationships based on a short provided text:

PS In passing, I note a new-to-me toy from @pudo / Friedrich Lindenberg, Storyweb, a tool for extracting named entitity relationships from a set(?) of documents and representing them as a graph. Which makes me think: can we get ChatGPT to reason around: a) a provided graph; b) extract a set of relationships into a graph. See also: Can We Get ChatGPT to Act Like a Relational Database And Respond to SQL Queries on Provided Datasets and pandas dataframes?

12 Jan 01:23

A Family of Functions from a Serendipitous Post, and Thoughts about Teaching

by Eugene Wallingford

Yesterday, Ben Fulton posted on Mastodon:

TIL: C++ has a mismatch algorithm that returns the first non-equal pair of elements from two sequences. ...

C++'s mismatch was new to me, too, so I clicked through to the spec on cppreference.com to read a bit more. I learned that mismatch is an algorithm implemented as as a template function with several different signatures. My thoughts turned immediately to my spring course, Programming Languages, which starts with an introduction to Racket and functional programming. mismatch would make a great example or homework problem for my students, as they learn to work with Racket lists and functions! I stopped working on what I was doing and used the C++ spec to draw up a family of functions for my course:

    ; Return the first mismatching pair of elements from two lists.
    ; Compare using eq?.
    ;   (mismatch lst1 lst2)
    ;
    ; Compare using a given binary predicate comp?.
    ;   (mismatch comp? lst1 lst2)
    ;
    ; Compare using a given binary predicate comp?,
    ; as a higher-order function.
    ;   ((make-mismatch comp?) lst1 lst2)
    ;
    ; Return the first mismatching pair of elements from two ranges,
    ; also as a higher-order function.
    ; If last2 is not provided, it denotes first2 + (last1 - first1).
    ;   (make-mismatch first1 last1 first2 [last2]) -> (f lst1 lst2)

Of course, this list is not exhaustive, only a start. With so many related possibilities, mismatch will make a great family of examples or homework problems for the course! What a fun distraction from the other work in my backlog.

Ben's post conveniently arrived in the middle of an email discussion with the folks who teach our intro course, about ChatGPT and the role it will play in Intro. I mentioned ChatGPT in a recent post suggesting that we all think about tools like ChatGPT and DALL-E from the perspective of cultural adaptation: how do we live with new AI tools knowing that we change our world to accommodate our technologies? In that post, I mentioned only briefly the effect that these tools will have on professors, their homework assignments, and the way we evaluate student competencies and performance. The team preparing to teach Intro this spring has to focus on these implications now because they affect how the course will work. Do we want to mitigate the effects of ChatGPT and, if so, how?

I think they have decided mostly to take a wait-and-see approach this semester. We always have a couple of students who do not write their own code, and ChatGPT offers them a new way not to do so. When we think students have not written the code they submitted, we talk with them. In particular, we discuss the code and ask the student to explain or reason about it.

Unless the presence of ChatGPT greatly increases the number of students submitting code they didn't write, this approach should continue to work. I imagine we will be fine. Most students want to learn; they know that writing code is where they learn the most. I don't expect that access to ChatGPT is going to change the number of students taking shortcuts, at least not in large numbers. Let's trust our students as we keep a watchful eye out for changes in behavior.

The connection between mismatch and the conversation about teaching lies in the role that a family of related functions such as mismatch can play in building a course that is more resistant to the use of AI assistants in a way that harms student learning. I already use families of related function specs as a teaching tool in my courses, for purely pedagogical reasons. Writing different versions of the same function, or seeing related functions used to solve slightly different problems, is a good way to help students deepen understanding of an idea or to help them make connections among different concepts. My mismatches give me another way to help students in Programming Languages learn about processing lists, passing functions as arguments, returning functions as values, and accepting a variable number of arguments. I'm curious to see how this family of functions works for students.

A set of related functions also offers a tool both for helping professors determine whether students have learned to write code. We already ask students in our intro course to modify code. Asking students to convert a function with one spec into a function with a slightly different spec, like writing different versions of the same function, give them the chance benefit from their understanding the existing code. It is easier for a programmer to modify a function if they understand it. The existing code is a scaffold that enables the student to focus on the single feature or concept they need to write the new code.

Students who have not written code like the code they are modifying have a harder time reading and modifying the given code, especially when operating under any time or resource limitation. In a way, code modification exercises do something simpler to asking students to explain code to us: the modification task exposes when students don't understand code they claim to have written.

Having ChatGPT generate a function for you won't be as valuable if you will soon be asked to explain the code in detail or to modify the code in a way that requires you understand it. Increasing the use of modification tasks is one way to mitigate the benefits of a student having someone else write the code for them. Families of functions such as mismatch above are a natural source of modification tasks.

Beyond the coming semester, I am curious how our thinking about writing code will evolve in the presence of ChatGPT-like tools. Consider the example of auto-complete facilities in our editors. Few people these days think of using auto-complete as cheating, but when it first came out many professors were concerned that using auto-complete was a way for students not to learn function signatures and the details of standard libraries. (I'm old enough to still have a seed of doubt about auto-complete buried somewhere deep in my mind! But that's just me.)

If LLM-based tools become the new auto-complete, one level up from function signatures, then how we think about programming will probably change. Likewise how we think about teaching programming... or not. Did we change how we teach much as a result of auto-complete?

The existence of ChatGPT is a bit disconcerting for today's profs, but the long-term implications are kind of interesting.

In the meantime, coming across example generators like C++'s mismatch helps me deal with the new challenge and gives me unexpected fun writing code and problem descriptions.

12 Jan 01:22

Building an iPod for 2023

by Doug Belshaw

Update (12/1/23): this project is now complete!

Inspired by this post, I decided over the holidays to upgrade a 5th generation iPod Classic (17 years old!) with more modern parts. It’s been a while since I owned an iPod, so I had to buy one — along with a few other things:

  • Black iPod 30GB 5th Generation in working condition (eBay)
  • 1TB Integral M.2 SATA drive (Amazon)
  • iFlash SATA converter (iFixit)
  • Rear (thick) housing (eBay)
  • Front housing (eBay)
  • Clickwheel + button (eBay)
  • 3000mAh battery (eBay)
  • Belkin charge + sync cable (Amazon)

That little lot cost me in the region of £200. As you’ll see below, I had to buy a new LCD display (£22) and I’ll need to buy new front housing (£17) but it’s still a lot cheaper doing it myself than buying one ready-made. It’s also massively more fun.

Side note: I don’t think I’ll ever fill 1TB of storage space and 256GB would have been more than enough, but ¯\_ (ツ)_/¯

For anyone thinking of doing this and a bit apprehensive about taking an iPod apart: don’t be! Although the screws are tiny, so long as you’ve ever taken anything apart before, you’ll be fine. Just don’t lose those screws!

Disassembled iPod Classic 5th Generation

I bought a 5th Generation iPod Classic because it comes with the Wolfson DAC which is supposed to sound better. Opening up the case and swapping out the hard disk for an SSD (with the help of the adapter) was really straightforward.

For some reason, the latest version of the iFlash adapter doesn’t have a little notch to keep the SSD pressed down and in place. So I was pleased that the larger capacity batter was also larger in size and therefore kept the SSD in place. This was all made possible by purchasing a ‘thick’ replacement rear casing (I chose not to have the capacity engraved on it).

Initially, I wanted a blue metal front casing which is entirely on-brand for me (I wear blue most days and drive a blue car). However, I accidentally bought a 6th-generation version which has clips in slightly different places to the 5th generation. As you can see in the photo below, I took a hacksaw to it, which kind of worked…

iPod Classic front housing with saw marks

As it wasn’t a perfect fit, I had to apply more force than usual to get it to snap together and, in doing so, I broke the LCD screen. So while the thing worked, I couldn’t do anything with it.

The replacement LCD screen came mercifully quickly (next day!) but it took me a while to remove the front housing. I destroyed it in the process. Silly me.

iPod Classic with broken front casing

I ordered a new transparent front casing which came with a clear click button. Adding that into the mix, as it was 5th-generation compatible was easy. So now it looks like this…

Modded iPod Classic

I’m really pleased with it! The reaction of my wife and kids ranged from “why don’t you just use your phone?” to “you spent how much?!” but I know that this wasn’t just a nostalgic project for a middle-aged man. Single-use devices still have their place: e-readers, for example, are used partly because they’re a distraction-free experience.

I’ve started keeping my iPod next to my bed and, in the middle of the night or early in the morning, I pop in my headphones and either listen to music or an audiobook. This morning I was listening to the dulcet tones of David Attenborough informing me of how life on earth started. I don’t sleep with my phone in my bedroom, as it’s too distracting, so I would never otherwise be able to do this! And for long walks and travel it’s going to be amazing.

Ideally, I’d like to get the Rockbox firmware installed as it can deal with larger databases than the original Apple firmware. However, from what I’ve read that requires restoring the iPod (not just formatting it) using FAT32 using iTunes on Windows. So that’s a bit of a roadblock for now.

The post Building an iPod for 2023 first appeared on Open Thinkering.
12 Jan 01:21

Steadfast Support Worthy of Salute

by Paul Kafasis

Any day when I get to celebrate an employee milestone here at Rogue Amoeba is a good day. I’m thus very pleased to honor our support technician Robert Charlton, who recently reached five years of service with the company.

A Key Member of Our Dependable Support Team

Since our earliest days, Rogue Amoeba has made fast and responsive customer support a top priority. We’ve had many talented support techs in our more than 20 years in business, but as a result of the demanding nature of the role, Robert is only the second employee to reach five years of helping customers.

Robert first joined us back in 2017, as we were expanding from a single support tech to a team of two people. Since day one, he’s been a remarkably steady presence at Rogue Amoeba. Robert’s thoughtful, calm, and confident disposition was a great asset. He’s always eager to help users, demonstrating tremendous patience and a desire to get to the root of every issue.

Even as needs have changed over the years, Robert has always managed to fit the bill. The expanding nature of work-from-home culture at the outset of the COVID-19 pandemic led to a substantial increase in demand for support, as usage of our products soared. We realized we’d need to quickly transition from two support techs working together to a team of three, with long-time support tech Chris Barajas moving up to be manage this expanded team. Robert has been instrumental in making that transition viable, first by working with a temporary contractor, and then helping to bring our newest hire Aaron Wasserman onboard and up-to-speed with our resources and policies.

During Robert’s tenure, our support team has gotten even more responsive and well-organized. Our documentation has been enhanced across both our public Knowledge Base and our own internal resources, and our processes have grown to support a team environment. Individual users who request assistance weren’t the only ones to benefit, either. By better integrating customer feedback into our development process, the very way we build our products has improved too. Everything we make at Rogue Amoeba is a team effort, and we’re grateful for all that Robert contributes.

Superb Bags for Superb Support Techs

Whenever one of our employees reaches five years of service, we present them with a personalized gift. Robert spends a lot of his free time working on music, so we initially considered providing him with some studio time. However, after a bit of discussion we went a different route.

Back in 2015, we presented our now-support manager Chris with a gorgeous briefcase for his five year anniversary. This, along with Robert’s feedback, led us to create a new tradition: superb bags for our superb support technicians.

In Robert’s own words, because he frequently walks and uses public transit, he’s “more of a backpack guy”. He thus selected a tremendous bag from Tom Bihn, one which will let him tote his laptop (and anything else) for years and years. He also shared an amusing story:

If you recall in my earlier times at RA, the “7UJM” row of keys on my MacBook Pro was broken. That was due to water damage sustained when toting it in…my $30 Amazon Basics backpack.

Never again!

We also sent Robert a card custom-made by our designer Neale, along with one of the custom challenge coins we’ve been issuing since 2013:

A custom card and coin

Below, you can see (and hear!) a short video Robert created as he opened the coin box:


Expressing Our Appreciation

Working as a support tech means Robert speaks directly with our customers on a daily basis. Thanks to his superb work, he receives plenty of kind words from grateful users in private, but we wanted to be sure to take the time to publicly thank him for his five years (and beyond) here at Rogue Amoeba. Since 2017, Robert has helped over 20,000 users of our products, and that list of satisfied folks grows day-by-day.

Thank you for all you’ve done and continue to do to make things better for our users, Robert! We look forward to much more great work together.

12 Jan 01:20

2023-01-05 General

by Ducky

Long COVID

Even people who don’t have classic “Long COVID”, getting COVID-19 is bad for you long-term. This paper from Florida reports that people who had COVID-19 have all-cause-mortality rates in the year after their acute phase at much higher than those who did not get COVID-19. Compared to people who were not infected with COVID-19, over the course of the following year:

  • People who had severe COVID-19 were 2.5 times as likely to die;
  • People who had mild cases were 1.87 times as likely to die;
  • People under 65 who had severe COVID-19 were 3.33 times as likely to die;
  • People under 65 who had a mild case of COVID-19 were 2.83 times as likely to die;
  • People over 65 who had severe COVID-19 were 2.17 times as likely to die;
  • People over 65 who had a mild case of COVID-19 were 1.41 times as likely to die.

Only ~20% of the deaths were from respiratory or cardiovascular illnesses, although for people who had severe COVID infections, the risk of respiratory-caused death was 4.58 times higher than for the uninfected group; the risk of cardiovascular-caused death was 3.13 times higher.

Transmission

This paper from the USA looked at transmission in prison settings with and without prior immunity. They found that, compared to people who caught COVID-19 with no prior exposure (infection or vax), people who had some immunity were less likely to transmit COVID-19:

  • People who had any vaccination but no infection were 22% less likely to transmit;
  • People who had been infected before but had not been vaccinated were 23% less likely to transmit;
  • People who had been both vaccinated and infected before were 40% less likely to transmit;
  • The likelihood of infection increased by 6% for every five weeks from the vaccination date.
  • Additional booster doses gave 11% more protection for each dose.

This paper using data from France found that children were the biggest drivers in the early waves.

Pathology

This paper from India says that on almost every measure, pandemic sperm looked better than pre-pandemic sperm: higher concentration, higher count, higher percentage of motile cells. However, there was also a higher count of abnormal cells.


This paper from the US says that there wasn’t really any difference in the blood of people who got myocarditis after vaccination, except that those people had Spike protein in their blood, while controls did not. Note that the vax isn’t supposed to get into the blood — intramuscular injections are supposed to end up in the lymph system, not the blood system. (There was also some speculation that the AZ blood clots came from vax getting into the blood stream. I frequently ask the vaccinator to “aspirate”, which means drawing the plunger back slightly to make sure there is no blood in the needle, before injecting the vax.)

Testing

This table from this tweet says that RATs are really pretty horrible at keeping you from infecting other people. Note that on the third day after infection, the RAT was only 6% sensitive, but people were already wickedly contagious by then.

Infectiousness is from a paper from multiple countries on Omicron generation time. 100% was set to the average of the seven most infectious days. The “symptom onset” column uses data from this paper from China, and gives the probability that day X was day symptoms started(again, 100% was set to the average of the top three days). The RAT sensitivity in the “Alpha RAT sens.” column uses data from a paper from the USA which looks at single RAT test sensitivity as a function of time from symptom onset, for a population largely infected with Alpha.

Treatments

This article (from November) reports that Japan has authorized a new protease inhibitor (Ensitrelvir, brand name XoCova for use against COVID-19. This press release from the manufacturer says that the manufacturer has applied for authorization in South Korea.


This paper from the USA reports good results in hamsters for a drug which works as an ACE2 decoy. My understanding is that they flood the body with the decoys, the virus latches on to enough of the decoys that transmission is slowed long enough for the body’s immune system to mop up.

Vaccines

This paper from the USA compared boosters of Pfizer Classic with Moderna Classic monovalents and found that the COVID-19 risks within sixteen weeks of a booster were higher with Pfizer than Moderna:

  • 15% higher for documented infection;
  • 21% higher for symptomatic infection;
  • 64% higher for hospitalization;
  • 37% higher for ICU admission;
  • 8% higher for death.

I am guessing/presuming this is because Moderna has more mRNA in it than Pfizer does.


This paper from Australia found that vaccinating adults was more useful than closing schools at reducing spread.


This paper from the USA says that men who recovered from COVID-19 had stronger responses to a flu vaccine than either men who had not had COVID-19 or women (regardless of whether they’d had COVID-19 or not).


Last week I said that Medicago had cut ties with Philip Morris International, but I didn’t know how. This article says that Philip Morris sold all its shares to its partner, Mitsubishi Tanabe Pharma.


Wow, this paper from Israel says that if you get a bivalent booster, you are 81% less likely to get hospitalized and 86% less likely to die than if you did not get a booster.

12 Jan 01:19

2023-01-05 BC

by Ducky

Pub Health Advice

This tweet thread says that the BC CDC web site changed from masking being a personal choice, to “Public health recommends wearing masks in all public indoor spaces”, back to personal choice, all in the space of not very much time. Hmmm. Sounds like there is some internal politics going on there.

Treatments

This article says that Paxlovid is way more difficult to prescribe in BC than other drugs, taking half an hour to fill out the form. This maybe made sense when supply was limited, but it’s not limited any more, and Provincial procedures haven’t changed since the supply loosened up. There’s like 130k doses in warehouses!

Testing

This article says that they are going to start testing wastewater from planes at YVR to help monitor for scariants.

Variants

This article says that there were five XBB1.5 in the province last week; this article says that there are 12 this week. It’s not really surprising, as XBB1.5 has been growing quickly in the USA:

Statistics

Take these statistics with an even larger boulder of salt than normal; I think that the holidays messed them up. For example, the number of cases during the week ending 24 Dec looks suspiciously low; the number of deaths last week also looks suspiciously low.

As of today, the BC CDC weekly report said that in the week ending on 31 Dec there were: +693 confirmed cases, +123 hospital admissions, +45 ICU admissions, +13 all-cause deaths.

As of today, the weekly report said that the previous week (data through 24 Dec) there were: +556 confirmed cases, +199 hospital admissions, +39 ICU admissions, +50 all-cause deaths.

Last week, there was no weekly report, so I can’t compare.

The BC CDC weekly report says that there are 356 in hospital / 26 in ICU as of 5 Jan 2023.

Charts

Jeff’s spreadsheets got updated about an hour after I posted Friday’s tiny BC update, and I was too lazy to update Friday’s post. Here ya go. Hopefully the province will give Jeff data early enough that he can have a post ready for Friday 6 Jan.

I don’t know what to think about the charts aside from “not going down”.

Charts

From the BC CDC Situation Report, with data through Week 51 (through 24 Dec):

From the BC CDC Vaccination Coverage report as of 5 Jan (with data from 18 Dec):


From the Week 51 BC CDC VoC report of 5 Jan (covering data through 24 Dec):

Yeah, there’s a lot of diversity here. Here’s another plot from the same report, which says in the fine print that “Other” includes BA.5.2.14, BA.5.2.25, BA.5.2.28, BF.11, BQ.1.1.*, BQ.1.2.*, BQ.1.5, CM 8.1, XBB.1, and XBB.1.5.


12 Jan 01:19

Every hour tracked, for five years

by Nathan Yau

In the department of tedious and thorough, Reddit user _tsweezy_ tracked every hour of his life for five years. It’s like a personal American Time Use Survey diary for slightly longer than a single day. I’m sure there’s some estimation or fill-ins after-the-fact, but still, that’s a lot of days and hours.

Tags: everyday

12 Jan 01:18

Software Design by Example 6: Data Tables

Chapter 6 of Software Design by Example was a bit nostalgic for me. Jon L. Bentley’s Writing Efficient Programs was the first programming book I ever bought out of personal interest rather than as a textbook or for a (summer) job. In less than 200 pages of lucid prose, Bentley laid out rules for making programs faster or reducing their memory requirements that I’ve come back to many times over forty years.

Including a chapter on performance optimization was more than a walk down memory lane, though. As the introduction to the chapter says:

…how can we tell which of several designs is going to be the most efficient? The best answer is to conduct some experiments.

I’ve argued for years that we ought to teach software engineering as an experimental discipline—that we should introduce undergraduates to key findings from the research literature and teach them enough data science to understand and recapitulate examples like this. There are many reasons to do this; the most relevant for SDXJS are that:

  1. performance considerations influence design, but

  2. modern computers are so complex that no-one can predict the performance of even trivial programs.

Since most people use tables for data analysis, I thought, “Why not compare different implementations of tables?” It was a bit contrived, but I think it worked out pretty well, and it motivated discussion of the difference between interface and implementation rather neatly.

Row-major vs. column-major storage order
Figure 6.2: Row-major storage vs. column-major storage for data tables.

Terms defined: character encoding, column-major storage, data frame, fixed-width (of strings), fixed-width (of strings), garbage collection, heterogeneous, homogeneous, immutable, index (in a database), JavaScript Object Notation, join, pad (a string), row-major storage, sparse matrix, SQL, tagged data, test harness.

11 Jan 22:13

Neeva Combines AI and Search – Now Comes The Hard Part

by John Battelle

The Very Hardest Thing

What’s the hardest thing you could do as a tech-driven startup? I’ve been asked that question a few times over the years, and my immediate answer is always the same:  Trying to beat Google in search. A few have tried – DuckDuckGo has built itself a sizable niche business, and there’s always Bing, thought it’s stuck at less than ten percent of Google’s market (and Microsoft isn’t exactly a startup.) But it’s damn hard to find venture money for a company whose mission is to disrupt the multi-hundred billion dollar search market – and for good reason. Google is just too damn well positioned, and if Microsoft can’t unseat them, how the hell could a small team of upstarts?

But despite what might be the harshest environment in a generation for moon-shot startups, one relatively obscure company has been unwaveringly focused on beating Google for the past four years. It’s called Neeva, and with nearly $100 million in funding, it’s a serious contender. Neeva’s founders have decades of experience running key parts of the Google empire (Google Ads and Youtube monetization). They left in 2018 to pursue a mission to free search from what the company calls “Corporate Influence” – in other words, the very business models they worked on for years.

To that end, Neeva launched in June of 2021 with a freemium subscription model – you can access a limited version of it for free, but roughly $50 a year buys you a clean, uncompromising search engine that delivers results unburdened by the data-drenched compromises inherent in surveillance capitalism.

But while I’ve quietly cheered for Neeva these past 18 months, I’ll admit I’ve not become a subscriber. I want them to succeed, but I was too invested in my web of Google entanglements – Mail, Docs, Chrome, etc. – to make the switch. Plus, I know how hard it is to build a subscription business – asking people to change long held habits is a very, very tough slog. Neeva’s founders, technology, and philosophy were noble and commendable, but the chances of it actually breaking through seemed … slim. Not only must the company build and maintain a better search engine – an incredibly hard (and expensive) feat – it also has to completely change the business model that drives search, from an ads-driven model to one based on all of us paying for something we’ve gotten for free for over three decades.

The company isn’t just trying to boil the ocean. It’s trying to boil two of them.

Enter AI

THEN AGAIN, isn’t that the point of ambitious startups – to try to do things that otherwise would be impossible? Shifts in consumer behavior like the one Neeva is looking to spark do happen, if rarely. It helps if there’s a massive disruption in an established, highly profitable market – a disruption in the form of a product so superior that consumers can’t help but change their habits – and pay for the privilege of doing so. The timing of these disruptions is incredibly hard to predict. They often build for years, then break through all at once. First come incremental improvements in underlying technologies, slow accretions of novel consumer habits, and the accumulated institutional arrogance endemic to market leaders who enjoy seemingly immutable profit models. The iPhone in 2007 is one example – a huge market was already using cell phones, but long-simmering improvements in chip technology and internet services combined with new consumer behaviors (remember the iPod?) delivered a game changer for Apple.

After speaking with Neeva co-founder Sridhar Ramaswamy this morning (check his and his co-founder’s bios), I’m starting to think we could be on the brink of a similar shift in search. Thanks to the rise of multiple large language models like Anthropic and OpenAI’s GPT, Google and Microsoft’s diamond-encrusted business model handcuffs*, and the investment energy building behind AI-driven startups overall, Neeva just might get its shot at breaking through in 2023. And if it does break through, today will mark the firing gun, because today Neeva announced its NeevaAI service – essentially integrating a ChatGPT-like feature into its core search platform.

If you’ve been reading me these past two weeks, you’ll already know I’m excited about the impact of AI on search. I think it’s possible search might be close to the kind of fundamental interface and business model shift we saw in personal computing back in the 1980s – from command line to graphical user  interfaces, or GUIs. You also know I predicted that both Google and Microsoft would integrate conversational AI into their products this year. What I missed was the idea that an independent company might beat them both to the punch. But that’s what Neeva has done with NeevaAI. If you sign up for the service (you can use it for free for three months), Neeva will now summarize what its systems believe to be the most relevant answer to your query in a chat-like experience at the very top of the results.

Today, for example, I asked it the very same search I asked Google earlier this morning: “how to remove rear wheel specialized bike through axel.” I was struggling with my bike and years of habit taught me that there was likely a video buried somewhere on YouTube that would show me what I was doing wrong. Indeed, when I first entered that search into Google, I was presented with Google’s best guess at the answer: A YouTube video of a guy taking the rear wheel off a bike. I watched for about 30 seconds, but as soon as I saw he had a different axel mechanism than I did, I had to go back and modify my search. I did this four or five times until, by combining various snippets of information gained over those half-dozen searches, I finally figured out how to take the damn thing off.

That process I went through – iterative, combinatorial deduction, I suppose you could call it – is innately human, and it’s also frustrating as hell. I knew if I had my bike mechanic in front of me, he’d have shown me what to do with one withering flick of his wrist. By combining some nifty, highly technical approaches to information science (Ramaswamy and I talked about some of that, and I want to save the details for another post), Neeva’s goal is to be that mechanic every time I search.

So did it succeed this time? Well…it certainly didn’t fail. Neeva had the very same video as Google lower in its results, but the top result was its new AI feature, which offered me a step by step set of instructions. It turns out, those instructions are entirely accurate for the job I had to do. Had I gotten that answer from Google, I might have saved myself a minute or two of wasted time. Compound that minute saved across billions of searches, and maybe, just maybe, the world might shift on its axis.

NeevaAI also addresses some of ChatGPT’s biggest drawbacks – its answers are based on an old dataset (pre 2021 web), its answers aren’t vetted by any kind of citation or apparent ranking mechanism, and it often confidently spouts nonsense.

But for the Patience of Investors 

So NeevaAI offered me a pretty impressive test result, but will its unique features be enough for Neeva to break through? It’s hard to say, but one thing is certain: The more people use Neeva, the better it will get at finding the right answer for long tail queries like mine. The question for the company (and its star-studded board and investors) then becomes this: can the company outlast the shift it hopes to capitalize upon? Will AI-driven conversational search take off within the window of its current capitalization?

So far the company has raised $90 million – which seems like a lot, unless you’ve ever seen the compute bills for crawling and refreshing an index of 3-4 billion pages, then running AI across it (and that’s just a fraction of Google’s corpus). Not to mention the ongoing staff costs – Neeva has 55 employees, and top notch Silicon Valley engineers still command meteoric salaries. I’d estimate people costs at roughly $10-12 million a year, and infrastructure costs of at least that much. That means the company is likely burning north of $20mm a year – even with a growing subscriber base (Ramaswamy confirmed  that the company is closing in on 20,000 subs, for an annual run rate of roughly $1mm).

If my rough math is correct, the company will need to raise more capital this year. Unfortunately, the fundraising environment for tech startups is in the dumper. Then again, AI is the one bright spot – OpenAI just closed a financing valuing the company at $29 billion, and the world has fallen in love with apps like DALL-E, MidJourney, and ChatGPT. I certainly hope Neeva finds success with NeevaAI, and that the Valley, which has been hurtling through middle age with a recession of imagination, will find the courage to support Neeva’s ambitions. As far as I’m concerned, it’s not a question of if Google’s search model will be upended. It’s simply a question of when.

*There’s an entire post to be written about why Google and Microsoft can’t do what Neeva is trying to do – mainly due to their innovators’ dilemma. For another time. 

11 Jan 22:10

MKBHD on Apple’s Processing Techniques for iPhone Photos

by Federico Viticci

In his latest video, MKBHD eloquently summarized and explained something that I’ve personally felt for the past few years: pictures taken on modern iPhones often look sort-of washed out and samey, like much of the contrast and highlights from real life were lost somewhere along the way during HDR processing, Deep Fusion, or whatever Apple is calling their photography engine these days. From the video (which I’m embedding below), in the part where Marques notes how the iPhone completely ignored a light source that was pointing at one side of his face:

Look at how they completely removed the shadow from half of my face. I am clearly being lit from a source that’s to the side of me, and that’s part of reality. But in the iPhone’s reality you cannot tell, at least from my face, where the light is coming from. Every once in a while you get weird stuff like this, and it all comes back to the fact that it’s software making choices.

That’s precisely the issue here. The iPhone’s camera hardware is outstanding, but how iOS interprets and remixes the data it gets fed from the camera often leads to results that I find…boring and uninspired unless I manually touch them up with edits and effects. I like how Brendon Bigley put it:

Over time though, it’s become more and more evident that the software side of iOS has been mangling what should be great images taken with a great sensor and superbly crafted lenses. To be clear: The RAW files produced by this system in apps like Halide are stunning. But there’s something lost in translation when it comes to the stock Camera app and the ways in which it handles images from every day use.

Don’t miss the comparison shots between the Pixel 7 Pro and iPhone 14 Pro in MKBHD’s video. As an experiment for the next few weeks, I’m going to try what Brendon suggested and use the Rich Contrast photographic style on my iPhone 14 Pro Max.

→ Source: youtube.com

11 Jan 22:09

https://dangillmor.com/ wishes for “forward-in-...

https://dangillmor.com/ wishes for “forward-in-time links so we could read … his 2023 #100Days project, #100DaysOfIndieWeb … more easily from the beginning” https://mastodon.social/@dangillmor/109646621709452885

Great suggestion Dan. Wish granted.

On my #IndieWeb site, I control the user experience.

Since 2010^1, I’ve had previous/next ( ← → ) temporal^2 navigation links on the top right of my post permalinks, across all posts (something I always wanted on my notes, and Twitter lacked)

In 2018^3, I added similar ( ← → ) links on day archive pages, for previous/next days.

Ideally I’d build similar automatic ( ← → ) links for each hashtag in a post, for the previous/next post with that same hashtag.

OR for now I could manually add forward-in-time links to the bottom of my five previous #100DaysOfIndieWeb posts, and with each subsequent post, remember to update the previous one.

So that’s what I did, am doing, per https://indieweb.org/manual_until_it_hurts.

Previous #100DaysOfIndieWeb posts updated.

This is day 6 of #100DaysOfIndieWeb #100Days, which is now a https://en.wikipedia.org/wiki/Doubly_linked_list

← Day 5: https://tantek.com/2023/005/t3/indieweb-simpler-approach
→ Day 7: https://tantek.com/2023/007/t2/more-100daysofindieweb-projects

Previously, previously, previously:
^1 https://tantek.com/2010/032/t7/inventions-to-tweet-from-site
^2 https://tantek.com/2011/102/t2/navigation-arrows-back-past-forward-future-ui-pattern
^3 https://tantek.com/2018/308/t2/indiewebcamp-archive-navigation-day-archives
11 Jan 22:09

Hey! I Wasn't Done Yet!

11 Jan 22:08

By helping Rohingya women, Canada can do the right thing and demonstrate global leadership

by Charlie Smith

By Deeplina Banerjee, Western University

The UN Security Council recently adopted its first resolution on Myanmar in more than seven decades. The resolution demanded an end to the violence and called on Myamnar’s military junta to release all political prisoners. In 2021, the military seized power in the country in a violent coup that saw thousands killed and jailed.

In 2022, Canada announced its long awaited Indo-Pacific strategy. The strategy focuses on deepening economic ties with Pacific countries and boosting Canada’s military and cyber security in the region.

The strategy also states that Canada will “speak up for universal human rights” and defend “human rights in the region, including women’s rights.”

Since 2017, Canada has been providing humanitarian aid to the Rohingya. The Canadian government has pledged $288 million in humanitarian aid.

A strategy that truly stands up for women’s rights would advance Canada’s global leadership through offering greater support to the Rohingya, who are described as the “world’s most persecuted minority.”

Who are the Rohingya?

The Rohingya are an ethnic minority group in Myanmar. Along with other minority groups, they have been the regular target of state violence by the Myanmar military, also known as the Tatmadaw.

In August 2017, the Tatmadaw launched a brutal campaign in Myanmar’s northern Rakhine state. Many international organizations, including the UN, reported evidence of widespread sexual violence as well as massacres and the destruction of villages.

Hundreds of thousands of Rohingya people fled to neighbouring Bangladesh where they live in poor conditions.

The government of Myanmar has systematically denied the population the right to education in their own language and discriminated against them based on their religion. Myanmar’s leaders have repeatedly branded the Rohingya as illegal immigrants, denying them fundamental rights to education and to seek employment.

Melanie Joly by Pierre5018
Minister of Foreign Affairs Mélanie Joly announced Canada’s new Indo-Pacific Strategy in November 2022

Sexual violence during the 2017 Rohingya genocide

Several UN member states, including Canada, have condemned Myanmar’s actions, labelling them genocide. A 2018 UN report documented how sexual violence was “strategically deployed” against Rohingya women and girls.

Reports from health-care providers indicate that in 2017, conflict-related sexual violence (CRSV) was perpetrated by the Myanmar military. Along with mass rapes, the military would beat and shoot the victims who were predominantly women. Sometimes, they would also murder family members in front of the victims.

Evidence published by the UN and other human rights organizations indicate that the Myanmar militia’s use of rape was a tool of genocide to result in the complete and partial destruction of the Rohingya community. Survivor testimonies published by the UN, Human Rights Watch, Amnesty International and other organizations reveal that sexual violence and rape were meticulously planned.

The military raided Rohingya villages and forcefully entered households where women were gathering. Survivors recounted how soldiers would take turns raping the women.

CRSV is causing a public health crisis for Rohingya women in refugee camps. While urgent health care was dispatched by human rights organizations, much of it focused on treating infectious diseases and physical trauma.

CRSV can be particularly stigmatizing for the victims, especially in conservative patriarchal societies. Survivors may feel reluctant to report the crime because of the shame that could bring them and their families.

Lack of access to health care is also a major deterrent. Many refugee women often live in conservative environments where the use of contraceptives is frowned upon. Furthermore, pregnant refugee women are encouraged to stay at home by their families and not seek medical assistance due to superstition and fear.

What can Canada do for Rohingya women?

The Canadian government’s response to the Rohingya crisis focuses on alleviating the humanitarian crisis and encouraging positive political developments in Myanmar.

This kind of a top-down approach focuses on assisting fragile states with political tools and financial resources to build political stability and prevent violence. But the risk with this approach is that persecuted communities remain at the bottom of the power hierarchy, where they continue to remain vulnerable.

In a bottom-up approach, the focus is on ensuring healing for survivors and empowering them to access resources that aid in their social and psychological rehabilitation.

By applying a bottom-up approach, Canada should engage with local women’s and human rights organizations working with survivors who can also weigh in on post-conflict recovery.

There must be greater understanding of how race, ethnicity and gender relations contribute to women’s vulnerability during genocide and conflict. By addressing the crimes of sexual violence, Canada can work to bring survivors’ lived experience to the centre of humanitarian responses and help to prevent future abuses.

Localize humanitarian responses

Canadian policymakers and stakeholders need to understand and engage with historical identities, gender relations and survivors’ everyday lived experiences.

Localizing humanitarian engagements by partnering with grassroots organizations and community-led initiatives can help create healing and inclusive spaces for survivors of sexual violence.

This is a way Canada can ensure that survivors are protected and have access to the resources they need.

Canada needs to follow through on its commitment to combat conflict-related sexual violence and lead the international community in seeking justice for the Rohingya people.The Conversation

Deeplina Banerjee, PhD Candidate, Gender, Sexuality and Women Studies, Western University

This article is republished from The Conversation under a Creative Commons license. Read the original article.

The post By helping Rohingya women, Canada can do the right thing and demonstrate global leadership appeared first on Pancouver.

11 Jan 22:07

By helping Rohingya women, Canada can do the right thing and demonstrate global leadership

by Staff

By Deeplina Banerjee, Western University

The UN Security Council recently adopted its first resolution on Myanmar in more than seven decades. The resolution demanded an end to the violence and called on Myamnar’s military junta to release all political prisoners. In 2021, the military seized power in the country in a violent coup that saw thousands killed and jailed.

In 2022, Canada announced its long awaited Indo-Pacific strategy. The strategy focuses on deepening economic ties with Pacific countries and boosting Canada’s military and cyber security in the region.

The strategy also states that Canada will “speak up for universal human rights” and defend “human rights in the region, including women’s rights.”

Since 2017, Canada has been providing humanitarian aid to the Rohingya. The Canadian government has pledged $288 million in humanitarian aid.

A strategy that truly stands up for women’s rights would advance Canada’s global leadership through offering greater support to the Rohingya, who are described as the “world’s most persecuted minority.”

Who are the Rohingya?

The Rohingya are an ethnic minority group in Myanmar. Along with other minority groups, they have been the regular target of state violence by the Myanmar military, also known as the Tatmadaw.

In August 2017, the Tatmadaw launched a brutal campaign in Myanmar’s northern Rakhine state. Many international organizations, including the UN, reported evidence of widespread sexual violence as well as massacres and the destruction of villages.

Hundreds of thousands of Rohingya people fled to neighbouring Bangladesh where they live in poor conditions.

The government of Myanmar has systematically denied the population the right to education in their own language and discriminated against them based on their religion. Myanmar’s leaders have repeatedly branded the Rohingya as illegal immigrants, denying them fundamental rights to education and to seek employment.

Sexual violence during the 2017 Rohingya genocide

Several UN member states, including Canada, have condemned Myanmar’s actions, labelling them genocide. A 2018 UN report documented how sexual violence was “strategically deployed” against Rohingya women and girls.

Reports from health-care providers indicate that in 2017, conflict-related sexual violence (CRSV) was perpetrated by the Myanmar military. Along with mass rapes, the military would beat and shoot the victims who were predominantly women. Sometimes, they would also murder family members in front of the victims.

Evidence published by the UN and other human rights organizations indicate that the Myanmar militia’s use of rape was a tool of genocide to result in the complete and partial destruction of the Rohingya community. Survivor testimonies published by the UN, Human Rights Watch, Amnesty International and other organizations reveal that sexual violence and rape were meticulously planned.

The military raided Rohingya villages and forcefully entered households where women were gathering. Survivors recounted how soldiers would take turns raping the women.

CRSV is causing a public health crisis for Rohingya women in refugee camps. While urgent health care was dispatched by human rights organizations, much of it focused on treating infectious diseases and physical trauma.

CRSV can be particularly stigmatizing for the victims, especially in conservative patriarchal societies. Survivors may feel reluctant to report the crime because of the shame that could bring them and their families.

Lack of access to health care is also a major deterrent. Many refugee women often live in conservative environments where the use of contraceptives is frowned upon. Furthermore, pregnant refugee women are encouraged to stay at home by their families and not seek medical assistance due to superstition and fear.

Melanie Joly by Pierre5018
Minister of Foreign Affairs Mélanie Joly announced Canada’s new Indo-Pacific Strategy in November 2022. Photo by by Pierre5018.

What can Canada do for Rohingya women?

The Canadian government’s response to the Rohingya crisis focuses on alleviating the humanitarian crisis and encouraging positive political developments in Myanmar.

This kind of a top-down approach focuses on assisting fragile states with political tools and financial resources to build political stability and prevent violence. But the risk with this approach is that persecuted communities remain at the bottom of the power hierarchy, where they continue to remain vulnerable.

In a bottom-up approach, the focus is on ensuring healing for survivors and empowering them to access resources that aid in their social and psychological rehabilitation.

By applying a bottom-up approach, Canada should engage with local women’s and human rights organizations working with survivors who can also weigh in on post-conflict recovery.

There must be greater understanding of how race, ethnicity and gender relations contribute to women’s vulnerability during genocide and conflict. By addressing the crimes of sexual violence, Canada can work to bring survivors’ lived experience to the centre of humanitarian responses and help to prevent future abuses.

Localize humanitarian responses

Canadian policymakers and stakeholders need to understand and engage with historical identities, gender relations and survivors’ everyday lived experiences.

Localizing humanitarian engagements by partnering with grassroots organizations and community-led initiatives can help create healing and inclusive spaces for survivors of sexual violence.

This is a way Canada can ensure that survivors are protected and have access to the resources they need.

Canada needs to follow through on its commitment to combat conflict-related sexual violence and lead the international community in seeking justice for the Rohingya people.The Conversation

Deeplina Banerjee, PhD Candidate, Gender, Sexuality and Women Studies, Western University

This article is republished from The Conversation under a Creative Commons license. Read the original article.

The post By helping Rohingya women, Canada can do the right thing and demonstrate global leadership appeared first on Pancouver.

11 Jan 22:05

Brad is writing 10,000 Food Words: “a dail...

Brad is writing 10,000 Food Words:

“a daily shot of 100 food words for 100 days. Like a shot of verbal espresso, or maybe shochu, depending on the time of day.”

Subscribed!

11 Jan 22:02

#CarFreeFamily2022: How Much Does It Cost?

by Lisa Corriveau
It's that time again: that time where I look back through my email receipts, Compass card records, & Modo account to see what the four of us spent on transportation for the year. 2022 wasn't all that different from 2020 & 2021, transportation-wise: we used no taxis, no ridesharing, no car rentals, & only a couple trips on the water. We got around by bike & on foot the vast majority of the time, which are practically free. I have started using Mobi again a bit to commute to work, but that's covered by my employer so I don't count it below. 

Before I get down to brass tacks, on the topic of what I count or don't count: I don't include bike purchases (we bought a used tandem this year!) or new helmets because we would likely own them anyway, whether we were using them for transportation or not. I'm not including things like umbrellas, rain coats, or shoes, because though they are definitely part of what makes walking & biking doable for transportation, we would need to own those even if we drove everywhere. Things like extra food to fuel all the active travel is also not included, since I doubt we'd eat any less if we were exercising less.

a woman stands with a walker in front of a Modo minivan with a girl sitting in the back seat. the sliding door & side door of the van are open, it's parked in a hospital parking lot
Modo home after my hip replacement surgery
Driving
On paper, 2022 wasn't all that different from the previous year, but personally it was another slightly unusual one. Partly because we're still not doing everything that we did before COVID (mainly travel & family visits, when we tended to use Modo), but also because I got myself a shiny new hip in April! 

We spent a little more on Modo in the spring to go on walks when I was still quite limited in my mobility, & bored with walking around the exact same few blocks near home. We also spent a little more on Modos to get to & from various kid appointments in the unusually cold & wet fall & winter months near the end of the year. Despite driving about 50% more often than is typical for us--17 trips in 2022--it only cost a total of $528.52.

By the way, this Modo cost includes gas, insurance, maintenance, parking, membership fees, usage costs--everything. It's really so much cheaper than owning a car if you don't need to drive it daily. It's also much nicer to know how much access to a vehicle will cost you: since maintenance, gas, insurance, & most of the time even parking are included, there are no surprise bills for repairs or maintenance. If you're wondering what Modo costs, you can use their trip calculator here on their website to see what a trip would cost. Just choose the type of vehicle, the time you want to use it, & how far you're planning to go. 

Total cost to drive: $528.52

a woman stands next to her bike in the snow
#VikingBiking for after school pickup in December

Cycling

2022 saw no huge purchases on bike gear, other than a new pair of tires for my Tern GSD. We replaced front & rear brake pads & a chain, plus paying our local bike shop to have the studded winter tires taken off in late winter & put on again in late fall. All that came to $499.64.

Electricity costs are a bit harder to calculate, because it's only a few cents each time we charge our bikes. I'd say we spent about $10 on electricity charging my Tern GSD & Oliver's Tern Vektron. I estimate about 60 full charges of the 900Wh of batteries in the roughly 5000km I rode. Oliver rides much less than me, as he's been working from home 99% of the time, so I doubt he needed a full charge more than once a month.

Total cost to run our bikes: $509.64

Aquabus tour of False Creek for Canada Day

Ferries

On Canada Day, my friend Donna, Bronte & I played tourist in our own town for the day & got Aquabus passes so we could flit around False Creek by boat for the day. That cost us a grand total of $30. We didn't manage to do any camping trips this year, sadly, but we did do one short daytrip to Bowen, which cost B & I a grand total of $16.75

These two trips were recreational, & we likely would still have taken both even if we were diehard car people, but bringing a vehicle to Bowen Island would have cost us about $32 more in ferry fares alone.

Total cost of boat travel: $46.75

Transit

We took transit more this year than 2021, but a lot of my trips were paid by my employer (I have a Compass card that I can use to travel to & from work). Another thing that cut down on transit costs is here in BC, kids under 13 travel free. Between all four of us, our transit costs were only $17.15, which is about six one-way trips.

Total cost for transit: $17.15

And, that's it for all the categories of transportation, so... *drum roll please*

The total transportation costs for our car-free family of four in 2022 was $1,102.06.

This is 7.5% less than we spent last year & about nine times less than the average person spends on owning a car. Keeping our transportation costs this low by not owning a car is one of the biggest factors in how we can afford to live in such an expensive city as Vancouver. It isn't always fun to cycle or walk in the rainy weather, but I do love how much exercise just gets built into my life without having to think about it. & on those days where it's just too cold or too icy or too wet (not actually that often) or too far to bike where we need to go, we can always drive a Modo.

So, how about you? What did you spend on transportation last year? Do you total it up annually? What are the upsides & downsides of how you get around? What do you do to save costs on transportation?

If you're curious about our past transportation costs, you can check out my posts on the breakdown for 201820192020, & 2021 here.


Follow Spokesmama here too:
11 Jan 22:00

Winter Market

Saturday dawned chilly and rainy, but I went to the Riley Park Market anyhow. What with family and health and weather issues, I’ve been mostly cooped up lately, have been feeling caged, bored, and blue. Also, the Market is only ten blocks from our place, along a bike route. So I saddled up the e-bike and went hunting.

For Vancouver people: The summer version of that Riley Park Market is average at best; I rarely bother to go any more. So I wasn’t expecting much, but what a pleasant surprise; this year the Winter Market is more than twice as big and was full of vendors I hadn’t seen before.

More below, but the reason I’m writing this is to encourage others to get out of the house even in shitty weather in a shitty winter in a shitty decade. Good things still happen but you won’t know about that if you stay home doomscrolling.

The place was busy, even in the rain. The picture suggests many colorful umbrellas but that’s a lie; unfortunately most people here hoist boring black umbrellas over their boring black outfits.

People shopping in the rain at the Riley Park Winter Market in Vancouver

I had a goal; to come back with makings for borscht. We had some stuff but needed beets, cabbage, and onions. I wandered by a lot of vendors with those things but somehow ended up buying them all at one stand, because they presented well and worked hard.

Three kinds of beets for sale: Red, Gold, and Chioggia

Three kinds of beets!

I’d never previously heard of Chioggia beets, so I got a couple of beets from each basket and we’ll see how the mixture works in borscht.

I didn’t buy any Daikon, but the color was unearthly. My Fujifilm camera is really good at white balance and color accuracy but, believe it or not, I had to dial back the saturation on this one because the red pixels were screaming for mercy.

Red Daikon for sale at the Winter Market

The hardest-working stand had to be Ms Lee’s

Ms. Lee’s Vegan Korean Kimchi for sale at the Winter Market

It was a successful expedition. I’d been looking for onions but the shallots were huge and seductive, and generally have more flavor than onions anyhow.

What I bought at the Winter market

Borscht is made from all those vegetables plus potatoes, parsnips, celery and garlic (lots of garlic), some cubed, some sauteed, all boiled up, vegan until you add the sour cream.

As for the Rice Whisky, what can I say? It was being sold by a nice jovial gentleman with Asian genes who said it was made right down by the water in Delta. I tried a sample and it was tasty.

11 Jan 21:59

Somewhere Between Hobbes and Wishful Thinking

A couple of days ago the news broke that a company called Koko1 used ChatGPT to provide therapy online to thousands of people without telling them and without getting any sort of ethics clearance, then claimed that this was somehow magically exempt from informed consent law. I didn’t have anything to say about this that better-informed people hadn’t already said, but it got me wondering yet again: what can we teach undergrad software engineers that will convince them that doing things like this is wrong? We can tell them, but my experience is that if they don’t already believe, they will tell us what they know we want to hear on the exam but nothing in their behavior will change2.

When I posted that thought on Mastodon most of the replies fell into one of two categories:

  • Only legislation and the threat of penalties will solve this problem. Some respondents believe that nurses and doctors behave ethically because the law requires them to, and that software developers won’t until it does as well.

  • Reform the educational system, e.g., “cut STEM in half and double humanities funding”

I’m grateful for the feedback, but I disagree with both of these positions. I agree with the person who pointed out that fraud and unscrupulous profiteering crop up whenever safeguards in the financial industry are relaxed, but I don’t think fear of legal penalty is the only (or even main) reason that medical professionals protect patients’ privacy or warn them about side effects. I could be fooling myself, but empirically, Hobbes was wrong: as Rebecca Solnit and many others have pointed out, most people work together most of the time rather than turning on each other.

At the other end of the spectrum, saying that we need to completely overhaul our schools is like saying that we need to stop racism, end climate change, or dismantle capitalism. These statements all beg the question, “What do I do today with the resources I have?” If I ever teach an undergrad software engineering class again, I will have roughly thirty hours in which to lecture a room full of twenty-year olds; they will then have to spent about sixty hours doing assignments and then write a final exam. That’s it: that’s what I have to work with, so telling me there’s a better world over there somewhere3 doesn’t help.

I agree that we need legal penalties for misbehavior and legal protection for whistleblowers and disclosure requirements and everything else, but I believe that unless people have a moral compass, those rules and regulations will have no effect. I also believe that morality is teachable because I’ve seen it. My father was a good man, but by today’s standards he was mildly racist and moderately homophobic. I believe my daughter and her friends are much less of either—not just because they’re afraid of penalties, but because we taught them to be better. A single undergrad class when someone is twenty years old (plus or minus) might not have much impact, but I’d still like to try.


  1. But really, a guy named Robert Morris, because companies don’t make decisions—people do.

  2. I’ve written three quarters of an undergrad introduction to software engineering twice in the last six years and set it aside without finishing it each time because this problem is a lot more important than design patterns or dev ops If I can’t figure out how to have some impact here, it seems kind of pointless to rearrange the digital deck chairs.

  3. /me waves hand vaguely at the window.

10 Jan 17:49

GitHub is Sued, and We May Learn Something About Creative Commons Licensing

Roy Kaufman, The Scholarly Kitchen, Jan 05, 2023
Icon

As with so much of the content in Scholarly Kitchen, the author has an axe to grind (in this case, he is a managing director of the Copyright Clearance Center). But the case raised is an important one, as GitHub and Microsoft are being sued for using open source software (through a process of text and data mining, machine learning, and AI training (TDM)) to train its commercial software authoring AI called Copilot, allegedly in violation of the licenses governing the original code uploaded to GitHub. The issue is presented as a dispute about attribution ("I have long wondered, however, about the interplay between the attribution requirement (i.e., the 'BY' in CC BY) and TDM," Kaufman writes) but it doesn't really, and indeed, doesn't related to Creative Commons at all, since the Creative Commons website "recommends and uses free and open source software licenses for software." I would rank this troll of an article as: not helpful.

Web: [Direct Link] [This Post]
10 Jan 17:49

(Im)permissibility is overrated

Richard Y Chappell, Good Thoughts, Jan 05, 2023
Icon

In my ethics course I found the idea expressed in this paper important enough to be started right up front in a section called the Joy of Ethics, and that is to challenge the idea that "delineating the boundary between 'permissible' and 'impermissible' actions (i.e., providing a criterion of rightness)" is "the central question of ethics." It's not, and it shouldn't be. While Richard Chappell uses this as an argument in favour of consequentialist ethics, I think we can take the wider stance and say that ethics creates the possibility of doing good in the world, whatever that may happen to be. And just so with AI: while so many people are focused on how AI can go wrong, with good reasons for such caution, I think a more fulsome approach will consider the global good AI may be able to produce, especially when it comes to the advancement of education around the world.

Web: [Direct Link] [This Post]
10 Jan 17:49

How Twitter misleads us about how many people have left - and what to do about it | by J. Nathan Matias | Jan, 2023 | Medium

J. Nathan Matias, Medium, Jan 05, 2023
Icon

During the exodus, I lost about 150 Twitter followers (from 9700, where it has been for a decade, to 9550) and went up to about 800 followers on Mastodon. They're probably the people who actually saw anything I posted on Twitter; to the rest I'm a ghost. So they wouldn't notice that I'm gone. That's how the system is designed; you don't notice people have left because you weren't ever seeing them in the first place. "Social media feeds are designed to mislead us about the average opinions and behaviors of the people in our lives." Twitter looks full because the algorithm feeds us a steady diet of promoted tweets, and a few tweets from our friends. Dan Gillmor, meanwhile, says that journalists and others should leave Twitter immediately; the risks of staying are too great, risks that are "endemic to the mega-corporate, scalable-or-nothing, highly centralized version of the Internet that has emerged in recent years."

Web: [Direct Link] [This Post]
09 Jan 17:27

Readings

Economics

I picked up a copy of David Graeber’s Debt: The first 5,000 Years, after an animated discussion about debt with a friend on New Year’s Eve. After reading The Dawn of Everything I expected to be challenged and surprised immediately, and I have not been disappointed.

Myth

Some essays from the London Review of Books:

From Asgard to Valhalla: The Remarkable History of the Norse Myths
by Heather O’Donoghue.

Norse Mythology dominates popular culture to a surprising extent, considering that there are only a handful of original sources, none of which were translated to Latin until 1665.

Cleopatra: Histories, Dreams and Distortions
by Lucy Hughes-Hallett.

In spite of her epic ability to outmaneuver the Romans, Cleopatra is not a feminist icon, but I think the snake is overrated.

Helen of Troy: From Homer to Hollywood
by Laurie Maguire.

The famous lines by Marlowe, usually declaimed in rapture, can be read as inflected with irony and doubt: ‘Was this the face that launched a thousand ships?’

Marlowe is also famous for writing the first dramatization of the Faust legend, in 1604, The Tragical History of the Life and Death of Doctor Faustus, which was performed only once before he died after taking a knife to the eye in a bar fight. The CBC radio play is available on the Internet Archive.

The Atlantis Story: A Short History of Plato’s Myth
by Pierre Vidal-Naquet, translated by Janet Lloyd.

The neo-atlantean woo drives me a bit crazy, but who doesn’t love an over the top History Channel documentary now and then?

Medea
by Marina Warner.

I am mostly unfamiliar with Euripides — the classics are pretty stuffy, don’t deny it — but after reading this I went down a bit of a Wikipedia rabbit hole, and I’ve added the 1969 Maria Callas film to my list.

The article about Alphonse Mucha is a delight. Ivan Lendl has one of the world’s largest collection of Mucha’s works.

Society

Last week we had a fun discussion on Signal about mass delusional events that seem to be a cultural phenomenon that simply won’t go away.

Between the 14th and 17th centuries a recurring social phenomenon of Dancing Mania swept Europe. Nobody knows what caused it, and most of the theories are unconvincing. In particular, the symptoms are not consistent with ergotism, and anyway, the psychoactive properties of certain hydrolyzed compounds of ergotamine are also a completely different thing.

This got me thinking about the effort to book our camping trip this year over the weekend of the solstice, and other possibilities to escape from city life. The impressive endurance of Danish cultural legacies drew my attention to this passage:

Bonfires are lit in order to repel witches and other evil spirits, with the burnings sending the “witch” away to Bloksbjerg, the Brocken mountain in the Harz region of Germany where the great witch gathering was thought to be held on this day.

Goethe described the Brocken in his Faust, first published in 1808, as the center of revelry for witches on Walpurgisnacht (30 April; the eve of St Walpurga’s Day).

Now, to the Brocken, the witches ride;
The stubble is gold and the corn is green;
There is the carnival crew to be seen,
And Squire Urianus will come to preside.
So over the valleys, our company floats,
With witches a-farting on stinking old goats.

I‘ve added The Harz Witches’ Trail to my plans for my next hiking trip in Europe.

Folk Music

Speaking of farting goats, this weekend I learned that Sumer is icumen in is the boisterous theme sung by the villagers during the shocking climax of the 1973 film, The Wicker Man, and I also discovered the 2020 folk compilation named after the song, Sumer Is Icumen In: The Pagan Sound of British and Irish Folk 1966–75.

The official playlist on Wikipedia is incomplete (I made another list with the missing tunes, based on the Wikipedia article). I’ve come across some gems, many of which are worthy of their own rabbit holes.

I was particularly taken by Mad Tom of Bedlam, and of course I keep coming back to Tam Lin and its themes of transformation. I am especially fond of this version.

07 Jan 01:32

How (not) to teach the history of research ethics

by Os Keyes

Last quarter, I was the teaching assistant for INFO 300 - the introductory methods class in the Information School here at UW. I’ve already written a bit about thoughts stemming from conversations with the students; this is instead about conversations with the syllabus. In particular, it’s about the week we spent on the history of research ethics, and how teaching it confirmed, to me, the dangerous insufficiency of the usual way of doing so.

Anyone who has taken a vaguely-science-y college course is probably familiar with the “standard” history of research ethics. It goes something like this:

  1. In the beginning there was cowboy shit
  2. Cowboy shit led to the Nazis (or: J. Marion Sims, if your professor has a The New Yorker subscription)
  3. To avoid cowboy shit and the bad things that follow, we came up with the Nuremberg Code
  4. It turned out the Nuremberg Code had holes - just look at Tuskegee! - and so Congress blah blah blah common rule blah blah IRB.
  5. Do informed consent, eat your vegetables and go to bed on time, you little hellions.

This narrative is, with some modifications (as someone educated in the U.K, just swap out “common rule” for “Declaration of Helsinki”), everywhere. It was certainly the starting point for the INFO 300 week. But - maybe because of the last few yars of reading (particularly for my thesis), or because teaching this was my first time as the source of rather than recipient of this lesson, it calcified and surfaced the obvious and not-so-obvious issues with this history. And I began to recognise how perniciously dangerous - and conveniently dangerous - this narrative is as a starting point.

As I see it, there are two central problems: where this narrative places unethical behaviour, and where it places ethical responsibility. The unethical behaviours that appear in the standard narrative - Tuskegee, the Nazis, early gynaecological horror shows - are either long ago, far away, or both. They’re detached, in space and time, from the practices trainee researchers are involved in as they hear this narrative, or might someday be involved in as researchers. This is exacerbated by the fact that the examples are all almost cartoonishly evil. Taken together, students are taught that unethical research is undertaken by other people in other places, and easily identified when it happens.

Sometimes this is true - but much of the time, it is not. To give a handful of examples from my own experience, here are some research ethics questions I’ve run into:

  1. If I interview someone suffering from a lack of support, is it ethical to “cross the streams” and provide that support?
  2. If participants have no institutional access to information about their own medical diagnoses and treatments, should I provide them with every PDF I can get my hands on, copyright law be damned?
  3. Should I tell people who were harmed by an experiment undertaken by others that this occurred, given that they (and I) cannot do anything about the harm?

These questions sound small - but for the participants who have to deal with the consequences of my answer, they might be deeply important and consequential. And they’re nothing like the questions found in a narration of the ethicla and unethical that focuses on the absurdly abhorrent. If ethics involves case-based, heuristic reasoning, as is often suggested, recipients of the standard history are given a singularly narrow and useless set of heuristics to reason from.

The same problems appear - partnered with some new ones - with respect to the ethical, and the mechanisms to follow to ensure ethical outcomes. Taking a look at the standard history, something that stands out almost immediately is that the corrective events, which prevent research that is unethical and protect participants, are an unbroken chain of formal decisions by institutionalised bodies. Courts; committees; Congress.

Of course, this is empirically wrong in every respect; not only is it not unbroken (Terrence Ackerman argues quite convincingly that Nuremberg and the Declaration of Helsinki are fundamentally incompatible, with different understandings of not only ethics but research itself), but ethical thought and work didn’t begin with reacting to the Nazis. To the contrary: as Sydney Halpern has documented in her work on what she calls “indigenous ethics”, sciences and scientists have been thinking about ethical norms and traditions since at least the 19th century.

What these inaccuracies have in common is their effect. Specifically, that they widen the gap between “doing research” and “thinking about research ethics”. Research ethics is not treated as a thing that exists adaptively within a field, and unfolds through practice; instead it is about following formal rules adopted from on high. In the absence of formal rules, anything goes. But research ethics isn’t like this, as the mere existence of indigenous ethics suggsts: researching ethically is a practice. Far from being a single decision made by a far-away committee, the ethical valence of a project is a moving target, one that - just like the research itself - unfolds as the work does. What this means is that working ethically requires adaption to the messy, contingent and unexpected events that occur right in front of a researcher.

The conventional view of where research ethics is to be found not only fails to prepare students for this: it actively guarantees that novel ethical situations will come as a shock. And when they do, inevitably, appear, a junior researcher - having been trained to follow formal rules rather than inquire into ethics themselves - is far more likely to dismiss them than engage. Which is good for the speed of research, but the precise opposite of what a clas historicising the importance of research ethics should be enculturating.

So: what is the alternative? How else might we teach this history? My (slightly meta) answer is to begin with teaching this process; with demonstrating the standard model (which most upper-class undergrads in the sciences have been exposed to) and problematising it, just as I have done here. Draw in examples that challenge the standard narrative; emphasise, and make viscerally obvious, the uncertainty, contingency and immediacy of thinking about ethics as part of the ongoing practice and process of research.

This is certainly not as comfortable or comforting for students: it means they came to class with questions and received answers in the form of more questions. Nor is it sufficient for ethical thinking and practice. But it is, I believe, a necessary prerequisite - that students understand the history of research ethics as a living history, one that they, through their research and methods, play an active part in writing.

07 Jan 01:32

2023-01-06 BC small

by Ducky

Wastewater

From Jeff’s spreadsheet, with data from MetroVan through 2 Jan:

There’s so much noise, it’s hard to tell if the amount of COVID-19 in the wastewater is going up or going down.

Non-COVID Respiratory Illnesses

I might not do any more reporting on non-COVID respiratory illnesses. The levels of illness are dropping pretty fast, and the worst of the hospitals’ crush — which affected COVID care — appears to be over. Anecdotally? I watch the BC Children’s Hospital emergency department wait times, and the last two times I’ve looked, the wait time has been a bit under an hour. It’s “normal-bad” now instead of “abnormal-bad”.


Graphs from the BC CDC Pathogen Characterization page, with data on Week 52 (through 31 Dec).

Adult influenza and entero/rhinovirus has plummeted, but RSV and “other” (parainfluenza, adenovirus, human meta pneumoniavirus, and “common cold” coronaviruses) are still increasing. Pay attention that the scales are very different: at their recent peaks, entero/rhinoviruses were at about 150 cases/week, flu was at about 1700, RSV is currently at about 750 (with last year’s peak at about 1400), and “other” is at about 200. Influenza is the most dangerous, so I’m happy that it has fallen so much from its peak (now at ~400 cases/week).

The children’s charts look pretty similar:

The graphs for Children’s Hospital in Vancouver look basically the same, I’m not going to bother to show it.


In the US, respiratory illness levels are definitely going down across the country, pretty dramatically. From the US CDC’s weekly FluView report, comparing this year’s respiratory illness levels to previous years:

From the US CDC’s FluView Interactive (with data through 24 Dec), the US Pacific Northwest influenza level has also come down quickly:

In the US Pacific Northwest, the levels of all upper respiratory diseases has gone down, but not as dramatically as influenza fell:

07 Jan 01:31

The #IndieWeb approach *is* the simpler day-to-...

The #IndieWeb approach *is* the simpler day-to-day approach.

Once you setup your domain & provider (or host/CMS), you always know where to post.

Your own site.

Write first, defer “destination decisions”.

Create first, edit for audience(s) second.

It’s refreshing & liberating.

Whether text, photos, videos, podcasts, brief thoughts, thinking out loud, a considered essay or “thought piece”, or replies to any of the above, start with your own site.

Why burden yourself with having to decide what to post based on:
* Will this fit in 140^H^H^H 280 characters?
* Or 500?
* Does it need a title?
* Will my photos/videos fit their aspect ratio limits?
* Which four photos for this album? Or 10? What one aspect ratio to crop them all into?
* Will my video fit in 15, 30, 90, or 140 seconds?
* Will I upset Big Chad or be subject to selective enforcement of ever-changing policies?
* Can I edit my post after publishing?

By decoupling creating from “distribution”, or “audience”, or “reach”, or the size of someone else’s storage boxes, you are free to express your thoughts first, then optionally decide if you want to share them elsewhere and edit as necessary.

If you do want to syndicate (POSSE) your post, then you can decide:
* Where else to send your post
* Is it worth your time to edit your post for any particular destination
* … their content limits (number of characters/photos, or video length)
* … their audience expectations or terms of service sensitivities

Creating and editing are different mental tasks.

Decoupling them makes posting easier and you can do a better job at both.

You can defer destination decisions & editing to some point in the future entirely, when you feel it’s worth your time.

You decide how and when to spend time creating vs editing. You are in control.

This is day 5 of #100DaysOfIndieWeb #100Days

← Day 4: https://tantek.com/2023/004/t1/choosing-domain-name-indieweb
→ Day 6: https://tantek.com/2023/006/t1/forward-in-time-links
05 Jan 18:02

Geopoly in SQLite

by Simon Willison

I noticed this morning that one of my Datasette installations had the Geopoly SQLite extension enabled. I don't know how it got there - it has to be compiled specifically - but since it was there I decided to try it out.

The clue that it was enabled was seeing ENABLE_GEOPOLY listed in compile options on the /-/versions page.

Importing some raw GeoJSON data

Geopoly supports "a small subset of GeoJSON". It can only handle polygons, and they have to be "simple" polygons for which the boundary does not intersect itself.

It took me a bit of work to populate a database table. I started by exporting GeoJSON for North and South America from this page:

https://geojson-maps.ash.ms/

Here's the data I exported as a Gist.

To load that into SQLite I started by installing the datasette-write plugin and starting Datasette as root:

datasette install datasette-write
datasette --create data.db --root -o

Then I visited http://localhost:8001/-/write and created a raw_data table and inserted the GeoJSON:

create table raw_data (text);

I had to replace any single ' characters with '' in the JSON to escape them, then I pasted in the following:

insert into raw_data (text) values ('{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",...');

This gave me a populated raw_data table with a blob of JSON I could start playing with.

Converting that to Geopoly shapes

This next bit was really tricky.

I started by creating a new table for my countries:

create virtual table countries using geopoly(name, properties);

My GeoJSON data contained two types of object: polygons and multipolygons.

Neither of these can be inserted directly into a Geopoly table.

GeoJSON Polygons exist as a list, where the first item in the list is the shape and subsequent items are "holes" within that shape (lakes and suchlike).

Multipolygons are a list of polygons, for example the USA has separate polygons for Alaska and Hawaii and more.

Geopoly can only handle a simple polygon - so I needed to pick a single polygon for each of my countries.

After some experimenting, I came up with the following write query to populate the table with valid polygons:

insert into countries (name, properties, _shape)
select
  json_extract(value, '$.properties.name') as name,
  json_extract(value, '$.properties') as properties,
  json_extract(value, '$.geometry.coordinates[0]') as _shape
from json_each(text, '$.features'), raw_data
where geopoly_blob(_shape) is not null

There are a few tricks going on here.

  • from json_each(text, '$.features'), raw_data loops through every feature in the $.features list inside the text field in that raw_data table I created earlier. The join there is a little unintuitive but it works for processing JSON in a table with a single row. Each item in that array is available as value in the rest of the query.
  • json_extract(value, '$.properties.name') extracts the name property from the properties object inside the GeoJSON feature - this is the name of the country.
  • json_extract(value, '$.properties') extracts the full properties object as a JSON string.
  • json_extract(value, '$.geometry.coordinates[0]') extracts the first item from the coordinates array inside the GeoJSON geometry object. As discussed earlier, I decided to ignore the "holes" in each polygon and just store the outer-most shape.
  • where geopoly_blob(_shape) is not null is a trick I found to filter out invalid polygons - without this the entire query failed with an unhelpful SQL logic error.

This query turned out to do the right thing for all of the countries with a single polygon - but it skipped countries like the USA and Canada which used a multipolygon.

I eventually figured out I could import those countries as well with a second query:

insert into countries (name, properties, _shape)
select
  json_extract(value, '$.properties.name') as name,
  json_extract(value, '$.properties') as properties,
  json_extract(value, '$.geometry.coordinates[0][0]') as _shape
from json_each(text, '$.features'), raw_data
  where json_extract(value, '$.geometry.type') = 'MultiPolygon';

Here I'm using $.geometry.coordinates[0][0] to extract that outer shape from the first polygon in the multipolygon.

This worked! Having run the above two queries I had a fully populated countries table with 31 rows.

What country is this point in?

I can now use the geopoly_contains_point() function to find which country a point is in:

select
  name, properties
from
  countries
where
  geopoly_contains_point(_shape, -84.1067362, 9.9314029)

The latitude and longitude of San José, Costa Rica is 9.9314029, -84.1067362. This query returns Costa Rica.

Plotting everything on a map

I installed the datasette-geojson-map plugin by Chris Amico and used it to plot my countries on a map:

datasette install datasette-geojson-map

Then in the SQL interface:

select
  name,
  '{"coordinates": ['
  || geopoly_json(_shape) || 
  '], "type": "Polygon"}' as geometry
from
  countries

Here I'm using the geopoly_json(_shape) function to turn the binary representation of the shape in the database back into a GeoJSON polygon. Then I'm concatenating that with a little bit of wrapping JSON to create a full GeoJSON feature that looks like this (coordinates truncated):

{"coordinates": [[[-82.5462,9.56613],[-82.9329,9.47681]]], "type": "Polygon"}

The plugin renders any GeoJSON in a column called geometry. The output looked like this:

Screenshot showing that SQL query, with a map displayed below it with the outlines of all 31 countries. Argentina is notably missing.

I just spotted that Argentina is missing from that map, presumably because it's a multipolygon and the first polygon in that sequence isn't the largest polygon covering that country.

Could this handle more complex polygons?

The obvious problem with this approach is that I've over-simplified the polygons: the USA is missing two whole states and a bunch of territories, and other countries have been simplified in similar ways.

I think there's a reasonable way to handle this, with a bit more work. The trick would be to represent each country as multiple rows in the database, each row corresponding to one of the polygons in the multipolygon.

This could even be extended to handle holes in regular polygons, by running queries that can consider multiple rows and identify if a point falls within a hole and hence should not be considered as part of a country.