Shared posts

24 Apr 07:13

Pandemic staycation

by ducky

My beloved and I, at my instigation, took a little vacation on Friday. I wanted to celebrate finishing our taxes, the weather had been beautiful and sunny (although still slightly cool, c’mon, it’s British Columbia in March), and we hadn’t been out at all together in a very long time.

So we rented a carshare, ostensibly to cruise around and look at cherry blossoms.

But of course there was scope creep. Oh hey, if we look at cherry blossoms out at UBC, then we should get takeout from my fave campus restaurant and eat at the little park next door. And of course get ice cream from my fave ice cream shop. Oh, and if we have a car, we should go visit J&A (distanced, in their back yard), who my beloved hasn’t seen in person for a year. And because they can’t invite us in, let’s get takeout on our way home! Oh, except beloved as a doctor’s appointment at 3pm, so we’ll need to add that in. Oh, and as long as we have a car, we should pick up bulk kidney beans and yellow raisins at the Punjab Food Centre.

We are still in a pandemic, so there were a few things that we knew would be different, even in the planning stage. In Before Times, maybe we would have stayed at J&A’s for dinner. In Before Times, we would have eaten at the restaurant. I also carefully checked fave restaurant’s web site to make sure they were still open.

I gave a passing thought to toilets. We should probably pee at fave restaurant at lunch. I considered whether that was safe, and decided it was. Their washroom was relatively large and lightly used even when in Before Times.

Well. When we got to fave restaurant, there was a sign which said that it had closed on 7 Dec. Grrrr, thanks for keeping your website updated, not.

And I needed to pee!

The UBC hospital is very close, so we headed over there. I felt a little bad about sneaking in, but I had been a patient there before, and I really did need to go. But a sign which said, “NON-ESSENTIAL VISITS PROHIBITED.” While finding a toilet was essential for me right then, I was pretty sure they wouldn’t find it essential. I could not enter in good conscience, even though I was wearing a good mask.

So instead, we went to the UBC Health Clinic, where we are both current patients. They have big washrooms with low usage, so I felt pretty sure it was safe. Success!

That gave us enough breathing room to find a fast food joint near the ice cream shop. We ate a leisurely lunch outside, had ice cream outside, and then… I needed to pee again. After a little bit of discussion, we decided to swing past home and pee there. (It also let my beloved pick up his wallet, which he had forgotten at home because he doesn’t go out that much because pandemic.)

I thought about staying home and having him swing around afterwards and pick me up, but then decided that if I went with him and waited in the car (because pandemic), then we could head straight over to J&A’s.

Did I mention that my beloved got the food at the restaurant? And so when I asked for a cola, dutifully got me a cola? Which came in a 591ml bottle instead of the 222ml mini-cans which I usually drink?

Yep, after Jim got done with his doctor’s appointment, I had to pee again. And since J&A couldn’t let us in their house…. yep, we swung past home again.

After we left J&A, I was able to hold it until we got home, but I was definitely paying attention to my bladder.

“You have to plan potty breaks really carefully” is not the pandemic advice I ever expected during Before Times.

09 Apr 18:01

How to make a coronavirus piñata

by Liz

I bet you would like to BEAT COVID-19. And here is one way! Make your own coronavirus piñata and (safely socially distanced, masked, outdoors) hit the piñata until it is DEFEATED!

All the diagrams of the shape of the virus that I’ve seen have a round shape with at least 3 different sizes of “protein spikes” coming out from the middle, with each kind being a different height. Each spike has an extra bit on top like a flat top or a sort of flower shape. This is not too hard to make, but doing the “protein spikes” was a little bit of a challenge.

Here’s one model I looked at, from the CDC:

coronavirus diagram

Here’s how I made a coronavirus piñata, in some detail! I am putting in all the details, because, while I grew up making piñatas I realize a lot of people did not or they bought their piñatas from a store. It’s so much fun to make them because the multi-day process builds up anticipation.

Make a standard piñata shell over a large balloon.

(You can also use a plastic or paper grocery bag stuffed with paper or other bags to make the shape – the important thing is, you have to be able to pull all that stuff OUT of a small hole.)

You will need:

  • about 3-4 days
  • a round balloon
  • flour
  • water
  • a bowl
  • a newspaper
  • some twine or strong cord
  • somewhere to work
  • black paint
  • regular school glue
  • thick cardstock or thin cardboard, two or three pieces
  • paintbrush (or your fingers)
  • scissors
  • red, orange, and yellow rolls crepe paper (or colors of your choice)

Preheat oven to 350 degrees NOOOOOOO I’m joking. Never put your piñata in the oven. It will catch on fire. Very bad idea!

Mix a bowl of warm water and some flour to make a thin, soupy paste, beating out all the lumps. Tear some newspaper into long strips a little less wide than the space between two fingers (so that you can efficiently use your fingers to strip the paste from the newspaper).

Set up a place where you can make a mess. It helps to have either a place to hang the balloon on the cord from somewhere that puts the balloon at your working level, or, you can perch the balloon on a tray or on top of a cooking pot.

Tie the cord to the end of the balloon, leaving a long piece to hang the piñata, and about 6 inches or so on the shorter end, to build into your paper mache base.

This is going to make a big mess!

Now, take a strip of newspaper, carefully dip it into the flour and water, and use your fingers like a squeegee to strip excess paste from the newspaper. This takes a delicate touch because when the paper gets wet, it will break easily. Now lay the paper across your balloon. Repeat this until the balloon is covered with 1 layer of paper. Leave a hole near the top to put in the candy, decorations, and prizes!

Hang the piñata to dry. If you have a space heater you can put it nearby. Otherwise, it will take at least a day to dry out.

unpainted wet pinata

Wash your bowl and work surface quickly so the paste doesn’t dry into glue!

Once the shell is dry I do recommend you add one more layer. Unless your piñata is for very small children – in that case one layer might be okay.

Repeat everything to add another layer of paper!

Hang the piñata to dry again. (And, now, you can pop the balloon if it hasn’t popped already!

It does not matter if your piñata is not perfect, or it’s lumpy, or a weird shape. It will still look amazing once you cover it with paper, and you are going to break it anyway!! Don’t worry!

Look how ugly it is! But we have no worries.

lumpy looking pinata base

(I am leaving out the part where I hung the piñata outside in the sun to dry, then forgot about it. Raccoons came in the night and slashed it open, so I had to add some repairs and dry the shell again before I painted it. I recommend you skip the step with the raccoons. Again – do not worry about any little imperfections, such as a raccoon invasion, or that your virus is not a perfect sphere.)

Now you have some choices. Normally I would wrap the piñata around and around in overlapping layers of frilly crepe paper, but for this coronavirus effect, I painted the balloon shell instead. I thought black would hide any imperfections in the shape and would make the color of the protein spikes stand out more beautifully! I used washable tempera paint that cost about 3 dollars for a 16 oz container. The paint dried in a couple of hours when I hung the piñata near a space heater. Otherwise, expect it to dry overnight.

Now you are ready for the decorations!

Take your roll of crepe paper, and stick the scissors into it so that you are cutting a fringe about 1/3 of the way through several layers of paper at once. This next picture shows what that looks like, with a sneak preview of making it into a tall spike shape!

crepe-paper-spike

You can’t cut too many layers at once, just cut a few, then make some decorations, then when the fringed part ends, cut some more fringe into the roll.

To make the spikes, I had two requirements. One, they have to be strong enough hold the “flower” fringes of paper up high at two different heights. And two, I have to be able to attach them firmly to the piñata base. But how to do this? (Tape will not work!)

I happened to have thick colored cardstock in bright yellow and orange, the same color as the crepe paper I bought. But, my original plan was to use plain white cardstock or strips of a thick cardboard box, painted black. Construction paper might work if you roll it into a tube with several layers. Another idea, you could use paper or plastic straws.

So, using my cardstock (#60 thickness I happen to know) I cut out rectangles and taped them into small tubes about the size of a drinking straw. Then, cut the base of the tube 3 times to give 3 flanges to glue onto the piñata. If you look back at the photo above you can see the tube and two visible flanges.

Then, I wrapped the fringed crepe paper around the other half of the tube and taped it into place. Spread out the fringe to make the flat, carnation-like top of the protein spike for our virus!

Then glue the spike onto the piñata and hold it for a moment for the glue to stick. This took a couple of hours to make all the tall spikes, then the medium spikes.

Here is a picture of this phase of construction. In it, you can see that my shape is not perfect, the paper is very lumpy, and the paint job is not very good. None of those things mattered – You are not building something perfect; you are building a PARTY.

pinata construction phase

The most numerous spikes are the short red ones, much less work. For those I just used the base of the crepe paper, cut into flanges, and glued them directly to the piñata base.

Things got tricky because the glue does not hold quickly enough to stop the taller spikes from falling off, unless they are at the top of the sphere. So I had to keep turning the piñata and carefully propping it up, without squashing the spikes.

pinata half finished

Maybe you will think of a better way to do that! Or maybe you will have better glue!

But, while I am working on it, it’s so peaceful and meditative. I’m thinking of the vision of the finished object, and also thinking with love of the event and the people I will host and how they will be astonished by the ridiculousness of this project and the ephemeral nature of ritual celebration and destruction ! We will BEAT the CORONAVIRUS! Together! With joy and love!! And from it, somehow, we will extract ABUNDANT GOOD THINGS even if those things, when not metaphors, are little bottles of hand sanitizer and chocolate bars and “crispy fruit” packets from Big Lots!

It reminds me of my favorite poem by María Eugenia Vaz Ferreira about ephemeral things!

You must put all of that love into your piñata making. It is very important!

Back to construction: I think you could go faster by having one layer of the spikes be nearly flat to the surface, then the crepe-paper height layer, then only one layer of “tall” spikes on straws or other tubes. But, your finished product might lack a little bit of panache.

Once you’re done gluing, let your spikes dry for some hours. Then carefully stuff the piñata with candy or prizes and some crumpled remains of the crepe paper as filler.

Oh! It’s almost done now!! But after taking this photo I added more spikes because I noticed a big empty spot!!

me with pinata

Look how beautiful it is when finished, despite its asymmetry, my sloppy paint job, and the raccoons! So festive! (At least, it is beautiful to me, after so many hours.)

finished pinata

Hang it up, play some music, and take turns ceremoniously beating it with a stick!

youth with pinata

It turned out that the pieces of the broken piñata were the perfect shape to make attractive hats.

milo with pinata hat

liz with hat

Have a good time! And if you make your own covid-19 piñata please show me the pictures!

P.S. HAPPY BIRTHDAY to my FABULOUS SON!!!!! <3

09 Apr 18:01

Understanding JSON Schema

Understanding JSON Schema

Useful, comprehensive short book guide to JSON Schema, which finally helped me feel like I fully understand the specification.

Via @kelseyhightower

09 Apr 18:01

The Problem With “Just Launch It”

by Richard Millington

Just launching a community and seeing what happens doesn’t sound like a terrible idea. You learn quickly and can pivot fast.

However…

1) You only get one chance to make a great first impression.

2) If you choose the wrong platform, you’re sabotaging your community efforts.

3) If you have a bad community concept, you’re going to struggle to gain any activity.

