Activist Chris Smalls reflects on taking on Amazon, forming worker unions and digital activism in 2024

Activist Chris Smalls reflects on taking on Amazon, forming worker unions and digital activism in 2024

At Mozilla, we know  we can’t create a better future alone, that is why each year we will be highlighting the work of 25 digital leaders using technology to amplify voices, effect change, and build new technologies globally through our Rise 25 Awards. These storytellers, innovators, activists, advocates. builders and artists are helping make the internet more […]

The post Activist Chris Smalls reflects on taking on Amazon, forming worker unions and digital activism in 2024 appeared first on The Mozilla Blog.

Andy Wingo: guix on the framework 13 amd

I got a new laptop! It’s a Framework 13 AMD: 8 cores, 2 threads per core, 64 GB RAM, 3:2 2256×1504 matte screen. It kicks my 5-year-old Dell XPS 13 in the pants, and I am so relieved to be back to a matte screen. I just got it up and running with Guix, which though easier than past installation experiences was not without some wrinkles, so here I wanted to share a recipe for what worked for me.

(I swear this isn’t going to become a product review blog, but when I went to post something like this on the Framework forum I got an error saying that new users could only post 2 links. I understand how we got here but hoo, that is a garbage experience!)

The basic deal

Upstream Guix works on the Framework 13 AMD, but only with software rendering and no wifi, and I wasn’t able to install from upstream media. This is mainly because Guix uses a modified kernel and doesn’t include necessary firmware. There is a third-party nonguix repository that defines packages for the vanilla Linux kernel and the linux-firmware collection; we have to use that repo if we want all functionality.

Of course having the firmware be user-hackable would be better, and it would be better if the framework laptop used parts with free firmware. Something for a next revision, hopefully.

On firmware

As an aside, I think the official Free Software Foundation position on firmware is bad praxis. To recall, the idea is that if a device has embedded software (firmware) that can be updated, but that software is in a form that users can’t modify, then the system as a whole is not free software. This is technically correct but doesn’t logically imply that that the right strategy for advancing free software is to forbid firmware blobs; you have a number of potential policy choices and you have to look at their expected results to evaluate which one is most in line with your goals.

Bright lines are useful, of course; I just think that with respect to free software, drawing that line around firmware is not interesting. To illustrate this point, I believe the current FSF position is that if you can run e.g. a USB ethernet adapter without installing non-free firmware, then it is kosher, otherwise it is haram. However many of these devices have firmware; it’s just that you aren’t updating it. So for example the the USB Ethernet adapter I got with my Dell system many years ago has firmware, therefore it has bugs, but I have never updated that firmware because that’s not how we roll. Or, on my old laptop, I never updated the CPU microcode, despite spectre and meltdown and all the rest.

“Firmware, but never updated” reminds me of the wires around some New York neighborhoods that allow orthodox people to leave the house on Sabbath; useful if you are of a given community and enjoy the feeling of belonging, but I think even the faithful would see it as a hack. It is like how Richard Stallman wouldn’t use travel booking web sites because they had non-free JavaScript, but would happily call someone on the telephone to perform the booking for him, using those same sites. In that case, the net effect on the world of this particular bright line is negative: it does not advance free software in the least and only adds overhead. Privileging principle over praxis is generally a losing strategy.

Installation

Firstly I had to turn off secure boot in the bios settings; it’s in “security”.

I wasn’t expecting wifi to work out of the box, but for some reason the upstream Guix install media was not able to configure the network via the Ethernet expansion card nor an external USB-C ethernet adapter that I had; stuck at the DHCP phase. So my initial installation attempt failed.

Then I realized that the nonguix repository has installation media, which is the same as upstream but with the vanilla kernel and linux-firmware. So on another machine where I had Guix installed, I added the nonguix channel and built the installation media, via guix system image -t iso9660 nongnu/system/install.scm. That gave me a file that I could write to a USB stick.

Using that installation media, installing was a breeze.

However upon reboot, I found that I had no wifi and I was using software rendering; clearly, installation produced an OS config with the Guix kernel instead of upstream Linux. Happily, at this point the ethernet expansion card was able to work, so connect to wired ethernet, open /etc/config.scm, add the needed lines as described in the operating-system part of the nonguix README, reconfigure, and reboot. Building Linux takes a little less than an hour on this machine.