You can spend months trying to unpick errors made in trying to launch a community quickly.

I’m always nervous about client projects which want to “build the strategy while developing the community”.

This doesn’t mean you can’t do anything while undertaking your research. You can be testing a lot of different community ideas to see what gets traction.

  • You can use Twitter to test different topics and hashtags.
  • You can host live events and promote them to your audience and see how many people show up.
  • You can work to build relationships with the audience and see how many are receptive to you and your ideas.
  • You can invite members to share guest posts on your website.
  • You can create content and see which formats and topics are most popular.

All of these things are part of the early community-building process but don’t commit you to any particular technology, topic, or approach to building a community.

They can quickly identify what does and doesn’t work best.

So if you’re feeling pressured to ‘just launch it’, try launching a bunch of tiny tests instead.

The post The Problem With “Just Launch It” first appeared on FeverBee.

09 Apr 18:01

Plan 9 from Bell Labs in Cyberspace

by Rui Carmo

This is pretty good news: Nokia, who acquired Bell Labs a while back, handed Plan9 to the new Plan9 Foundation, which released it under the MIT license. Even though it has little practical use these days, this may rekindle interest in it.

I dabbled with Plan9 for a while and had a Raspberry Pi booting it regularly until not too long ago. I am also still on the mailing-lists… Let’s see what happens.


09 Apr 18:01

Best Working SSD / Storage Adapters for Raspberry Pi 4 / 400

by jamesachambers
Storage Adapter GuideTo this day it can still be treacherous to buy a storage adapter for your Raspberry Pi 4. There are many that will not work properly and perform very poorly. I have created a "Best Storage Adapters for Raspberry Pi 4" list. Let's get started!

Source

09 Apr 18:01

Play Store Support Program Updates

by Rizki Kelimutu

TL;DR: By the end of March, 2021, the Play Store Support program will be moving from the Respond Tool to Conversocial. If you want to keep helping Firefox for Android users by responding to their reviews in the Google Play Store, please fill out this form to request a Conversocial account. You can learn more about the program here

 

In late August last year, to support the transition of Firefox for Android from the old engine (fennec) to the new one (fenix), we officially introduced a tool that we build in-house called the Respond Tool to support the Play Store Support campaign. The Respond Tool lets contributors and staff provide answers to reviews under 3-stars on the Google Play Store. That program was known as Play Store Support.

We learned a lot from the campaign and identified a number of improvements to functionality and user experience that were necessary. In the end, we decided to migrate the program from the Respond Tool to Conversocial, a third-party tool that we are already using with our community to support users on Twitter. This change will enable us to:

  • Segment reviews and set priorities.
  • Filter out reviews with profanity.
  • See when users change their ratings.
  • Track trends with a powerful reporting dashboard.
  • Save costs and engineering resources.

As a consequence of this change, we’re going to decommission the Respond Tool by March 31, 2021. You’re encouraged to request an account in Conversocial if you want to keep supporting Firefox for Android users. You can read more about the decommission plan in the Contributor Forum.

We have also updated the guidelines to reflect this change that you can learn more from the following article: Getting started with Play Store Support.

This will not be possible without your help

All this will not be possible without contributors like you, who have been helping us to provide great support for Firefox for Android users through the Respond Tool. From the Play Store Support campaign last year until today, 99 contributors have helped to reply to a total of 14484 reviews on the Google Play Store.

I’d like to extend my gratitude to Paul W, Christophe V, Andrew Truong, Danny Colin, and Ankit Kumar who have been very supportive and accommodating by giving us feedback throughout the transition process.

We’re excited about this change and hope that you can help us to spread the word and share this announcement to your fellow contributors.

Let’s keep on rocking the helpful web!

 

On behalf of the SUMO team,

Kiki

09 Apr 18:00

Sneak Peek of the Next PureOS Release on the Librem 5

by David Hamner

With the next release of PureOS, code-named Byzantium, just around the corner, let’s give you a sneak peek of what you can look forward to.

Encryption

Disk encryption will allow for the root disk to be password protected. With this setup, you’ll be asked to decrypt your device before it continues to the phone shell.

Byzantium OS Intro

The default lineup of preinstalled apps is not finalized but is growing. For now, this is what it looks like.

Everything is newer; This release uses the more recent base of Debian Bullseye. On top of that, the codebase between phone, laptop, desktop, and the server will be shared. There was a special repository for the phone that contained additional adaptive applications in the previous release. From this release on, the desktop and phone will use the same adaptive apps and packages.

Files

Also new in this release is the adaptive file manager. Now you’ll be able to manage your home directory with ease.

Other New Apps and App Features

Video decoding using the onboard Video Processing Unit is planned to land in Gnome Web soon. Once added, the Librem 5 will play videos for longer and stay cooler while streaming from the browser.

GPS and Gnome Maps are planned to be supported.

In this release, you can uninstall even the default apps giving you full control of what software runs on your device.

Flipping the camera/microphone hardware killswitch will come with UI feedback.

KDE applications work much better out of the box. This gives users, and developers access to QT tools on top of the default GTK UI toolkit.

Settings

The device settings has many more options and we are working with the community to finish up making these additional settings adaptive.

For those familiar with other platforms, Applications should be very familiar. You can search through your installed apps and manage any Integration settings they might have.

Users with impaired eyesight can look forward to a high contrast mode. We are putting the finishing touches on support in Phosh, but most apps respond well to the high contrast mode.In this release, it’s also possible to test a Screen Reader, giving users audio feedback as they navigate the UI and applications.

Other desktop environments

Desktop-only software isn’t desktop-only anymore. With a few commands, you can install and startup a plasma session on its own screen.

#install 
sudo tasksel install desktop kde-desktop
sudo apt install plasma-wayland-protocols plasma-workspace-wayland kwin-wayland-backend-fbdev kde-standard

#run
sudo systemctl stop phosh
export WAYLAND_DISPLAY=wayland-0
startplasma-wayland --framebuffer --fb-device /dev/fb0 &#or fb1 to select the screen you want it on
plasmashell

Or start KDE like an app from within Phosh.

#login to Phosh and run
plasmashell

If you’re looking for a classic interface, you can start Mate on the onboard screen.

#mate on PureOS 10
sudo apt install xinit xorg xterm x2x mate

#run X11
sudo systemctl stop phosh
sudo xinit -- -masterfd 9 9<>/dev/dri/card1 &
export DISPLAY=:0
mate-session

While there are too many interfaces to go over here, you can spend hours exploring what each one feels like on the go.

#Other desktops that could be fun:
tasksel# Gnome Xfce Cinnamon Mate LXDE LXQT

This new release of PureOS is already used on the Librem Mini v2 and our Librem 14, and will be made available for your Librem 5 soon.

Discover the Librem 5

Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the-people stand up for our digital rights, where we place the control of your data and your family’s data back where it belongs: in your own hands.

Order now

The post Sneak Peek of the Next PureOS Release on the Librem 5 appeared first on Purism.

09 Apr 18:00

20 years of Mac OS X

by Rui Carmo

20 years of macOS as we know it today.

It was the reason I returned to the Mac after a post-NeXT stint of Windows (mostly NT), and is still the reason I use Apple hardware at home.

Strange to think that these days I have plenty more UNIX-centric options and yet there is no real (user-friendly, end-to-end) equivalent to it and its ecosystem (although WSL is tipping the scales heavily, no form of Linux is truly equivalent).


09 Apr 18:00

Fumble

by Volker Weber

Ich kann das insoweit bestätigen, dass mein iPhone 12 Pro schon x-mal abgestürzt ist, ohne Schaden zu nehmen. Und ich benutze kein Case.

09 Apr 17:39

Gutes Headset aufrüsten oder besseres kaufen

by Volker Weber

ec2c62f89ba5d95a39c5bd2deebb582c

Die Sony 1000XM3 sind äußerst beliebt. Kräftige Bässe, starke Geräuschunterdrückung, dezentes Design. Aber leider sind sie lausig schlecht, wenn man damit telefoniert. Man selbst merkt nichts davon, aber die Gegenseite leidet. Und damit die eigenen Argumente. Erfreulicherweise kann man das Problem für 29 Euro abstellen. Das V-Moda BoomPro bringt ein tolles Mikrofon an den Mund und eine Kabelverbindung, die das schlechte Bluetooth-Profil HFP vermeidet.

Das funktioniert mit allen Headsets, die ein abnehmbares Kabel haben, das einen 3,5 mm Klinkenstecker hat. Das erkennt man leicht, weil beide Enden gleich dick sind. Wem der Kopfhörer auch fehlt, der kauft für weniger als 40 Euro einen Urbanears Plattan oder für 120 Euro einen Marshall Major IV. Das sind zwei verschiedene Generationen von Zound Industries Bluetooth-Kopfhörern.

Wer ohne Kabel arbeiten will und dafür ein leichtes und perfektes Headset sucht, dem empfehle ich weiterhin den Jabra Evolve2 65. Den benutze ich täglich stundenlang und entdecke immer wieder nützliche Features, etwa die automatische Lautstärkebegrenzung, wenn dir jemand mit seinem schlechten Headset in die Ohren brüllt.

09 Apr 17:39

Faut-il faire le ménage dans ses mails pour être écolo ?

by Tristan

iphone_casse.jpg, mar. 2021

TL; DR : un petit résumé pour ceux qui sont trop pressés pour lire l’article :

  1. Supprimer ses mails pour sauver la planète, c’est comme faire pipi sous la douche, l’effet est extrêmement limité en plus d’être désagréable[1]
  2. Pour être efficace, il faut se concentrer là où c’est important, et c’est particulièrement vrai dans le cas présent
  3. L’essentiel de l’empreinte carbone du numérique (70 % !) provient de la fabrication et distribution des terminaux (smartphones, ordinateurs portables ou de bureau, télévisions, tablettes). C’est donc là qu’il faut agir en premier
  4. Comment faire durer son terminal ?
    1. Smartphone : le faire durer plus de deux ans. Pour cela, j’indique des solutions ;
    2. Ordinateur : d’autres solutions, par exemple passer au SSD ;
    3. La TV ? Éviter de passer au modèles 4K et faites réparer votre TV HD si nécessaire ;
  5. Faire le ménage sur son ordinateur ou son smartphone (supprimer les gros fichiers inutiles, telles que les vidéos, les mails avec des grosses pièces jointes, les vieux dossiers) ne sont intéressants que dans la mesure où votre machine sature et faire ce ménage pourrait éviter d’avoir à la changer.

Aujourd’hui, c’est le Cyber World Cleanup Day, la version numérique du World Cleanup Day, et de nombreux événements sont organisés dans toute la France pour « créer une première prise de conscience autour du sujet des émissions de gaz à effet de serre liées au numérique », comme l’explique le site.

Beaucoup de gens, souvent bien intentionnés, vont vous dire qu’il faut supprimer ses emails pour être écolo. Comme souvent, c’est bien plus compliqué que ça… Du coup j’ai décidé de faire un petit article sur le sujet.

Alors je supprime mes mails ou pas ?

Oui, supprimer ses emails est une bonne idée, d’autant plus qu’on vide la corbeille de sa messagerie après. Mais la vraie question est plutôt : quel est le geste qui a le plus d’impact et qui me demande le moindre effort ? Car c’est ça l’enjeu : le temps et l’énergie que j’investis à supprimer mes mails pourraient être plus utiles et plus efficaces à faire autre chose. C’est sur ces points là qu’il faut focaliser nos efforts.

Alors on va déjà voir comment passer le moins de temps possible pour supprimer le plus de volume de données en moins de temps possible.

Trier ses mails vite et bien

Comme on était à parler messagerie, on va partir de là et rapidement passer à autre chose.

Déjà, il faut savoir que tous les mails ne sont pas égaux : certains sont très légers (quelques kilo octets / ko), d’autres ont des pièces jointes qui peuvent peser beaucoup plus lourd (plusieurs dizaines de Mo, soit 1000 fois plus que les messages légers). C’est là qu’il faut agir en priorité !

La méthode est simple : on trie les mails par taille. (Attention, j’ignore si cela fonctionne dans Gmail : je n’ai pas trouvé comment faire. Par contre, ça fonctionne très bien dans Thunderbird et autres “clients lourds”).

Donc on trie ses messages par taille décroissante (les plus lourds en haut de la liste). On s’assure que la taille de chaque message est affichée et on clique dans l’en-tête de la colonne, sur la taille. Et si ça apparait dans le mauvais sens, on re-clique. Si vous avez réussi, les messages sont maintenant listés par taille décroissante.

On regarde quels messages méritent d’être conservés, peut-être les plus récents et ceux qui n’ont pas encore été traités, et on sélectionne tous les autres. Ensuite on les supprime. Puis on vide la corbeille.

De même, on fait le tri dans les dossiers de messagerie (pour ceux qui s’en servent) : quels sont ceux qui méritent d’être conservés ? Dans certaines entreprises, on considère que les dossiers d’un certain âge n’ont pas besoin d’être conservés. Ma femme a tendance à dire quand elle fait le ménage dans ses placards que si elle trouve un vêtement qu’elle n’a pas mis depuis plus d’un an, elle le donne à une association. J’ai tendance à faire la même chose avec mes dossiers de mail que j’offre alors à ma corbeille !

Et voilà, ça suffit, pas besoin de passer des heures à trier à la main des milliers de petits messages : leur poids sur le disque de votre machine et/ou de votre serveur est équivalent à celui d’un ou deux messages avec des grosses pièces jointes.

Trier ses photos sur son smartphone

Même approche pour gagner de la place sur son smartphone. Avec leurs appareils photos qui sont de plus en plus performants, on a tendance à multiplier les films et les vidéos. Et, la plupart du temps, on ne retourne pas les regarder. Comment faire le ménage efficacement ? Même méthode que pour les mails : se concentrer sur ce qui compte et faire un max de place en un minimum de temps.

Il faut savoir qu’une vidéo, c’est beaucoup consommateur de place sur dans la mémoire Flash d’un smartphone ou le disque dur d’un ordinateur. Par exemple, une vidéo d’une minute, c’est 120 Mo de données. Soit l’équivalent de 120 millions de caractères. Pour une seule minute de vidéo ! Une photo, c’est de l’ordre de 2 Mo, soit 60 fois moins. Conclusion, il faut faire la chasse aux vidéos ratées ou inutiles en priorité. Pour cela, allez dans l’application qui recense vos photos et vidéos et supprimez tout ce qui n’a pas d’intérêt, en faisant les vidéo en priorité. Comme ça, c’est du ménage rapide et efficace !

En faisant cela régulièrement, cela prend peu de temps à chaque fois et on évite au maximum le renouvellement du smartphone (et la consommation d’espace disque dans le cloud pour la sauvegarde de vos appareils, le cas échéant).

Supprimer les vieux fichiers sur son disque

Sur sujet est plus complexe car il est possible de faire des bêtises en supprimant des fichiers sur son disque dur, s’il s’agit de fichiers système (nécessaires au bon fonctionnement de l’ordinateur). C’est donc une démarche à réserver à ceux qui savent ce qu’ils font.

Si tel est le cas un utilitaire d’analyse de disque sera très utile pour visualiser les répertoires les plus volumineux. Voici quelques suggestions :

Le mail est l’arbre qui cache la forêt des terminaux

Il convient d’appliquer notre méthode consistant à se focaliser sur ce qui consomme le plus, et pourtant, j’ai commencé par le mail, qui était notre sujet de départ. Mais justement qu’est-ce qui fait notre empreinte carbone dans nos usages numériques ?

On a de la chance, le Sénat a fait réaliser une étude sur le sujet[2] en 2020, et le résultat peut surprendre :

Les terminaux sont à l’origine d’une très grande part des impacts environnementaux du numérique (81 %)

Là, on parle des terminaux sur l’ensemble de leur cycle de vie : Extraction des matières premières, fabrication, distribution, utilisation (et réutilisation) et recyclage[3]. Autrement dit, les datacenters et les équipements réseaux représentent 19 % du problème. Ça n’est pas négligeable, mais si on veut être efficace, il vaut mieux s’attaquer au 81 % qu’au 19 % :-)

Comme en France l’électricité est peu émetteur de carbone (grâce au fait que l’électricité française est produite essentiellement à base de nucléaire et d’hydraulique), ça n’est pas l’utilisation qui pollue, mais la fabrication !

La fabrication et la distribution (la « phase amont ») de ces terminaux utilisés en France engendrent 86 % de leurs émissions totales et sont donc responsables de 70 % de l’empreinte carbone totale du numérique en France

Voilà, la fabrication et la distribution des terminaux (ordinateurs portables ou non, smartphones, télés connectés, tablettes, imprimantes) sont responsables de 70 % de l’empreinte carbone totale du numérique en France.

Donc c’est avant tout là qu’il faut agir pour réduire l’empreinte carbone. Si on fait durer son terminal, c’est là qu’on fait le geste le plus utile, celui qui a le plus d’impact.

Comment faire durer son terminal ?

Le smartphone

Ça, c’est facile :

  1. J’achète une coque pour le protéger
  2. Je choisis une marque qui ne pousse pas à l’obsolescence via le logiciel. Par exemple, Apple fait que les nouvelles versions de son logiciel iOS est compatible avec des appareils qui ont 5 ans. C’est moins le cas du coté de chez Android[4]
  3. Je choisis un modèle étanche, surtout si j’ai tendance à le laisser tomber dans les toilettes (beurk !)
  4. Je fais le ménage dans mes messages (pas merci les copains qui m’envoient des tonnes de vidéos par messagerie instantanée), mes mails, mes vidéos, mes photos pour ne pas saturer le stockage du téléphone[5]
  5. Je choisis un modèle dont on peut changer la batterie facilement (là, Apple est plutôt moins bon que sa concurrence car ils forcent à passer chez un professionnel agréé pour cela).
  6. Je choisis un matériel qui est facilement réparable (chouette, il y a un nouvel indice de réparabilité mis en place sur ces équipements !)
  7. Je fais réparer mon appareil quand c’est nécessaire
  8. Et surtout je résiste aux sirènes du marketing pour éviter de changer de modèle trop tôt !

Pour l’instant, la durée de vie d’un téléphone en France est de 23 mois en moyenne. Un smartphone peut durer beaucoup plus longtemps que cela !

L’ordinateur

Là aussi il y a des choses à faire pour faire durer votre machine. Si vous trouvez que votre ordinateur se traîne un peu trop à votre goût, il existe une recette miracle pour ceux qui sont encore équipé de disque durs magnétiques (ceux qui font un petit bruit quand ils tournent) : il suffit de les remplacer par des disques dit SSD (Solid State Drive). Les bricoleurs pourront le faire eux-même mais il est aussi possible de passer par un réparateur de quartier qui a l’habitude de ce genre d’opération. Il faut savoir que les processeurs Intel (qui équipent la majorité des PC) ont fait moins de progrès ces dernières années que les décennies précédentes. Par contre, le passage du disque dur au SSD a permis d’énormes gains de performance. Mon ordinateur de bureau a maintenant 9 ans est il est toujours utilisable, surtout depuis le passage au SSD !

Les plus téméraires ou plus proches de la technique pourraient envisager un passage à une version légère de GNU/Linux, qui peut faire des merveilles là où Windows 10 fait ramer une machine. Mais attention, cela demande de pas mal changer ses habitudes !

La télévision

Évitez d’en changer, c’est tout ! Et pas besoin d’acheter un modèle 4K pour se faire mousser, ça ne va pas du tout dans le sens de la limitation de l’empreinte numérique (et les contenus format 4K sont encore très rares).

Si elle fonctionne mal, faites-la réparer. Et si vraiment il faut la changer car elle est irréparable, achetez-en une de qualité en évitant les premiers prix dont la fabrication bon marché ne permet pas d’assurer une longue vie au matériel.

Le bon coté du numérique

Le numérique, c’est génial pour des tas de raisons, et on a pu vérifier que ça pouvait même aider à réduire l’empreinte carbone en permettant par exemple le télétravail, lequel permet de réduire les trajets domicile-travail. Mais il ne faudrait pas que le coté positif du numérique soit effacé par son empreinte carbone et sa pollution…

Notes

[1] Vous aimez les éclaboussures de pipi sur les pieds, vous ?

[2] Plus précisément : « étude relative à l’évaluation des politiques publiques menées pour réduire l’empreinte carbone du numérique (juin 2020), réalisée par le cabinet Citizing, épaulé par Hugues Ferreboeuf et le cabinet KPMG, à la demande de la commission de l’aménagement du territoire et du développement durable du Sénat ».

[3] Soyons clair, je mentionne le recyclage pour lister tous les aspects du cycle de vie, mais très peu de terminaux sont recyclés pour l’instant, encore moins les smartphones que les ordinateurs…

[4] Et pile au moment où je dis ça, Fairphone annonce qu’Android 9 est supporté par le Fairphone 2 d’il y a 5 ans, et c’est cool ! Bravo à la team Fairphone, qui est vraiment en avance sur les autres en terme de modularité, réparabilité et sourcing éthique !

[5] C’est là qu’on réalise que finalement, faire le ménage dans ses mails et ses photos était finalement une bonne idée !

09 Apr 17:39

Mailfence Encrypted Email Suite in Thunderbird

by Ryan Sipes

Mailfence Encrypted Email Suite in Thunderbird

Today, the Thunderbird team is happy to announce that we have partnered with Mailfence to offer their encrypted email service in Thunderbird’s account setup. To check this out, you click on “Get a new email address…” when you are setting up an account. We are excited that those using Thunderbird will have this easily accessible option to get a new email address from a privacy-focused provider with just a few clicks.

Why partner with Mailfence?

It comes down to two important shared values: a commitment to privacy and open standards. Mailfence has built a private and secure email experience, whilst using open standards that ensure its users can use clients like Thunderbird with no extra hoops to jump through – which respects their freedom. Also, Mailfence has been doing this for longer than most providers have been around and this shows real commitment to their cause.

We’ve known we wanted to work with the Mailfence team for well over a year, and this is just the beginning of our collaboration. We’ve made it easy to get an email address from Mailfence, and their team has created many great guides on how to get the most out of their service in Thunderbird. But this is just the beginning. The goal is that, in the near future, Mailfence users will benefit from the automatic sync of their contacts and calendars – as well as their email.