Fractional scaling

At that point you have wifi and graphics drivers. I use GNOME, and things seem to work. However the screen defaults to 200% resolution, which makes everything really big. Crisp, pretty, but big. Really you would like something in between? Or that the Framework ships a higher-resolution screen so that 200% would be a good scaling factor; this was the case with my old Dell XPS 13, and it worked well. Anyway with the Framework laptop, I wanted 150% scaling, and it seems these days that the way you have to do this is to use Wayland, which Guix does not yet enable by default.

So you go into config.scm again, and change where it says %desktop-services to be:

(modify-services %desktop-services
  (gdm-service-type config =>
    (gdm-configuration (inherit config) (wayland? #t))))

Then when you reboot you are in Wayland. Works fine, it seems. But then you have to go and enable an experimental mutter setting; install dconf-editor, run it, search for keys with “mutter” in the name, find the “experimental settings” key, tell it to not use the default setting, then click the box for “scale-monitor-framebuffer”.

Then! You can go into GNOME settings and get 125%, 150%, and so on. Great.

HOWEVER, and I hope this is a transient situation, there is a problem: in GNOME, applications that aren’t native Wayland apps don’t scale nicely. It’s like the app gets rendered to a texture at the original resolution, which then gets scaled up in a blurry way. There aren’t so many of these apps these days as most things have been ported to be Wayland-capable, Firefox included, but Emacs is one of them 🙁 However however! If you install the emacs-pgtk package instead of emacs, it looks better. Not perfect, but good enough. So that’s where I am.

Bugs

The laptop hangs on reboot due to this bug, but that seems a minor issue at this point. There is an ongoing tracker discussion on the community forum; like other problems in that thread, I hope that this one resolves itself upstream in Linux over time.

Other things?

I didn’t mention the funniest thing about this laptop: it comes in pieces that you have to put together 🙂 I am not so great with hardware, but I had no problem. The build quality seems pretty good; not a MacBook Air, but then it’s also user-repairable, which is a big strong point. It has these funny extension cards that slot into the chassis, which I have found to be quite amusing.

I haven’t had the machine for long enough but it seems to work fine up to now: suspend, good battery use, not noisy (unless it’s compiling on all 16 threads), graphics, wifi, ethernet, good compilation speed. (I should give compiling LLVM a go; that’s a useful workload.) I don’t have bluetooth or the fingerprint reader working yet; I give it 25% odds that I get around to this during the lifetime of this laptop 🙂

Until next time, happy hacking!

Apps availability still high

TWIF generated on Thursday, 15 Feb 2024, Week 7

Community News

@theimpulson starts the tests:

Aurora Store was updated to 4.4.1 and brings a plethora of improvements. It will be marked as suggested after a while to squash reported bugs in between. Among all the changes major ones are:

  • Support for automatically updating apps (needs a supported installer/android version to auto-install the update)
  • Automatic SHA256 & SHA1 verification for downloaded files
  • Support for updates with signing key rotation (introduced after Android 9.0+)
  • Better support for apps with shared libraries such as Chrome/Chromium and WebView
  • New automatic certificate verification for updates (resolves this issue) (future update of Aurora Store will allow turning this off for interested users)
  • Native Installer and Aurora Services have been deprecated (will be removed completely soon, users are advised to use Session Installer or any other supported one)
  • Exporting installed apps doesn’t require storage permissions anymore

@Licaon_Kter rants about XMPP clients:

Conversations is available in F-Droid, and has been uninterruptedly since May 2014. For instance it was just updated to version 2.13.1+free bringing support for P2P file transfers via WebRTC data channels (yes, the same magic used for calls, not the old proxy65 stuff), fixed interoperability issues with Bind 2.0 on ejabberd and bundled Let’s Encrypt root certificates for Android <= 7. Then again, for a day or so, those who wanted to get or update Conversations from “alternative centralized stores”, say via the new Aurora Store mentioned above or directly from Google Play, were not able to do so, as the app was gone, forcing the app developer to remove yet another feature from the app (the second or third one by now, we lost count) as to appease the faceless procedures.

In TWIF23 Week 50 we presented the results of the ‘Epic v. Google’ trial in the US, and we hope that with each Google move you get a hint to nudge your favourite FOSS developers to have their apps included in a decentralized store-like catalogue too, one that is not under an alphabet named corporation’s control. We understand that many devs like to publish on Play and get a stream of revenue that allows the app development to continue, while F-Droid (client, website) do not have a way to sell apps, they do have donation links, so you can contribute with a thank you, money for a coffee or one month of SMS to help your star app author.

In lock-step, Quicksy was updated to 2.13.1+free too, luckily this app was not removed from Google Play, although it did miss all updates since October 2023.

(NOTE: P2P file transfers via WebRTC data channels work only between apps updated to version 2.13.1. Next version is in the pipeline and will fix compatibility between multiple versions)

Spring Cleaning

Drupal Editor was archived as it was compatible with old unsupported Drupal 5 only.

Rocket.Chat’s removal was announced last week.

Newly Added Apps

7 apps were newly added
  • Broker 1961 – Very attractive board game which was created in 1961 for trading shares
  • Chooser – Finger picker app (so you know who’s first)
  • DailyLog – A quick-logging notes app with customizable shortcut buttons
  • Oblique Strategies – Over one hundred worthwhile dilemmas
  • Oshi Uploader – Upload to any Oshi instance
  • Play Deals – Find the latest app deals and discounts on paid apps and games in Google Play store
  • WG Auto Connect – Auto connect to a WireGuard tunnel (the official Wireguard app is needed)

Updated Apps

174 more apps were updated

Thank you for reading this week’s TWIF 🙂

Please subscribe to the RSS feed in your favourite RSS application to be updated of new TWIFs when they come up.

You are welcome to join the TWIF forum thread. If you have any news from the community, post it there, maybe it will be featured next week 😉

Apple intentionally kills web applications for EU users in iOS 17.4 onward to spite its EU users

With the second beta of iOS 17.4, Apple disabled much of the functionality of Progressive Web Apps (PWAs) in the European Union. There was some speculation that it could be a temporary change or a bug related to some of the updates to the app ecosystem in Europe, but Apple has confirmed that PWAs were intentionally removed and won’t be returning. ↫ Juli Clover at MacRumors When users in the European Union install iOS 17.4, all functionality regarding progressive web apps will be removed from iOS. This means that when you pin a PWA on your iOS home screen, instead of it opening ‘like an application’, so without any browser chrome but with additional other odds and ends to make it feel more like a native application, it’ll just open inside the full browser instead. It’s typical Apple behaviour – vindictive and petty. Their stated reasoning – it was too hard and too much work to implement this for engines other than WebKit – is a bunch of utter nonsense, since Apple had no issues with developing like 600 new APIs and a whole bunch of new complex frameworks and administrative layers just to support their malicious DMA compliance to ensure they wouldn’t lose a single cent of protection money when a developer wants to distribute an application outside of the App Store. PWAs were the only way you could get an application-like experience on your iPhone from something not controlled, owned, and monetised by Apple, so it had to go to force developers to choose either of Apple’s new, maliciously DMA compliant monetised distribution options in the EU. Every time this company does anything, it’s just… Slimy, scummy, sleazy, and anti-user.

Артур спешит на помощь другу Мелиссе

Артур спешит на помощь другу Мелиссе
#viralvideo #viral #viralvideos #viralpost #trending #explorepage #tiktok #explore #instagram #viralindonesia #love #like #follow #instagood #video #memes #likeforlikes #fyp #foryou #music #funnyvideos #funny #followforfollowback #detik #videoviral #india #lfl #reels #foryoupage #literasi
#viral #fyp #foryou #viral #foryoupage
#instadaily #repost #viralposts #likes #trendingnow #trend #tiktokviral #viralreels #comedy #youtube #funnymemes #viralbanget #viralmemes #meme #exploremore #dagelan #viralmalaysia #virals #comment #share #indonesia #f #bollywood #followme #insta #tiktokindonesia #viralata #art #viralvids #photography
#viralvideo #viralvideos #viralvideohumor #viralvideoindonesia #viralvideoschannel #viralvideosz #viralvideoshowdow #viralvideopromotions #viralvideosi #viralvideostars #viralvideobandung #viralvideoshowdown #viralvideotv #viralvideohub #viralvideosfb #viralvideon #viralvideokediri #viralvideoexperiment #viralvideooftheday #viralvideosofc #viralvideosandverybaddancing
#viral #explorepage #trending #explore #instagram #tiktok #love #like #follow #instagood #likeforlikes #memes #music #followforfollowback #fyp #viralvideos #lfl #photography #likes #viralpost #indonesia #instadaily #india #model #cute #k #style #foryou #fashion #art #insta #beauty #happy #nature #reels #life #video #photooftheday #funny #likesforlike #repost #beautiful #comment #lifestyle #photo #meme #youtube #bhfyp #girl #trend #followme #dance #loveyourself #sad #likeforlikeback #selfie #smile #travel #following #share #viral #insta #meme #viral #explorepage #india #likes #bhfyp #dance #indonesia #tiktok #lfl #trending #video #youtube #loveyourself #comment #fyp #sad #likeback #following #viral #viralbanget #viralmalaysia #viralatas #viraltiktok #viralkan #virals #viraldance #viralposts #viralphoto #viralizaladictadura #viralvids #viralatalovers #viralindia #viralatasinstagram #viralindo #virales #viralfood #viralcontent #viralpics #viralmusic #viral #viralvideos #viralpost #viralvideo #viralindonesia #viralata #viralmemes #viralbanget #viralmalaysia #viralatas #viraltiktok #viralkan #virals #viraldance #viralposts #viralphoto #viralizaladictadura #viralvids #viralatalovers #viralindia #viralatasinstagram #viral #viralvideos #viralvideo #viralindonesia #viralata #videoviral #lagiviral #tiktokviral #viralpost #produkviral #goviral #viralmalaysia #motifviral #viralatas #viralmemes #viralbanget #viralkan #kasutviral #serumviral #beritaviral #makethisgoviral #virals #pinkladyviral #bajuviral #tudungviral #art_viral #viralizaladictadura #lipmatteviral #bawalviral #kosmetikviral #viralposts #vidioviral #adoteumviralata #denpasarviral #viralatalovers #viralataslove #bisnisviral #viralatasinstagram #kekviral #indoviral viral,grinch goes viral,virus,viral rap,viral t.o.t,viral ak420,ak420 viral,viral reels,série viral

Business Window Wraps

Perforated vinyl window wraps from Rocket Wraps TX allow businesses to advertise while still letting in natural light. These custom printed wraps are an effective and affordable way to brand storefronts, office buildings, and other commercial properties. The perforated design provides privacy while maintaining visibility from the outside. Rocket Wraps TX offers full-color printing on perforated vinyl films that are easy to install and remove without leaving residue. This innovative window wrapping solution enables companies to promote their brand while maintaining a professional appearance. Learn more at https://www.rocketwrapstx.com/perforated-window-vinyl

Cloudways Website Hosting – How To Open A New WordPress Website Easily In Less Than 2 Minutes…

The Complete Guide On Opening A New Wordpress Website In Cloudways Easily And In 2 Minutes:
https://itayverchik.com/cloudways-new-wordpress-website/

In this guide, I show you how to open a new WordPress site easily in less than 2 minutes.

To Sign Up For The Keywords Tracking System:
https://say-v.com/

Join now the community of Webmasters and SEO Marketers completely free:
https://www.facebook.com/groups/itayverchik

To purchase Elementor Pro, the world’s best WordPress page designer:
https://trk.elementor.com/2500

Don’t Have A Web Hosting Account Yet Or Are You Just Not Satisfied With Your Existing Hosting?
Get A 25% Discount For Cloudways Web Hosting For The First 3 Months:
https://platform.cloudways.com/signup?id=314159&coupon=VERCHIK

Drupalize.Me: PHP Attributes for Drupal Plugins

PHP Attributes for Drupal Plugins

As of PHP 8.1, the PHP language has native support for attributes that are compatible with Drupal’s plugin system use case. As a result, Drupal will transition from the use of annotations to PHP attributes, to supply metadata and configuration for plugins. This will require developers to learn the new PHP attributes syntax, and update their existing code to use it. For now Drupal will continue to support both annotations and attributes. But the proverbial clock is ticking.

So let’s take a look at how we got here, and what you’ll need to do to update your code for future versions of Drupal.

joe
Wed, 02/14/2024 – 19:06

Andy Wingo: family bike transportation

Good evening! Tonight I have a brief and unusual post, which is a product review of an electric cargo bike and its accessories for transporting kids. Let’s see if I can get this finished while I wait for my new laptop to finish installing.

So, I have three young kids (5yo, 3yo, 1yo), and I need to get them places. Before the 3rd was born I would use a bike trailer (Thule Chariot Lite single, bought when there was just one kid) and a bike seat (Thule RideAlong Lite, attached on seat-post). That was fine, though sometimes the thought of lugging their ever-increasing kilograms somewhere would give me pause. Then when the third kid arrived, hoo boy; I got a front-mount Thule Yepp Nexxt 2 Mini, to see if I could do three kids on one me-powered bike, but that was too tight to manage; not enough space to kick my leg over when getting on.

In the end we finally broke down and looked at electric cargo bikes. Of course I had looked at these over the years and always bounced off the price. Initially I had thought a front box-bike would be the thing, but then as kids grew up I realized they wouldn’t be comfortable there, and that a long-tail was probably better for the long term. But holy Christ, they are expensive. Happily, Decathlon came out with an electric longtail which is quite acceptable, and for about half the price of something equivalent from elsewhere.

Funny story: a friend got her bike stolen in the center of Geneva one day; thieves came and took all the bikes on a rack. I guess it was a battery-operated angle grinder; apparently that is the modus operandi these days. She moped a bit but then decided to buy the same bike again, from Decathlon as it happens. While she was at the store she entered a raffle. Then the cops called to say they found her bike – I know right?! Turns out some other bike that was stolen had an Apple AirTag on it, and its owner called the cops to tell them where the bike was, and all of the bikes were recovered. In the meantime my friend’s insurance had paid out for her stolen bike, so she had an extra bike. Then the local Decathlon called to tell her she won the raffle, for some kind of electric bike. When she went to pick it up, it was the electric longtail, for free. Anyway, we got to try hers before deciding to get one too.

One of my questions was, can you jam 3 kids on this thing? In terms of weight, yes: it will take 80 kilos on the back, and our kids total 45 kilos. In terms of space it’s OK, but really for the 1yo you need a bike seat, and even for the 3yo she should really be in a seat unless she’s very awake. The back rack has a frame around it, which does help keep kids on, but it’s not sufficient for a sleepy 3yo.

I was hoping to find a quite narrow kid bike seat so I could put on two seats for the young ones and then jam the oldest in somehow. I started with the Thule Yepp Nexxt 2 Maxi, but the release clamp kinda wants to be where the frame around the back rack is, so it’s not so efficient, and not easy to remove. Also the plastic guards so that kids don’t catch their legs in the back wheel aren’t needed on this particular bike, but they do prevent me from effectively accessing the otherwise well-designed panniers (c’est drôle mais ce ne sont pas des panniers, mais des saccoches).

So, with the Thule rear-mount seat I could get one bike seat for the 1yo and then jam in the 3yo and 5yo. It worked fine.

Then, annoyingly, thieves stole our electric longtail. Apparently insurance will pay out for us too—this is a relatively standard feature in France for the kind of insurance you have to have already for your place of residence—but for the last few weeks we have been without our longtail, and it is terrible. In the end we decided just to buy the same bike again: proof that it is good enough.

There are other electric longtails out there. If you can afford it, a pedal motor will be better than the hub motor on the Decathlon model. But if you are willing to accept less than the best, I think the Decathlon bike is quite good for what it is and I am looking forward to picking up the new bike tomorrow. It fits the kids, easily adjusts between different rider heights, and is a real joy to be on as a family. It lets me go places I wouldn’t think of going without the ability to just chuck everybody on the bike and zip away.

As far as bike seats go, I am going to try a new seat, to see if I can avoid the leg covers and to see if it’s more narrow. Ping me on the Mastodon if you want a follow-up. Thoughts welcome below for things that have worked for you. Until next time, happy cycling!