Why is this important?

If we’ve learned anything about the tech landscape these last few years it’s that big tech doesn’t always have your best interests in mind. Big tech has based its business model on the harvesting and exploitation of data. Your data that the companies gobble up is used for discrimination and manipulation – not to mention the damage done when this data is sold to or stolen by really bad actors.

We wanted to give our users an alternative, and we want to continue to show our users that you can communicate online and leverage the power of the Internet without giving up your right to privacy. Mailfence is a great service that we want to share with our community and users, to show there are good options out there.

Patrick De-Schutter, Co-Founder of Mailfence, makes an excellent case for why this partnership is important:

“Thunderbird’s mission and values completely align with ours. We live in times of ever growing Internet domination by big tech companies. These have repeatedly shown a total disrespect of online privacy and oblige their users to sign away their privacy through unreadable Terms of Service. We believe this is wrong and dangerous. Privacy is a fundamental human right. With this partnership, we create a user-friendly privacy-respecting alternative to the Big Tech offerings that are centered around the commodification of personal data.”

How to try out Mailfence

If you want to give Mailfence a try right now (and are already using Thunderbird), just open Thunderbird account settings, click “Account Actions” and then “Add Mail Account”, it is there that you will see the option to “Get a new email address”. There you can select Mailfence as your provider and choose your desired username, then you will be prompted to set up your account. Once you have done this your account will be set up in Thunderbird and you will be able to start your Mailfence trial.

It is our sincere hope that our users will give Mailfence a try because using services that respect your freedom and privacy is better for you, and better for society at large. We look forward to deepening our relationship with Mailfence and working hand-in-hand with them to improve the Thunderbird experience for those using their service.

We’ll share more about our partnership with Mailfence, as well as our other efforts to promote privacy and open standards as the year progresses. We’re so grateful to get to work with great people who share our values, and to then share that work with the world.

The post Mailfence Encrypted Email Suite in Thunderbird appeared first on The Thunderbird Blog.

09 Apr 01:24

Homebrew Python Is Not For You

Homebrew Python Is Not For You

If you've been running into frustrations with your Homebrew Python environments breaking over the past few months (the dreaded "Reason: image not found" error) Justin Mayer has a good explanation. Python in a Homebrew is designed to work as a dependency for their other packages, and recent policy changes that they made to support smoother upgrades have had catastrophic problems effects on those of us who try to use it for development environments.

09 Apr 01:24

An Update to Our SQL Interviews

by The NYT Open Team

The New York Times is rolling out a new approach to how we hire data analysts.

Illustration by Pete Gamlen

By Luke Summerlin and MacKenzie Gibson

Over the last few years, the Data & Insights Group at The New York Times has more than doubled as we have integrated data into all our business and newsroom processes. Our data analysts’ responsibilities, and the tools they use, vary greatly depending on the team they work on. Whether a data analyst works with the marketing team to develop media mixed models, partners with editors and product managers to run A/B tests on the homepage or analyzes Crossword engagement, we expect our analysts to foster a culture of curiosity, intellectual honesty and clear communication. The one technical skill that unifies all analyst work is SQL.

In 2018, we implemented a standardized SQL assessment as part of the hiring process for all Times data analyst positions.

Once we launched the assessment, we began holding monthly retrospectives with interview panelists to see what was working and what was not. Through the retrospectives and candidate feedback, we came to the conclusion that our current assessment was not upholding the diversity, equity and inclusion values that The Times seeks to foster through our hiring processes. So, we sought out to change this.

Assessing the Assessment

The core part of our assessment needed to be rethought: the SQL test was not seeing consistent pass rates. Live-coding in a time-boxed environment is neither a realistic working environment nor is it stress reducing, especially given the already high-stress nature of a technical interview.

In our monthly retrospectives, we evaluated the assessment’s strengths and weaknesses. We paid particular attention to where the intent of the assessment diverged with the experience of taking it.

Among its strengths, the format allowed candidates to ask questions on the fly; use documentation; explain their approach while constructing queries; and provide interpretations of results. Additionally, the structure ensured all candidates were able to dedicate equal time to the assessment and it minimized opportunities to cheat.

When considering shortcomings, we found that the live-coding format created a high-pressure environment, which hindered some candidates’ performance. It was clear to us that we needed to create a more equitable format.

We considered other established evaluation practices and we laid out strengths and weaknesses of each approach:

Live-coding exercise

  • Normalizes the amount of time spent.
  • Standardizes access to resources and subject matter experts.
  • Assesses the ability to apply documentation, debug queries and communicate results.
  • Creates a high-pressure environment that can impact performance, especially among candidates unfamiliar with the structure.

Take-home assessment

  • Allows candidates to work at their own pace.
  • Favors candidates who have fewer time constraints and access to strong knowledge networks.

Whiteboarding exercise

  • Can cause the same pressure as a live-coding format.
  • Does not assess fundamental skills we look for in analysts, such as the ability to apply documentation, debug queries or interpret results.

We needed a standardized SQL assessment that had consistent deadlines and access to resources, yet minimized the pressure felt by candidates. The format we chose needed to allow us to evaluate candidates’ abilities to think through analytical problems using SQL; to apply appropriate functions that reference documentation, when necessary; interpret and communicate results; and provide an inclusive environment for neurodiverse candidates.

The New Structure

The format we developed is a hybrid model that combines elements from take-home and live-coding exercises. Our new structure still takes place over a video call. Shortly before the assessment begins, the candidate is given access to the BigQuery browser tool. The assessment is broken into three primary parts: set up, work and interpretation.

Set up (5 minutes): After introductions, the candidate will share their screen so the assessor can help them set up the BigQuery console and walk through the datasets. The assessor will review expectations of the assessment and share a problem set.

Work (30 minutes): The candidate will stop sharing their screen, but stay connected to the video call. With cameras off, they will have 30 minutes to independently work on the problem set. Candidates will write SQL, run queries and return results using documentation when necessary. Assessors will be available to answer questions in the video call, but otherwise candidates will work in an unmonitored environment.

Interpretation (15 minutes): The assessor and candidate will turn their cameras back on and the candidate will share their screen again to walk through each question they answered, run the query and interpret the results.

The assessment screens for core competencies, including the ability to aggregate, categorize and transform data, as well as apply documentation when necessary. Candidates are expected to be familiar with many of the competencies, although they do not need to demonstrate knowledge of everything to pass.

After the assessment is over, the assessor will spend 15 minutes writing in-depth feedback on the candidate’s performance with regard to their understanding of the core competencies and how they interpreted the data.

In the new format, we have extended the time candidates have to work on the problem-set from 20 minutes to 30 minutes without increasing the requirements to pass. By providing 30 minutes of uninterrupted time to work, we hope to reduce the stress of the assessment; if candidates need additional time, they may request it when scheduling the assessment.

We have introduced a survey that we encourage candidates to complete after taking the assessment. Formalizing a feedback loop can help focus where we need to refine the format which we will discuss in monthly retros, and allow us to continue improving upon an inclusive hiring process.

We are currently hiring analysts at various levels. Come work with us.

Luke Summerlin is a Data Manager on the Games team and he barely passed the SQL assessment in the summer of 2018 but has increased his SQL skills a lot since then.

MacKenzie Gibson is a Data Manager on the Messaging and Personalization team. She is a former beekeeper and is a firm believer in the power of public transportation.


An Update to Our SQL Interviews was originally published in NYT Open on Medium, where people are continuing the conversation by highlighting and responding to this story.

09 Apr 01:23

Why all my servers have an 8GB empty file

Why all my servers have an 8GB empty file

This is such a good idea: keep a 8GB empty spacer.img file on any servers you operate, purely so that if the server runs out of space you can delete the file and get some breathing room for getting everything else working again. I've had servers run out of space in the past and it's an absolute pain to sort out - this trick would have really helped.

Via Hacker News

09 Apr 01:23

sqlite-plus

sqlite-plus

Anton Zhiyanov bundled together a bunch of useful SQLite C extensions for things like statistical functions, unicode string normalization and handling CSV files as virtual tables. The GitHub Actions workflow here is a particularly useful example of compiling SQLite extensions for three different platforms.

Via SQLite is not a toy database

09 Apr 01:23

The Suez Canal and other global infrastructure exploits

There’s a large cargo vessel stuck in the Suez Canal right now, the 200,000 tonne Ever Given. It might be deliberate (although it’s probably not) and it’s definitely disruptive. It may take weeks to clear. From VesselFinder’s recent update:

There are 14 gas carriers (LNG and LPG tankers) stuck south from the Suez Canal behind the marooned Ever Given and another 7 carriers from the north, and there are already signs the blockage is beginning to disrupt global gas flows.

Around 8% of the global supply of fuel passes through the vital waterway, and the only other option is a trip around Africa that would add 2 weeks more to the journey.

I do wonder about these points of vulnerability in global infrastructure.

We’re now semi-accustomed to the idea that deliberate, state-sponsored disinfo has been disrupting politics in the UK and US since the early/mid 2010s, having targeted the engagement algorithms in social media to sow division.

I don’t think the disinfo has had any other objective than disruption – and that’s enough. Disruption in one arena makes it hard for countries to act in others.

So when a new point of vulnerability is revealed - such as the Suez Canal - my thought process goes:

  • Could this have been purposeful?
  • If so, what did it achieve? What was learnt? What could it be a trial for?
  • If not, assume that others will learn from it. So what else do we now know is vulnerable?

e.g. the Panama Canal. e.g. any other supply chain bottleneck.

This idea of “disruption” is highlighted in this 2018 report from the RAND Corporation:

The Chinese People’s Liberation Army (PLA) now characterizes and understands modern warfare as a confrontation between opposing operational systems rather than merely opposing armies. Furthermore, the PLA’s very theory of victory in modern warfare recognizes system destruction warfare as the current method of modern war fighting. Under this theory, warfare is no longer centered on the annihilation of enemy forces on the battlefield. Rather, it is won by the belligerent that can disrupt, paralyze, or destroy the operational capability of the enemy’s operational system. This can be achieved through kinetic and nonkinetic strikes against key points and nodes while simultaneously employing a more robust, capable, and adaptable operational system of its own.

– RAND Corporation, Systems Confrontation and System Destruction Warfare (2018)

Long story short, I keep a note of vulnerabilities when I hear about them.

Here’s an old one, from the San Francisco Chronicle in 1977: CIA Link to Cuban Pig Virus Reported.

With at least the tacit backing of U.S. Central Intelligence Agency officials, operatives linked to anti-Castro terrorists introduced African swine fever virus into Cuba in 1971.

Especially relevant given the Covid-19 lab leak hypothesis refuses to go away. Wherever Covid sits on the scale from deliberate to Act of God, it’s now possible to quantify the level of disruption. In the next major international treaty negotiation, watch out for one of the teams going down with flu all at once at a critical moment. It would be simple to plant influenza in a hotel, and now everyone’s seen how viruses work.

Another: The 2018 Athens wildfires that killed 86 people. There is serious evidence of arson for the Athens wildfires in East and West Attica, the Greek government said during a press conference. It’s grim to contemplate, but worst case scenario: What could this be a prototype for?

Weather, generally, is a big one, as previously discussed. Climate change is in the interest of at least some countries – if you’re geographically less susceptible to flooding, for example. Or if your economy is already able to shift away from carbon quickly, you can distract everyone else for a couple of decades by ramping up the urgency faster. Climate change can also be regionally targeted: increased weather volatility would make it simpler to tip a food-producing region into drought for a few years using secret cloud seeding.

There was that Icelandic volcano in 2010 that knocked out European air travel for a little over a week. I bet there’s a cost-benefit study, somewhere, based on that event, that assesses the impact on Europe’s GDP versus the difficulty of an artificial ash cloud and the possibility of performing it with plausible deniability.

Technology is its own thing which I won’t even go into. But there was that weird period in 2019 where, in short order, there were major outages at Google/Google Cloud, Apple, Facebook, Cloudflare, Stripe, Slack, Twitter, and Galileo (the European GPS equivalent with satellite network and ground stations) was down for 4 days. It felt like a systems test, or the cyber equivalent of running “exercises.”

So I wonder how much of this is already happening. Or at least, how much already exists in the form of planning – perhaps we’re even now in the middle of World War V(irtual), lasting tens of years already, with project plans and not ICBMs being lobbed across the planet, nothing ever enacted but an intricate standoff of exchanged complex system exploit threats.

I know this gets into proper tinfoil hat territory, and I honestly don’t know why I devote so many of my clock cycles to thinking about it.

09 Apr 01:23

Teaching Yourself the Material

by Eugene Wallingford

A common complaint from students is that the professor makes them teach themselves then material.

From In Defense of Teaching Yourself the Material:

Higher education institutions must orient themselves toward teaching students how to teach themselves, or risk becoming irrelevant. I'll add to the above that self-teaching (and self-regulation) are also valuable job skills. During my time at Steelcase, I learned that what the company wanted was not so much a recent college graduate with straight A's, but someone who could learn quickly and get up to speed without having to pull someone else off their job to teach them. So self-teaching is not only the ultimate goal of higher education and the main instantiation of lifelong learning, it's also what gives graduates a competitive advantage on the job market and sets them up not to be stuck in a loop for their careers. I want my students to be able to say truthfully in an interview, when asked why they should be hired: I know how to learn things, and learn fast, without a lot of hand-holding. That is music to the employer's ears. The word will get out about which colleges equip students well in this area. Similarly for those that don't.

Talbert has more to say about the value of students' being able to teach themselves. One of our jobs as instructors is to provide the scaffolding that students need to learn how to do this effectively in our discipline, and then slowing dismantle the scaffold and let students take over.

09 Apr 01:22

These Weeks in Firefox: Issue 90

by Micah Tigley

Highlights

  • The password manager now supports importing logins in CSV format. Import logins from CSV is in beta! Thank you to Andrei Petcu for contributing this great new feature. We now import and export logins, allowing you to round-trip from other browsers, other password managers, backed-up profiles or any other exotic scenario for which you can prepare a comma-separated values sheet, with at least password and URL columns for successful import into Firefox.
Screenshot of the Import Complete dialog on about:logins: showing 3 logins added, 0 updated, 1 duplicate and 1 error

Import logins from CSV now in beta

Screenshot of the Import Summary page: showing a count of logins added, updated, duplicated and errors, and a details row by row import result listing

View your logins and passwords imported to Nightly on the Import Summary page

  • Slow script notifications will now only show when the user is trying to interact with hanging content, and will show the title of the hanging tab, to simplify troubleshooting.
  • Want to learn more about Firefox DevTools? Check out the new site at firefox-dev.tools. Interested in contributing to the tools? Developer docs are here!
  • Fission Beta experiments will start this week, targeting Firefox 88
  • DevTools now supports showing raw JSON. Use the new toggle button for switching between raw and formatted request views. Thank you :sebo for this contribution! (Bug 1693147)
Screenshot of the Developer Tools network panel: showing side-by-side views of raw and formatted request views under the

Firefox Developer Tools has a toggle button for switching between raw and formatted request views

Friends of the Firefox team

For contributions made from March 10, 2021 to March 23, 2021, inclusive.

Introductions/Shout-Outs

Resolved bugs (excluding employees)

Fixed more than one bug

  • Andrei Petcu [:petcuandrei]
  • Erica Wright [:ewright]
  • Sebastian Zartner [:sebo]
  • Tim Nguyen :ntim
  • Tom Schuster [:evilpie]

New contributors (🌟 = first patch)

  • 🌟 Karthik Sundar [karthiksundar30092002] fixed a UI issue where expanding objects in the DevTools console made them jump around (Bug 1608571)
  • 🌟 Henry Vincent [henryvincent33] fixed a typo in an error message created by DevTools’ Front class (Bug 1699146)
  • 🌟 Renuka Bhure [bhurerenuka14] replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_deleteLogin.js (Bug 1698812)
  • Sneha sai KNVS [snehaa2296] replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_protectionsUI_report_breakage.js (Bug 1698076)
  • David [heftydav] fixed an issue where the Picture-in-Picture icon will disappear when dragging the tab to a new window (Bug 1669205)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • Mark adjusted addon signature warning messagebar to make it easier to read on hover (Bug 1694428)
WebExtensions Framework
  • Fission-related fixes:
    • Fix DocumentChannel process switching on sidebar and popup extension pages (Bug 1646817)
    • Logging a deprecation warning on extensions using fission-incompatible canvas drawWindow (Bug 1696976)
      • As also described in the warning, extensions should use Use tabs.captureTab extensions API instead (which is fission compatible)
    • Support for out-of-process iframes in webNavigation.getAllFrames (Bug 1698398)
  • Starting from Firefox 88 Services is exposed by default in all WebExtensions API scripts (included the experimental APIs embedded in privileged and builtin addons) – Bug 1698158:
WebExtension APIs
  • As part of the FTP removal in Firefox 88 (Bug 1626365):
    • browserSettings.ftpProtocolEnable becomes read only
    • “ftp” has been added to the list of allowed protocols that extension can register as a protocol handler
    • in the proxy WebExtensions API, proxying ftp is deprecated

Developer Tools

Fission

  • Decided not to fix the disabled WebPayments UI for Fission.
  • Closed the frontend fission metabug!

Installer & Updater

Lint

  • If you run ./mach lint in the top-level directory of a repository, with no paths specified, it will now default to –outgoing –workdir, rather than doing a full lint.

Messaging System

Password Manager

  • Bug 1688213 Enable “signon.management.page.fileImport.enabled” for all channels fixed and in 88.
    • Import logins from CSV is in beta! Congrats to :petcuandrei for taking this feature from a UX spec and aspirational bugs to implementing and now shipping a feature that rounds out our whole story around login management.
    • We now import and export logins, allowing you to round-trip from other browsers, other password managers, backed-up profiles or any other exotic scenario for which you can prepare a comma-separated values sheet, with at least password and URL columns for successful import into Firefox.
    • We also have the ability to delete all, so the cost is low to play around with it and file bugs.
  • :dimi landed Bug 1166995 – Run login capture code when a form or a formless password field is removed from the document tree. This fixed some long standing issues with prompting to save passwords on sites e.g bigcommerce.com, and no doubt many many others we were never notified about

PDFs & Printing

  • Bug 1682162 – Print margin unit should be localized. This landed in 88, so now margin units are displayed according to the unit indicated by your printer.

Print settings screenshot showing margin picker with the label “Custom (mm)

Performance

  • dthayer is also working on various improvements and bug-fixes for the Pre-XUL Skeleton UI
  • florian added some very handy profiler markers for CSS animations and transitions
  • The Pre-XUL Skeleton UI experiment will be wrapping up next week, and we hope to have some data on how it impacts new and existing user behaviour
  • The Process Priority Manager was originally going to be disabled for Fission, however we’ve found it’s still useful on low end hardware. Now we are working on adapting it to work on subframes.
  • mconley spoke with k88hudson about using Nimbus / ExperimentsAPI to run an about:home startup cache experiment
    • Originally, we had a Normandy experiment set up for about:home startup cache, but it turns out Normandy sets its prefs too late. Nimbus seems to do it earlier, which is good for us.
  • barret fixed an AsyncShutdown bug for IOUtils, which should be the final blocker to remove the remainder of the OSFile uses in the tree! \o/

Performance Tools

Screenshot of CPU Utilization graph in the Firefox Profiler: shows a

Before and after the CPU utilization changes in the graph. You can notice that there are no activities in some areas in the new graph.

Picture-in-Picture

  • Molly [mhowell] and Micah [mtigley] are working on setting up a foundation for site-specific video wrappers (Bug 1670108)
  • Oliver [popeoliv]
    • Landed some documentation for the Picture-in-Picture addon (Bug 1695266)
    • Started investigating how we can allow the Picture-in-Picture player window to continue playing even after the parent tab closes (Bug 1561301)
  • Swapnik [katkoor2] submitted a patch where we prevent showing the Picture-in-Picture toggle button for videos with an invalid duration (Bug 1697616)

Search and Navigation

  • If a search engine that is set as default is removed, we will now revert to the region/locale default if it is not hidden, or we will try revert to a general search engine.
  • Fixed an issue where updating an add-on which defined a search engine, and changing the search engine name could cause issues.
  • nsISearchService.addEngineWithDetails has now been removed. This had become a test-only function, but conflicted with future work. Please prefer SearchTestUtils.installSearchExtension instead.
  • Cleaned up the Search Telemetry in tree documentation – Bug 1698847
  • Improved Address Bar handling of pasted strings containing white spaces – Bug 1327589
  • Fixed a problem with editing the case of the url ref fragment – Bug 1693320
  • Fixed a problem causing Tab to Search results to appear at the wrong index – Bug 1697517

Screenshots

09 Apr 00:44

Behringer FLOW 8 :: Ein digitaler Mixer

by Volker Weber

38f04a2b4727802dea432fbee7d3b742

Diese Woche gibt es ein neues Setup für Musiker und DJs, die online auf Clubhouse oder anderen Plattformen spielen möchten und dabei Sound von Mikrofonen, Instrumenten und PCs einspielen wollen. Der 8-Kanal-Digitalmixer FLOW 8 von Behringer (Music Store in Köln: aktuell 233 Euro) ist dabei eine gute Wahl. Von dessen acht Kanälen habe ich aktuell fünf belegt: Mikrofon (2), Stereo vom PC (5/6) und Stereo vom iPhone (7/8).

28a6d666414aa639168d0114da7e0473

Der Mixer hat eine steile Lernkurve, weil die Regler keine Motoren haben und man mehrere Busse mixen kann. Das Monitor-Signal auf meinem Kopfhörer mixe ich über Monitor 1 und 2 und höre dort den iPhone-Ton von Kanal 7/8), während ich das Main-Ausgangsignal ohne diesen Kanal mixe, damit ich die Gespräche in Clubhouse nicht zurück ins iPhone loope. (Mix-Minus)

Am PC oder Mac wird der FLOW 8 über das mitgelieferte USB-A Kabel angeschlossen. Dort gehen entweder zehn Kanäle (8 plus 2 Bluetooth) einzeln als Multitrack-Device zum PC (Recording) oder man schickt das fertig gemischte Signal auf zwei Kanälen (Streaming). Vom PC kann man zwei Kanäle abholen. Darüber spiele ich Musik von Apple Music in den Mischer. Zusätzlich kann man auch per Bluetooth zwei Kanäle einspielen.

Für Clubhouse oder Dive verbinde ich den Mixer über zwei Kabel und einen Splitter an die 3,5mm-Buchse meines Apple iPhone Docks. Alternativ kann man auch den Lightning-Klinke-Adapter von Apple oder robustere Mfi-zertifizierte Adapter von Drittanbietern verwenden. Im Einzelnen sind das folgende Kabel:

  • MillSO Splitter von 3,5 mm TRRS Klinke auf zwei 3,5 mm TRS Buchsen, 8 Euro
  • Am Main Out des Mixers zum MillSO Splitter: ein NANYI Patchkabel mit zwei XLR-Steckern auf eine 3,5 mm TRS-Klinke, 14 Euro (Danke, Till!)
  • Vom MillSO Splitter zu den beiden Kanälen 7 und 8 ein Splitterkabel 3,5 mm TRS-Stereo Klinke auf zwei 6,35 mm TS-Klinken, 7 Euro

Ich habe die Kabel in 50cm Länge gekauft, damit nicht so viel Zeugs auf dem Tisch rumliegt. Üblich sind Kabel zwischen einem und drei Metern.

Für den Anschluss meines Headsets brauchte ich noch einen XLR auf TRS-Adapter, der aus 48 V Phantomspeisung 3 V Plugin-Power macht. Dafür kann man einen Rode VXLR+ nehmen, aber ich habe einen preiswerten Mouriv für 10 Euro gefunden.

Herzlichen Dank an Ralf Rottmann, der mir diesen Mixer geschickt hat. Er beschreibt sein Setup auf seiner Website. Mein Ablauf ist etwas anders als seiner, weil ich über Main rausgehe und nicht über Monitor 1/2.

24bbf2e4b4e4b1a7e4f285c5d41be13c

Der wichtigste Schritt ist die korrekte Einstellung des Gains für jeden Kanal. Dazu drückt und hält man die Main-Taste, bewegt den Regler einmal ganz rauf und runter und stellt dann den gewünschten Gain ein, der auf dem VU-Meter angezeigt wird.

09 Apr 00:43

Shure MV7 :: Ein Podcast-Mikro für alle Fälle

by Volker Weber

6a8ba2f853099c14e61a59a66faa31fd

Mein Shure AONIC 50 hat endlich das passende Mikrofon: Ein Shure MV7, das dem großen Bruder SM7B zwar sehr ähnlich sieht, aber völlig anders aufgebaut ist.

Und wie klingt das? Hört selbst:

8eb8d25766a0900db4bd3a9e33dcede6

Das MV7 kann man per Micro-USB am PC oder Mac anschließen und hat damit ein voll digitales Mikrofon, wie ich das auch schon vom HyperX Quadcast gewohnt bin. An einer 3,5 mm-Buchse koppelt man den Kopfhörer und hat damit PC-seitig einfach ein Headset. Auf der Oberseite befindet sich ein Touchfeld, mit dem man den Gain, die Kopfhörerlautstärke und den Mix von PC-Ton und eigener Stimme einstellt. Mit einem kleinen Tap auf die linke Seite des Touchfeldes stellt man das Mikro stumm. Das taugt als Räuspertaste.

e6214d0e2da4b4334d46103467ceeea2

Über die Windows- und Mac-App Shureplus MOTIV kommt man an alle Einstellungen des Mikros ran. Vor allem erschließt sich hier ein Auto Gain, der das Signal automatisch richtig pegelt, auch wenn man mal mehr Abstand vom Mikro hat. Das MV7 sollte nicht ganz so nah besprochen werden wie ein SM7B, so dass man den Abstand gar nicht so leicht kontrollieren kann. Bei diesem hängt man praktisch direkt am Sprechkorb.

01ce072f10a8c783354df543b87d1017

Das Besondere am MV7 ist aber, dass man es alternativ auch per Balanced XLR analog betreiben kann und damit kommt man damit auch in einen Mixer rein, den ich im letzten Beitrag besprochen habe. Das sieht dann als komplettes Setup so aus.

ff1724fe849e676f5bdef05afc60bdc5

Der FLOW 8 und das MV7 ergänzen sich so perfekt und man behält die Flexibilität, das Mikro auch direkt per USB am PC zu betreiben. Shure legt zwei lange Kabel für USB-A und USB-C gleich bei. Ein passendes XLR-Kabel muss man gesondert erwerben. Auch hier habe ich wieder ein nur 50 cm langes Kabel gewählt.

Das sehr schöne Mikrofonstativ von K&M war mir zu hoch und ich habe stattdessen ein altes Stativ von W & H benutzt, das baugleich mit dem Superlux HM-6 ist.

More >

09 Apr 00:42

People are getting vaccinated

by 2021-03-26 - People Are Getting Vaccinated.txt

People I know are starting to get vaccinated.

Depending on where they live, friends and family are starting to receive their COVID vaccines, and I couldn’t be happier for them. The faster we all get vaccinated, the closer we all are to resuming some kind of life where in-person social interaction isn’t verboten.

I miss people. I miss my friends, my family, but I also miss the baristas and librarians and all the acquaintances that made up my everyday life prior to the pandemic. I miss connecting with strangers over coffee and helping people find books at the library; I miss having people over for dinner and bumping into friends while browsing a bookstore.

The way things are going in this province, I probably won’t be getting vaccinated for several months at least, which means all those interactions that I miss won’t be resuming until the end of the year at the earliest. I’ll admit to a small amount of vaccine FOMO, but mostly I’m just glad that the people closest to me are starting to get vaccinated now, instead of having to wait for months like I will.

I like to imagine about the first things I will do once I am vaccinated. Mostly, they are simple: visit the library, work at a coffee shop, have a meal in a restaurant, have a friend over for lunch, hug my mom and dad and grandmother. Any sort of grand indulgence, like taking road trips or traveling to different countries, will have to wait, not just because we have a infant daughter—caring for a small child makes planning for extravagance difficult—but because these things are best resumed when everyone else is vaccinated, too.

And so my anticipation is for the small pleasures and tiny delights; once I am vaccinated, I will hopefully get to enjoy little things that have been unavailable this past year. There is a strange comfort to be found in anticipating the mundane: we are too often caught up in hoping for grandness that we forget that waiting for the small joys can be just as heartwarming, if not more so.

For now, people around me are getting vaccinated. As more and more of my loved ones get their vaccines, we get closer and closer to getting to be able to hug them, be in their presence again. This is the tiny delight that I am waiting for most: being with the people I love. No grand plans, no big adventures—just being with them is enough.


Two poems

Kindness
Naomi Shihab Nye

Before you know what kindness really is
you must lose things,
feel the future dissolve in a moment
like salt in a weakened broth.
What you held in your hand,
what you counted and carefully saved,
all this must go so you know
how desolate the landscape can be
between the regions of kindness.
How you ride and ride
thinking the bus will never stop,
the passengers eating maize and chicken
will stare out the window forever.

Before you learn the tender gravity of kindness
you must travel where the Indian in a white poncho
lies dead by the side of the road.
You must see how this could be you,
how he too was someone
who journeyed through the night with plans
and the simple breath that kept him alive.

Before you know kindness as the deepest thing inside,
you must know sorrow as the other deepest thing.
You must wake up with sorrow.
You must speak to it till your voice
catches the thread of all sorrows
and you see the size of the cloth.
Then it is only kindness that makes sense anymore,
only kindness that ties your shoes
and sends you out into the day to gaze at bread,
only kindness that raises its head
from the crowd of the world to say
It is I you have been looking for,
and then goes with you everywhere
like a shadow or a friend.

Suggested Donation
Heather Christle

In the morning I drink
coffee until I can see
a way to love life
again. It’s ok, there’s
no difference between
flying and thinking
you’re flying until
you land. Somehow
I own like six nail clippers
and I honestly can’t
remember ever buying
even one. My sister
came to visit and
saw them in a small
wooden bowl. I
heard her laughing in
the bathroom. I hope
she never dies. There’s
no harm in hoping
until you land.
The deer are awake.
Is one pregnant?
If they kept diaries
the first entry would
read: Was born
Was licked
Tried walking
Then they’d walk
away and no second
entry would ever exist.
I run the deer’s
archive. It’s very
light work. Visitors
must surrender
their belongings.
Surrender to me
your beautiful shirt.


Some links

The Sublime Absurdity of a Big Stuck Boat

Looking Closely is Everything

How to Stop Trying to Be Better

America Ruined My Name for Me

Long Live Hugs

How to Put Out Democracy’s Dumpster Fire

Unbelieveable: A Ranking of Every Biggie Smalls Track

Everyone Is Beautiful and No One Is Horny

The Rise of Therapy-Speak

What Went Wrong With Canada’s Vaccine Rollout?

How the Pandemic Changed the American Meal

The Five Fallacies That Hamstrung Our Response to COVID-19

Late-Stage Pandemic Is Messing With Your Brain

How Were the Covid-19 Vaccines Developed So Quickly?

3 Ways the Pandemic Has Made the World Better

Why Does the Pandemic Seem to Be Hitting Some Countries Harder Than Others?

What happened to the dining room table?

The Referendum

A Love Letter to My Accountant

Why Jonah Hill’s Response To His Paparazzi Photos Is Radical

The 32 Greatest Character Actors Working Today

What Happened to Pickup Trucks?

Our iPhone Notes Are Poetry

When they praise you for your resilience they are praising you for overcoming the difficulties of the world they refuse to mend.

Big news: George Oates Returns to Revitalize the Flickr Commons

Endlessly delightful: Oral Florist

Hillary Waters Fayle stitches brightly hued florals into found camellia leaves:

Dried leaves embroidered with beautiful botanicals

Hamilton mashed up with Space Jam. Better than you’d expect:

Making a Lego chocolate cake out of Lego ingredients. Just trust me and watch it:


Get weekend reading posts in your inbox: subscribe to the not-so-regular, almost-monthly-but-who-knows newsletter.

09 Apr 00:36

Daylight Annoyance Time

by Rui Carmo

As pandemic limbo continues we’re on the verge of loosening lockdown here in Portugal next week. There are already too many discussions about Easter break, family visits and, of course, how long/effective vaccination will really be, so setting the clocks kind of snuck up on me.

I have always been in favor of abolishing daylight savings time (which hasn’t happened yet, and is certainly a secondary concern these days), and plan to spend this Sunday woolgathering and doing hardly anything of consequence as a sort of buffer for a week’s worth of adjustment as my body clock rebels against what it perceives as fundamentally wrong.

I’m one of those people with an inner sense of time for whom breaks in routine are especially distracting, so I’m already nursing a headache…

This, by the way, is one of the reasons I always hated flying. It’s just not the ceremony and overhead around flying itself, it’s the abrupt changes in schedule and the disturbance in rest/nourishment cycles.

Tech Musings

Moving this site to static hosting left a gap in my personal projects that needs filling (even though I’ve yet to bite the bullet and just write a couple of for loops to generate archive pages and do other minor cleanups), but I’ve been spending so much time in the office that I feel disinclined to mess about with computers in general.

For instance, I keep thinking there has to be a simpler, nicer way to build low-latency services and distributed backing data stores. The industry has gone whole hog into doing things like running Spark and Ignite inside Kubernetes without having a proper way to manage the trade-off between compute resources, performance and cost (no, bin-packing more containers into less cores doesn’t really work, and you can still only get two out of three), and that smacks of long-term technical debt, but it’s become a tiresome pattern and I feel the need to tinker with stuff I can fix or derive enjoyment out of.

So I’ve been hacking away at sub-1K LOC mini-projects, reading books (finally managed to finish a couple this year) and trying to get back into music.

Mixing It Up

My music hobby almost completely stalled as my life was taken over by morning-to-nightfall Teams calls, and when I’m not on calls it is almost impossible to spend any amount of time with headphones as I have to remain aware of what is going on in the house (kids, doorbell, calls for chores, etc.), so I decided to try a little experiment.

I have a set of Logitech Z333 speakers that has decent sound (thanks to a standalone bass speaker tucked away under my desk) and two inputs (one for a computer, and another I for an Amazon Echo Listen). But I needed at least four inputs to plug in my little menagerie of synths, and although my AG06 works great, I wanted to be able to use the speakers without any (big) computers on.

So I rummaged around in Amazon a bit and got a Little Bear MC5 passive stereo mixer:

It's a little exposed (I would have preferred a minimal case around it to avoid dust piling up), but really tiny and unobtrusive.

So far it’s worked great. The little gadget has already unlocked a few hours’ worth of tinkering that would not have happened otherwise (as a sort of “ear candy”), and is such a great solution for sharing speakers that I will be ordering another one for my kids’ desks.

I might 3D print some side panels to keep the dust out, though.


09 Apr 00:36

The aura of software quality

by Derek Jones

Bad money drives out good money, is a financial adage. The corresponding research adage might be “research hyperbole incentivizes more hyperbole”.

Software quality appears to be the most commonly studied problem in software engineering. The reason for this is that use of the term software quality imbues what is said with an aura of relevance; all that is needed is a willingness to assert that some measured attribute is a metric for software quality.

Using the term “software quality” to appear relevant is not limited to researchers; consultants, tool vendors and marketers are equally willing to attach “software quality” to whatever they are selling.

When reading a research paper, I usually hit the delete button as soon as the authors start talking about software quality. I get very irritated when what looks like an interesting paper starts spewing “software quality” nonsense.

The paper: A Family of Experiments on Test-Driven Development commits the ‘crime’ of framing what looks like an interesting experiment in terms of software quality. Because it looked interesting, and the data was available, I endured 12 pages of software quality marketing nonsense to find out how the authors had defined this term (the percentage of tests passed), and get to the point where I could start learning about the experiments.

While the experiments were interesting, a multi-site effort and just the kind of thing others should be doing, the results were hardly earth-shattering (the experimental setup was dictated by the practicalities of obtaining the data). I understand why the authors felt the need for some hyperbole (but 12-pages). I hope they continue with this work (with less hyperbole).

Anybody skimming the software engineering research literature will be dazed by the number and range of factors appearing to play a major role in software quality. Once they realize that “software quality” is actually a meaningless marketing term, they are back to knowing nothing. Every paper has to be read to figure out what definition is being used for “software quality”; reading a paper’s abstract does not provide the needed information. This is a nightmare for anybody seeking some understanding of what is known about software engineering.

When writing my evidence-based software engineering book I was very careful to stay away from the term “software quality” (one paper on perceptions of software product quality is discussed, and there are around 35 occurrences of the word “quality”).

People in industry are very interested in software quality, and sometimes they have the confusing experience of talking to me about it. My first response, on being asked about software quality, is to ask what the questioner means by software quality. After letting them fumble around for 10 seconds or so, trying to articulate an answer, I offer several possibilities (which they are often not happy with). Then I explain how “software quality” is a meaningless marketing term. This leaves them confused and unhappy. People have a yearning for software quality which makes them easy prey for the snake-oil salesmen.

09 Apr 00:36

Acknowledgement of uncertainty

by Jon Udell

In 2018 I built a tool to help researchers evaluate a proposed set of credibility signals intended to enable automated systems to rate the credibility of news stories.

Here are examples of such signals:

– Authors cite expert sources (positive)

– Title is clickbaity (negative)

And my favorite:

– Authors acknowledge uncertainty (positive)

Will the news ecosystem ever be able to label stories automatically based on automatic detection of such signals, and if so, should it? These are open questions. The best way to improve news literacy may be the SIFT method advocated by Mike Caulfield, which shifts attention away from intrinsic properties of individual news stories and advises readers to:

– Stop

– Investigate the source

– Find better coverage

– Trace claims, quotes, and media to original context

“The goal of SIFT,” writes Charlie Warzel in Don’t Go Down the Rabbit Hole, “isn’t to be the arbiter of truth but to instill a reflex that asks if something is worth one’s time and attention and to turn away if not.”

SIFT favors extrinsic signals over the intrinsic ones that were the focus of the W3C Credible Web Community Group. But intrinsic signals may yet play an important role, if not as part of a large-scale automated labeling effort then at least as another kind of news literacy reflex.

This morning, in How public health officials can convince those reluctant to get the COVID-19 vaccine, I read the following:

What made these Trump supporters shift their views on vaccines? Science — offered straight-up and with a dash of humility.

The unlikely change agent was Dr. Tom Frieden, who headed the Centers for Disease Control and Prevention during the Obama administration. Frieden appealed to facts, not his credentials. He noted that the theory behind the vaccine was backed by 20 years of research, that tens of thousands of people had participated in well-controlled clinical trials, and that the overwhelming share of doctors have opted for the shots.

He leavened those facts with an acknowledgment of uncertainty. He conceded that the vaccine’s potential long-term risks were unknown. He pointed out that the virus’s long-term effects were also uncertain.

“He’s just honest with us and telling us nothing is 100% here, people,” one participant noted.

Here’s evidence that acknowledgement of uncertainty really is a powerful signal of credibility. Maybe machines will be able to detect it and label it; maybe those labels will matter to people. Meanwhile, it’s something people can detect and do care about. Teaching students to value sources that acknowledge uncertainty, and discount ones that don’t, ought to be part of any strategy to improve news literacy.

08 Apr 17:45

A Weird and Wacky Approach To Angel Investing

by dshah@hubspot.com (Dharmesh Shah)

An Odd Start To My Angel Investing

I started my first company at around the age of 24. It was called Pyramid Digital Solutions and it was a CRM (Customer Relationship Management) company in the financial services vertical. I bootstrapped it, ran it for about 10 years and then sold it to a large software company in an all cash, no attachments deal. Now, I had something I’d never had before -- liquidity. Or in simpler terms -- money. Which, as it turns out is a highly underrated thing (more on that in another blog post). I didn’t make enough money whereby I’d go off buying planes and yachts and such (not my style anyway), but it was enough that I didn’t really have to work anymore.

I did not plan to do another startup. I had done it for 10+ years and lived the notorious startup life. I’d told my wife I was ready to hang up my entrepreneurial hat and get on with the next chapter of my life. To do that, I took the next logical next step:  I enrolled in graduate school (at MIT) working towards an “M.S. in the Management of Technology”. Yep, it’s as cool as it sounds. Kind of an MBA for geeks. I’d always liked school, but never really got to enjoy it and immerse in it, because --- well, that just wasn’t the life I had. Until now. Now, I could pour myself into graduate school and actually enjoy it -- which I did. My loose plan was to get my Masters degree, then possibly get a PhD, and then maybe teach.

My conviction to not do startups lasted only a few...weeks. Best laid plans and all that. 

During classes (which I loved), I missed the startup life. So I thought of an idea: Why not invest in startups? That way, I still get to stay in touch with the thrill of startups, but I could do it vicariously through other entrepreneurs.

Angel investing is like having a niece or nephew. They’re adorable and fun but then you get to hand them back to their parents and go back to your life -- and get some sleep.

My thesis was: I’d get to brainstorm and strategize with the founders, but then I’d get to hand their baby back to them and go back to my (so called) life.

After some quick research (basically Googling for about 10 minutes), I discovered that you didn’t really have to train or be certified to be an angel investor. There’s no skill that was required. There was one simple requirement: You had to be able to afford the risk and that was simply measured by how much money you had -- or how much money you made. So, I discovered that lo and behold, I was a legit accredited investor. So, all I had to do to become an angel investor was to start writing checks.

But, where do I find these mythical startups to write checks to? And, how do I pick them? And, why would they take money from me? As fate would have it, that first year of grad school, I was enrolled in a class at MIT called “New Enterprises”. It was for learning entrepreneurship. (That was not a required course -- I picked it).  During the first week of that class, we all had to do a short pitch of a startup idea and convince our classmates to join our “startup”.  Then, the students would “self configure” around their favorite 5-6 ideas and form startup teams. I pitched a startup called “HubSpot”, which ended up being one of the ideas chosen. Two other ideas that were chosen were “Visible Measures” and “PawSpot”. Both were actual companies (not academic exercises), and I decided to make an angel investment in both of them -- mostly because I really respected the two guys: Brian Shin and Mark Roberge. 

The Entrepreneur vs. Investor Dilemma

During my two years as a grad student, the idea of HubSpot became more and more real. I would get together with one of my classmates, Brian Halligan, and we would noodle on the idea. I’ll save the story of me and Brian for a different blog post, but suffice it to say, HubSpot ended up doing pretty well.  It is now the #1 CRM platform for scaling companies with over 100,000 customers. It is publicly traded with a market capitalization of over $20 billion.

Anyways, back to the story…

I had promised myself I would at least enjoy grad school before "officially" jumping back into a startup and so I held off on officially launching HubSpot until the day I  had my graduation ceremony (June 9, 2006).  I then wrote a seed round investment check of $500,000 to HubSpot. We were off to the races!

Not so fast...

This presented a dilemma for my fledgling role as an angel investor. I’m a big, big believer in focus. And I knew how all-consuming startups can be. So, I figured I’d have to give up the angel investing thing so I could commit myself completely to HubSpot. Presumably, angel investing takes a lot of time -- and I wanted all available time to go to HubSpot.

This was unfortunate, because I liked angel investing. And I thought it could help with the growth of HubSpot too, because I’d learn a lot. And someday, I hoped HubSpot would have many, many startups as customers. [Fast forward to today, HubSpot has thousands of startups as customers, and a special program, creatively named "HubSpot for Startups"]

Ultimately, I came up with a hack which changed everything.

Instead of solving for maximizing my investment returns, I’d solve for minimizing time spent.

If you know anything about investing, you will quickly (and correctly) come to the conclusion that that’s kind of a crazy thing to do. But, if I had to choose between not doing angel investing at all -- and doing it such that I spent near-zero time, I’d rather choose the latter.

So, I setup a weird and wacky set of rules/constraints for myself, all grounded in one simple principle:  Minimize time.

They went like this:

  1. No due diligence. Due diligence takes time. So, I won’t do it. Candidly, at that early a stage, I wasn't sure there was much diligence "due". In most cases, I wanted to deliver a yes/no decision within 24 hours -- and often the same day. I'm just going to write checks.

  2. No calls, no meetings. I’m not going to meet with founders or have phone calls with them. That takes time. I’m just going to write checks.

  3. No negotiating deal terms. I’m not going to “lead” an investment round, because leading a round usually involves helping set the “terms” of the deal (including valuation). And, that takes time and research (and is also unpleasant). Instead, I’ll just make it a rule to accept whatever the terms are that the founders or other investors have decided were “fair”. I just write checks.

  4. No follow-on investments. When startups go on to do subsequent rounds of funding, you often have to choose which ones you’re going to put more money into. That requires due diligence -- which I don’t do. It has the added problem of the “signaling effect”.  For those startups I didn’t choose to do follow-on investments in, it was a negative signal to the market, because people assumed I knew more about the startup than the average person, and if I’m not investing more, it’s probably not a good startup. To remove both those problems, I decided to not invest in follow-on rounds, at all. Professional investors think I’m an idiot because part of the value of making early investments is to be able to “double down” on your winners. But, I’m not looking to maximize return, I'm looking to minimize time. And also, this freed up more cash for early investments in other startups. So, I could just write more checks.

  5. No board seats or advisory roles. That takes time.
  6. No accepting “advisor shares” or other perks.  If I'm going to be a user of the product (which I often am), I'm going to be a paying customer. Accepting things for "free" leads to possible guilt for not spending time -- and I was not going to spend any time.
  7. Always side with the founders. If ever there comes a time when the founders are making a tough decision involving the investors (like whether to sell the company or not), always side with the founders. If they want to sell. Great. If they don’t want to sell, great. If they want to sell, but the acquirer is putting most of the money into the founders and team and little money is going back to the investors (which happens a lot) -- fine.

  8. Keep startup investments separate from HubSpot. I knew it would be tempting to get companies I had invested in to consider buying/trying HubSpot. It'd also be tempting to get HubSpot to use the products created by startups I had invested in. But, I also knew that would get messy -- and present potential conflicts. Even well-intentioned conflicts have to be explained. That takes time.

You get the idea. Whenever presented with a choice on how I should do my angel investing, I always try to ask myself: What is the option that involves minimizing the expenditure of time?

Shockingly, My Weird, Wacky Way WORKED!

I’m going to preface this section with an important note: DO NOT TRY THIS AT HOME! I am not recommending that anyone try and do what I did. Because what I did was not right.  It just happened to be right for me.

So, at this point, I’m an investor in 80+ companies (this is as of March, 2021).  Since I’m trying to minimize time, I haven’t tried to actually calculate what my IRR (internal rate of return) or even realized return is. But, all modesty aside, I think it’s stunningly high.

Here is a sample of some of my notable investments.

Okta. I was an early investor because I knew Freddie (one of the founders), since he went to MIT too. Today, Okta’s market cap (it’s a public company) is over $28 billion. That ended up being a 300x+ return on investment. Not 300%, 300 times.

If every other investment I had made in the past decade+ went to zero I would still be a super “successful” angel investor on that one investment alone.  (Related note: I’ve committed to Todd and  Freddy, the founders of Okta that I would be donating 100% of my gains in Okta to charitable causes -- thanks again, guys!)  

Dropbox: I have several “batches” of shares because two of the other startups I had invested in got acquired by Dropbox along the way, and I made a direct cash investment as well.  Dropbox is now public, market cap: $11 billion.

WP Engine. A leading provider of premium WordPress hosting.

Life 360: Went public.

Backupify: Acquired by Datto, which then went public. 

Creative Market: Acquired by Adobe.

A few other companies (still private, and growing) that you may know of: Buffer, Help Scout, Drift, Stack Overflow, Gusto, 15 Five, Crayon, Clearbit, Jebbit, Lola, Outschool, Reforge...

Oh, and I’m an investor in Coinbase which has been in the news lately and is rumored to have a valuation north of $50 billion. (Note: this is not investment advice).

Enough bragging. Point is, I did alright.  :)

You’ve Got Questions, I’ve Got Answers

Q: How do you pick which startups to invest in?

A: I tend to stick to what I know (software) and products that I’d use myself, or someone I know would use. And, I invest in people. If you’re thinking: “But wait, you don’t even talk to founders!”. You’re right. I mostly don’t. But, I have a different set of “inputs” (like late night emails). My #1 filter? Seek a low arrogance:accomplishment ratio. I love founders with humility -- and it has served me well.

Q: Why should founders take money from you if you’re not going to add value?

Not all of them should. But, often, they’ll have other investors that want to be more involved -- and provide guidance and help. They require a board seat. The upside to picking me is that a) my money is just as green. b) I strive to be the lowest-maintenance investor on the planet. I don’t ask for a meeting or a call. Or references. Or business plans (yuck!) or much of anything. I won’t blink an eye if this particular startup ends up not working out. I know that’s how things go, it’s part of the game.

Q: How should I pitch my startup to you?

A: Honestly, you shouldn’t. Of all the deals I’ve done, not a single one was the result of a cold outreach or pitch. Especially over social media like LinkedIn or twitter.  I tend to find startups I’m interested in myself. Often, they’re referrals through friends, accelerators like Y Combinator (congrats W21 batch!) and AngelList.

Q: What if I want to be an angel investor?

There are some exceptional resources out there. Look up Brad Feld and Jason Calacanis, they have really great advice and support resources for angel investing.

08 Apr 17:24

Which color scale to use for your charts

by Nathan Yau

On a superficial level, color scale selection seems like a straightforward task. Pick a sequence of colors that looks like it goes from light to dark. Done. But right when you get into it, you might find the process isn’t so straightforward. Different color scales can represent different aspects of your data, and poor selection can lead to poor communication. So, Lisa Charlotte Rost for Datawrapper wrote a four-part practical guide to help you figure it out.

See also Rost’s equally useful guide on what colors to pick for your scales.

Tags: color, Datawrapper, Lisa Charlotte Rost

08 Apr 17:22

The Data Journalism Handbook

by Nathan Yau

The Data Journalism Handbook: Towards a Critical Data Practice now has a second edition, updated from the original 2012 edition:

The Data Journalism Handbook: Towards a Critical Data Practice provides a rich and panoramic introduction to data journalism, combining both critical reflection and practical insight. It offers a diverse collection of perspectives on how data journalism is done around the world and the broader consequences of datafication in the news, serving as both a textbook and a sourcebook for this emerging field. With more than 50 chapters from leading researchers and practitioners of data journalism, it explores the work needed to render technologies and data productive for journalistic purposes.

Download the digital version for free or buy a physical copy.

Tags: book, data journalism

05 Apr 00:28

xmlwf -k

What happened was, I needed a small improvement to Expat, probably the most widely-used XML parsing engine on the planet, so I coded it up and sent off a PR and it’s now in release 2.3.0. There’s nothing terribly interesting about the problem or the solution, but it certainly made me think about coding and tooling and so on. (Warning: Of zero interest to anyone who isn’t a professional programmer.)

Back story

As I mentioned last month, I took a little programming job partly as a favor to a friend, of writing a parser to transmute a huge number of antique IBM GML files into XML. It wasn’t terribly hard but there was quite a bit of input variation so I couldn’t be confident unless I checked that every single output file was proper XML (“well-formed”, we XML geeks say).

Fortunately there’s an Expat-based command-line tool called xmlwf that can scan XML files for errors and produce useful human-readable complaints, and it operates at obscene speed. So what I wanted to do was run my parser over a few hundred GML files and then say, essentially, xmlwf * in the output directory.

Which didn’t work because, until very recently, xmlwf would just stop when it encountered the first non-well-formed file. So I added a -k option (“k” for “keep going”) so it could run over a thousand or so files and helpfully complain about the two that were broken.

Lessons from the PR

Most important, I hadn’t realized how great the programming environment is inside Amazon. It’s all git, but there’s no need for branches or PR’s. You make your changes, you commit, you use the tooling to launch a code review, you argue, you make more changes, you (probably) commit --amend (unless you think multiple commits are more instructive for some reason), and this repeats until everyone’s happy and you push into the CI/CD vortex.

Obviously other people might be working on the same stuff so you might have to do a git pull --rebase and there might be pain sorting out the results but that’s what they pay us for. (Right?)

Anyhow, you end up with a nice clean commit sequence in your codebase history and nobody ever has to think about branches or PR’s. (Obviously some larger tasks require branches but you’d be amazed how much you can live without them.)

Finding: Pull requests

Now that I’m out in the real world, it’s How Things Are Done. For good reasons. Doesn’t mean I have to like them. As evidence, I offer How to Rebase a Pull Request. Ewwww.

Finding: Coding tools

The last time I edited actual C code, nobody’d ever heard of Jetbrains and “VS Code” would have sounded like a mainframe thing. I found the back corner of my brain where those memories lived, shook it vigorously, and Emacs fell out. The thing I’m now using to type the text you’re now reading. Oh, yeah; that was then.

C code in Emacs in 2021

It’s 2021. No, really.

It worked fine. I mean, no autocomplete, but there was syntax coloring and indentation and whole cubic centimeters (probably) of brain cells woke up and remembered C. Dear reader, back in the day I wrote hundreds and hundreds of thousands of lines of the stuff, and I guess it doesn’t go away. In fact, the number of syntax errors was pretty well zero because the fingers just did the right thing.

Finding: The Mac as open-source platform

It’s not that great. Expat maintainer Sebastian Pipping quite properly drop-kicked my PR because it had coding-standards violations and a memory leak, revealed by the Travis CI setup. I lazily tried to avoid learning Travis and, with Sebastian’s help, figured out the shell incantations to run the CI. Only on the Mac they only sort of worked, and in particular Clang failed to spot the memory leak.

The best way to deal with this is probably to learn enough Docker (Docker Compose, probably) to make a fake Linux environment. I was well along the path to doing that when I realized I had a real Linux environment, namely tbray.org, the server sending you the HTML you are now reading.

(Except for it’s a Debian box that couldn’t do the clang-format coding-standards test but that’s OK, my Mac could manage after I used homebrew to install coreutils and moreutils and gnu-sed and various other handsome ecosystem fragments.)

I mean, I got it to go. But if I do it again, I’ll definitely wrestle Docker to the ground first. Which is irritating; this stuff should Just Work on a Mac. Without having a Homebrew dance party.

C

Well, yeah. We shouldn’t diss it too much, basically every useful online service you interact with is running on it. But after my -k option was added, clang found a memory leak in xmlwf. Which I tracked down and yeah, it was real, but it had also been there before my changes. And it wouldn’t be a problem in normal circumstances, until it suddenly was, and then you’d be unhappy. Which is why, in the fullness of time, most C should be replaced by Go (if you can tolerate garbage-collection latency) and Rust (if you can’t). Won’t happen in my lifetime.

Anyhow

Thanks to Sebastian, who was polite in the face of my repeated out-of-practice cluelessness. And hey, if you need to syntax-check huge numbers of XML files, your life just got a little easier.