If a Nazi wants to use my software - or to use HTML, or to use RSS, or to use ActivityPub, or to use English - there's no real way to stop them. That's the core of the dilemma faced by the developers of Mastodon, the open source social networking application. But what they can do - and what they have done - is to block Nazis using the application from communicating with their own instances, including Mastodon.social, which is the instance I use. Beyond that, it's up to internet service providers, who allow Nazis to use their servers, or better yet, it's up to government, to finally criminalize Nazi hate - or to at least treat it as seriously as it treats copyright violations.
Web: [Direct Link] [This Post]Rolandt
Shared posts
How the biggest decentralized social network is dealing with its Nazi problem
Groups Of 3
A quick tip for in-person events.
The best way to build relationships, get members to share information, and help everyone enjoy the event, is to ensure they can have the deepest possible conversations with the largest number of people.
It’s hard to do that in a group of 10 where only 1 person can speak at a time.
This format favours the most confident person (or the person least worried about interrupting everyone else).
It limits the explanations people can provide and almost guarantees most people tune out.
It shifts the mentality from sharing something personal in a small group to being judged before a crowd of peers.
A far better format is rotating groups of 3. The difference between a 20-minute discussion where each person speaks for an average of 120 seconds to 9 people and one where each person speaks for 400 seconds to a group of 2 others is huge.
Don’t divide people into large groups. Three is best, five is ok, 10 is five too many.
There is no such thing as (nonfiction) writer’s block
My writer friends tell me they’re suffering from writer’s block. They’re not. Oh, sure, they’re unable to write anything useful, but “writer’s block” conjures up an inability to write for unknowable reasons. In fact, I know exactly why they can’t write. If you’re suffering from writer’s block, allow me to help diagnose your problem — … Continued
The post There is no such thing as (nonfiction) writer’s block appeared first on without bullshit.
1Password Alternatives
Having used 1Password since its very beginning, I am growing increasingly distrustful of their product management and roadmap (the key point for me being that I will not subscribe to their cloud syncing service), so this is an attempt at putting together a systematic list of decent alternatives for my own use.
The features I need are:
- iCloud or Dropbox cloud sync across Mac and iOS (Windows and Linux are secondary)
- TOTP support
- Syncing a subset of data (TOTP and credit card PIN codes) to the Apple Watch
This will be turned into a proper table later, but here are the ones I’m considering:
- Secrets
- PwSafe
- PasswordWallet
-
QtPass, a front-end for
pass
Notes On The Raspberry Pi 4
Of course I ordered one. I did it partly because I need to plan ahead for replacing my ageing ODROID U2, which has been the main house server for nearly six years (since it was the only ARM device I had with 2GB of RAM), and partly because my lab setup (which runs on a 3B+) is a little short on RAM.
Even though I don’t own a sample of every single Raspberry Pi model, I’ve gone through enough board revisions to know that there will be teething issues (like the current USB power intake), so this was a calculated bet.
I got the 4GB model intending to use it as a direct replacement for my lab machine, and was amused to see that the Safety and User Guide that comes in the box with it actually says Raspberry Pi 4 Model B 1GB, 2GB, 4GB + 8GB variants – but the 8GB bit is said to be a typo, since there are currently no matching RAM chips that would fit the current design.
Not wanting to bore you with a full review (there are zillions of them out there by now), here are my impressions:
The Good Bits
- It is markedly faster on all counts, even compared to the last CPU revisions of the
3+boards. I moved the latest SD card I had (already running Raspbian Buster) from a3A+to the4Band the Docker containers I was running there were much snappier, even via Wi-Fi. - The 4GB of RAM mine comes with mean that the Arduino IDE, Mathematica and Firefox ESR (which is what I prefer to use instead of Chromium), as well as an ARM custom build of VS Code, are all usable simultaneously.
In comparison with the 3B+ and 3A+ (which, as I’ll explain later, are now my staple devices), it is a pretty solid upgrade, but…
Pitfalls
- It has no on-board flash/eMMC, which is (together with its 2GB of RAM) one of the main reasons the ODROID U2 is still the house server. SD cards are amazingly resilient these days, but performance is still uneven and I don’t want to run 24/7 off them.
- The form factor is mostly the same. Irritatingly, though, the Ethernet port swapped sides, which means the former official case (which has pop-out panels on the sides) cannot be re-used at all. I have two of those in black I can carve into suitable replacements, but…
- The thermal envelope is definitely an issue, and from what I’ve seen the official case doesn’t account for airflow or any form of cooling, so I’m waiting on a couple of 5V 30mm fans and tweaking the STL files for this case in the meantime.
I’ve been browsing through pieces like Tom’s Hardware and other active/passive cooler comparisons, and the inescapable conclusion seems to be that you need some decent cooling to run the thing with a case.
vcgencmd reports 56-59°C in my office when idle, i.e., with all services except ssh shut down, and accessing it via Wi-Fi, which is sort of OK.
But it gets too hot for my liking under load, especially considering that it’s 27°C outside now and that Summer heat around these parts usually rises way above 40°C, and the prospect of having fan noise in my office again after years of quiet machines isn’t one I relish.
Stuff I’m not going to Use (Yet)
- Dual micro-HDMI out. I haven’t plugged mine in to any kind of monitor yet and am curious about the potential for digital signage, but right now that’s not a priority (I think I have the right cable someplace, but most of my use is via SSH/RDP/VNC, so I haven’t bothered).
- I don’t expect to make much use of USB 3 (but I’ll be keeping an eye on the in-progress USB firmware fixes that aim to lower heat output as well).
- PoE/GPIOs are not something that I’m likely to use with this board either–all the hardware stuff I do these days tends to be a lot simpler, and an
ESP8266is often enough.
The Sweet Spot
So, what would I improve (besides thermals and storage)?
Well, I’d probably like to see a 4A revision of this–or, without doing any major CPU revisions, a Zero-sized board with a 3A+ CPU and more RAM, since my main “production” use cases right now are:
- A “lab” station with 1-2 USB ports for plugging in an USB oscilloscope and/or FTDI adapters for flashing MCUs of various sorts (currently a
3B+) and needs all the RAM it can get. - A home automation server to run
homebridgeand a number of other Docker containers and plug in a single ZigBee SDR dongle (currently an ODROID U2), which requires a minimum of 2GB of RAM and (ideally) eMMC storage. - A Docker registry/build server that runs off a single USB external disk (currently a
2B) and needs more CPU and RAM. - A HomeKit camera running off a
Zero W(which badly needs more CPU power).
That is besides the IoT/MCU stuff (which is better handled by the ESP8266/ESP32 devices I’m using these days), so there’s a yawning gap between what I need and what I got with the 4B.
Then there’s the “toy” stuff (for instance, my previous lab 3B was turned into a game console running Lakka for the kids with Bluetooth controllers), but that’s besides the point–there’s a trend here for the sweet spot (as far as I’m concerned) being somewhere in the middle.
The A Team
I recently got two Pi 3A+ boards (the same CPU as the 3B+, but only 512MB of RAM) and find them a great compromise between CPU speed and expandability (even with only the one USB A port). I also went and got a Banana Pi M2-Zero to see if I could have the same experience in a smaller package1:
The 3A+ above is currently running a voice recognition shim (I’m really interested in building something that will do basic voice commands completely on-device), and I hijacked its sibling (which was destined to other purposes) into a sort of “portable Linux sidecar” for my iPad following this fad from a couple of weeks back.
And for me, the A series makes the most sense. I like the smaller form factor a lot, (mostly) don’t need the extra USB ports (or even Ethernet) and all I really need right now (taking the 3A+ as an example, and covering 100% of my use cases above) is a 4A board with 2GB RAM and an eMMC flash–something that is tantalizingly feasible now.
I would also love to see a 64-bit version of the OS (I’ve been tinkering with various kinds of ARM servers) but the move to Debian Buster as a base, even if a little premature, seems to have fixed a lot of my annoyances.
And that’s it. Time to go back to cloud orchestration and more impacting stuff, I’ve fallen behind schedule on most of my personal projects (as usual)…
-
I didn’t succeed. The Banana Pi is a disaster in terms of OS support, and mine hasn’t booted to a stable state once yet. Don’t buy it. ↩︎
NewsBlur Blurblog: Territory Acknowledgements
|
sillygwailo
shared this story
from |
I am writing this on the traditional and present homeland of the L’nui Mnikuk and Epekwitk First Nations. Under the Peace and Friendship Treaties, this territory – as part of Mi’kma’ki – was never surrendered, and is still Mi’kmaq land.
Ton, you asked “what was the import” of the paragraph like that in my last post, the one about the garden.
Short answer, it’s a territory acknowledgement. It’s a thing that’s become common in Canada at the beginning of a meeting or ceremony, to show our respect to the Indigenous Peoples who were here first, as part of the ongoing project of Reconciliation.
Also, what I just said is a steaming pile of bullshit.
Because territory acknowledgements are not reconciliation. They can be, and are in danger of becoming more frequently, an easy way to say you did something, while actually not doing anything at all. It’s a transposition of the Catholic ritual of absolution, a salve for the guilty white conscience. It lets us pat ourselves on the back. We did dun good. Chelsea Vowel (âpihtawikosisân) wrote an excellent analysis of this. So what’s the import? Is it just performative wokeness, a transaction for social capital in front of other Lefties?
This morning, trying not to get anything wrong, I read the texts of the Peace and Friendship Treaties (1752 and 1761-62) for the first time. In writing this post, I learned the Mi’kmaq name of the Lennox Island First Nation. By doing this I’m educating myself, realizing how much I don’t know.
It was 2010 when I saw this mural in Montreal: NO OLYMPICS ON STOLEN NATIVE LAND.

Image by Ambiguous Furry Rocking Thing, license CC0 1.0.
I remember how uncomfortable it made me. I didn’t like how big and in-your-face it was. Stolen land? Isn’t that a bit harsh? What do they intend to gain by calling it that? Just make us feel guilty and shitty about something awesome like the Olympics? It’s too late now anyway, it’s happening. If land theft happened, it was so, so long ago. What are we supposed to do, just pick up and walk away from where we live?? Just… die??
White fragility is a thing.
When the Truth and Reconciliation Commission released their report in 2015, they called (among other things) for educational institutions to be truthful about the history of Canada. I mean, according to my grade 8 social studies, history started in 1534 when Jacques Cartier was welcomed(!) by the Natives and developed right up till Canada became Canada in 1867. We didn’t learn about the Treaties. We didn’t learn about the Indian Act. We didn’t really learn about the harm done by Residential Schools. We didn’t learn about the 60’s Scoop, or the continued forced removal of indigenous children from their families. And of course we didn’t learn about the many ways in which Indigenous communities are currently being denied clean drinking water, health care, education, criminal justice, acceptable housing, food security, self-determination, sovereignty over their land, and even a planet that can sustain human life. These are Treaty rights, Indigenous Rights, and Human Rights. But the idea that this country was and is built on strategies for wiping out ethnic groups i.e. genocide goes against our cultivated self-image as a smiling, multicultural, meritocracy.

For me, it all fell apart when I learned about the Doctrine of Discovery. I mean, I had kind of assumed that people could move to wherever they wanted to and make peace with (or take over from) whoever lived there. Isn’t that just human nature, back to the Roman Empire and before? Well, no. This 15th century Papal Bull, that says that non-Christians are non-people, gives Christian explorers the “right” to claim “un-exploited” land as their own. Which is what happened. Which led to settlers, the violent removal of Indigenous people, and a system of Deeds of Conveyance of land right up to the one I signed in “the year of our Lord [sic] Two Thousand and Sixteen.”
So when I cultivate a garden with European plants, on this “parcel of land lying and being part of Common Lot Number Thirteen in the Common of Charlottetown,” I am particularly conscious of how my life is a continuation of settler colonialism.
And I say it, because hearing others say it made me realize how much I had to learn. I learned from Indigenous activists, who are doing incredible work (and putting up with disgusting amounts of abuse). I learn from Elders, who I have been fortunate to hear speak at UPEI. I learn from friends, who have been doing this work for longer, and far better than I have.
I say the land acknowledgement because it makes me uncomfortable, and hopefully makes other settlers uncomfortable and start to question. The education piece has a long way to go.
But as Pam Palmeter writes, land acknowledgements and self-education are not reconciliation. They’re the bare fucking minimum we should have been doing all along.
We should be demanding our governments enact the TRC’s Calls to Action and the NI-MMIWG’s Calls for Justice. Taking action to stop pipelines, protect waterways and water tables. We need to end the exploitation economy.
That’s the reconciliation work I should be doing, and haven’t even started yet.
Android oder iPhone kaufen? Eine Antwort in 2500 Zeichen.
Rafael Zeier betritt für den Tagesanzeiger ein Minenfeld:
Katholisch oder reformiert? Vegan oder Fleisch? Benziner oder Tesla? Solche Entweder-oder-Fragen sind Minenfelder und nehmen selten ein gutes Ende. Aber versprochen ist nun mal versprochen, und da die Frage, wie es diese Rubrik verlangt, auch häufig gegoogelt wird, stelle ich mich der Frage aller Fragen, wenn es um den wichtigsten Computer in unserem Alltag, das Smartphone, geht: Android oder iPhone?
Und er löst die Aufgabe mit Bravour. Rafael ist übrigens langjähriger Android-User und wegen der Apple Watch zum iPhone gewechselt.
Instapaper Liked: Let Christopher Alexander design your life
The State of Carrier Aggregation in Paris
Back in 2016 I noted on this site that one German network operator had by that time deployed 50 MHz worth of LTE in the center of Cologne where I live. I was impressed! Others have also not been idle since then and when I was in Paris recently, I noticed that Orange also has an impressive array of channels on air which can be used simultaneously by devices.
At the place of the conference I attended, Orange was on air with 20 MHz in Band 3 (1800 MHz) which served as the ‘Primary Component Carrier’, 20 MHz of band 7 spectrum (2600 MHz), 10 MHz of band 1 spectrum (2100 MHz) and 10 MHz in band 20 (800 MHz). The network and my device supported 4 Carrier Aggregation (4CA) so all channels were accumulated to an overall channel bandwidth of 60 MHz (!) and I could get around 150 MBit/s out of the channel under fairly good signal conditions and still 30-50 Mbit/s while in the meeting room with quite unfavorable signaling conditions. Very nice indeed!
Spectrummonitoring.com has the details of which of frequency assets Orange has available in France. According to them, they have pretty much everything on air they own. They have an additional 10 MHz of spectrum in band 8 (900 MHz) which they must still use for GSM, an additional 10 MHz of spectrum in band 8 (2100 MHz) which they probably use for UMTS, and an additional 15 MHz in band 7 (2600 MHz) which they could in theory use for LTE right away. In other words, they have already significantly re-farmed 3G spectrum for LTE.
And that also means that there is little they can do to further increase network capacity at this point in time other than increasing the number of cell sites or press the 3.5 GHz band into service with 5G, which, however, does not seem to given out by the regulator yet. So until that happens, it’s a bit downhill from here while demand keeps rising.
A proposed research process mind map
I have been pondering how to organize my blog in terms of what techniques I have developed for my students and research assistants, and how people could potentially navigate my website. I am doing this in advance of compiling this blog into a printed book.
This mind map is where I am at, right now. I think I need to write a little bit more about how to plan a research project, or at least, make it a lot more explicit in the mind map. I would appreciate any and all suggestions on what’s missing here!
The cult of optimism got us into this mess. It’s time to embrace pessimism | David Olusoga | Opinion
|
mkalus
shared this story
from |
When historians write the last pages of their books, and the producers of history documentaries sit down to edit the final minutes of their programmes, there is often a strong urge to look to the future and emphasise the positive. That impulse is at its most acute when the subject of the book or documentary in question is British history.
The classic formulation is something along the lines of: Britain and her institutions are remarkably adaptable, the nation has survived two world wars and endured the loss of empire, we will surely cope with whatever the future has in store… roll credits, press send, everyone down the pub.
The past three years have left many of those final chapters and closing scenes in need of urgent rewrites. Brexit, the rise of populism and the constitutional crisis in which we are still utterly ensnared – despite the passing distraction of the Tory leadership circus – undermines that sort of blithe optimism.
Now is not the time for upbeat endings. It is a moment to make the case for an ever unpopular and always controversial sentiment – pessimism.
But pessimism has an image problem. To describe someone as a pessimist is to issue an insult, whereas to be labelled an optimist is to get a pat on the back. To dismiss someone’s argument as pessimistic is to suggest it is the product of a personality disorder, rather than careful analysis.
This lazy stance is easy to adopt and often highly effective in debate. It is what Boris Johnson clumsily and desperately attempted last week, while floundering against Andrew Neil: “Why this defeatism? Why this negativity?” he blustered, in a pitiful effort to draw attention away from his demonstrable ignorance of his own Brexit “plan”. Don’t analyse, stop identifying flaws and inconsistencies, just be optimistic. Rejoice. Rejoice.
The prevailing cult of optimism reinforces the belief that Britain’s institutions – parliament, the civil service and that jumble of conventions and archaic procedures that are what passes for a constitution – will inevitably weather any future storm.
Well, it’s not been a great week for the civil service; a police investigation has been launched into a leak apparently designed to bring down our ambassador to the most powerful nation on earth, followed by his public defenestration by the PM-in-waiting. Month by month our constitution has been proved unfit for purpose and parliament’s physical decay is increasingly turning it into a vast, scaffold-covered metaphor.
A musty, chintzy kitschness lingers about the Palace of Westminster. A cabbagey, care-home smell wafts along its neo-gothic corridors. With Johnson refusing to rule out bypassing parliament (with his threatened prorogation and his opponents discussing setting up a rival assembly across the road, you have to really want to see the “mother of parliaments” cup as half full.
The unlikely patron saint of this form of optimistic, national exceptionalism is Winston Churchill, a man who suffered bouts of depression and spent a decade in the political wilderness for pessimistically predicting a global catastrophe. Hardly the ideal poster boy for the breezy optimism of Johnson and his cabal. And to go by run of form, optimism is on a losing streak. Optimists confidently predicted Trump would mature in office and they have repeatedly administered the last rites to Nigel Farage’s political career and failed utterly to identity the risks that led us into our current age of anger and chaos.
Whether we like it or not, there are moments in history when pessimism is the appropriate response. Times when, as the German philosopher Oswald Spengler said, “optimism is cowardice”. What is needed now is not a “nameless, unreasoning, unjustified” form of pessimism that “paralyses needed efforts to convert retreat into advance”, to quote Franklin D Roosevelt, but a sobering and energising pessimism. It is necessary because the cult of optimism, the original source of our national complacency, is in itself a clear and present danger.
The Brexit project exploited our cultural predilection for optimism. Leave was painted as the optimistic choice. Now, when the Brexiteers are not promising us “adequate food”, they are peddling another brand of optimism. No matter what happens at the end of October, they tell us, we’ll be all right. After all, if we can make it through the Second World War we can survive Brexit. One of the many holes in this “there’ll always be an England” line of argument is, of course, that half a million British people didn’t make it through the Second World War.
That reality is perhaps why the support for Remain was high among a demographic that is rarely mentioned. The simplistic belief that the old voted Leave and the young voted Remain ignores the fact that the most elderly, the people who actually remember the Second World War, who fought and suffered in it, were “far more likely to oppose Brexit”, according to some research, than the baby boomers – a generation brought up watching war films rather than cowering in Anderson shelters.
And is it that surprising that the most privileged generation to have ever lived harbour less pessimism than their parents or their children and grandchildren?
It is true that Britain and its institutions have survived past crises, but often this was because those in charge, at a certain point, snapped out of the stupor of latent optimism, recognised the dangers circling the nation and acted. Call it pessimism, realism or pragmatism: we urgently need exactly that sort of awakening now.
• David Olusoga is a historian and broadcaster
Cycling in Utrecht
Another excellent film about cycling and urban design from Street Films, Utrecht: Planning for People & Bikes, Not for Cars, dropped a couple of weeks ago.
My favourite passage comes near the beginning (emphasis mine):
I’m really fond of cycling, because it has so many positives: it’s about the noise, it’s about clean air, about climate, but also about how friendly it is. You really have the idea that people are the boss on the street, not machines.
Watching stories about dramatic and positive improvements in infrastructure and culture is inspiring, especially when you learn that they have taken place, in large part, within one generation.
We could do exactly the same thing here.
Free Driver’s Licenses No More?
Good on Hon. Brad Trivers for speaking the truth about the truly inane move to use carbon tax revenue to make driver’s licenses free-of-charge enacted by the previous government.
While it would be an exaggeration to say that the Liberal government lost the election on this issue, I know it was a galvanizing “wait, what!?” moment for many.
“Obviously, one of the ways to reduce carbon emissions is by burning less fuel,” Trivers said.
“If you’re actually giving people free drivers’ licences and discounts on registrations to go drive, you can see that it actually doesn’t help with decreasing the amount of fuel they’re going to burn in their vehicles.”
Exactly.
Sign me up to pay for my license again; let’s use carbon tax funds for real action on climate change.
Archetypes
A few common ones…
- The contrarian guy (typically is a guy, sorry). Takes contrary stances either for attention, because of genuine beliefs, or just to stir things up.
- The grouchy old timer. Feels things are getting worse. Rarely backs down in an argument. Assumes their expertise means s/he is right because they were here 10+ years ago.
- The passionate newcomer. Very excited (and excitable). Low expertise, but high rates of participation.
- The one-poster. Will come only when they have a problem. Won’t help others. Probably won’t explain if the answer helped them.
- The helper. Genuinely likes to help support the community. Typically wants to feel closer to the brand.
- The single-issue poster. Will only post about a single topic. Often with an opinion of that topic several standard deviations from the norm.
- The ‘know-it-all’. Less grouchy than old-timers, but always assumes they are right and states opinions as definitive facts rather than “I think…” or “I’ve seen…”. Can share expertise, but tend to bash other members to maintain their own status.
- The super enthusiastic. Posts non-stop. Doesn’t add much value, but gets your post count up. Often antagonises others through sheer volume of posts.
- The true expert. Rarely participates, mostly keen to engage only with others they consider experts.
It’s not an exhaustive list, feel free to add your own.
But I’d be surprised if the next member you engage with doesn’t closely match one of the archetypes above.
p.s. treating every member the same doesn’t work when members are so different from one another.
Make charts that ask readers to predict the line
A few years ago, The New York Times asked readers to guess a trend line before showing the actual data. It forced readers to test their own beliefs against reality. TheyDrawIt from the MU Collective is a tool that lets you make similar prediction charts:
These line graphs encourage readers to reflect on their own beliefs by predicting the data before seeing it. Only after they draw a prediction does the real data appear. The graph can then show the reader traces of other peoples’ predictions. This progression makes it easy for readers to visualize the difference between their predicted beliefs, their peer’s beliefs, and the actual data.
Tags: beliefs, prediction
No Need to Ask: Creating Permissionless Blockchains of Metadata Records
This article (17 page PDF) works really well on several levels. First, it will reward a careful reading with a really good overview of blockchain technology, one that is technologically detailed, but reasonably accessible. Second, it identifies some of the issues around an educationally-relevant application area, the creation and maintenance of bibliographic records. And third, it presents a solution to some longstanding issues in digital metadata: centralization and a lack of traceability.
Web: [Direct Link] [This Post]We’re told that too much screen time hurts our kids. Where’s the evidence?
This is a good question: "in a world witnessing ecological destruction, political polarisation and growing social divides, should fears about technology really occupy the limited space in the forefront of our minds?" Even more, where is the evidence that screen time (a euphimism that conflates television with internet use) is actually harmful? "It’s probably best to retire the idea that the amount of time teens spend on social media is a meaningful metric influencing their wellbeing." Agreed.
Web: [Direct Link] [This Post]Librem 5 July Update
Hi Everyone! The Librem 5 team has been hard at work. and we want to update you all on our software progress. These last few weeks have been heavily focused on polishing the UI and bug fixes, in order to get ready for a string of journalist demos.
When we deliver the Librem 5, its software will focus on the most critical applications a phone needs: calls, messages, and web browsing. Some supporting projects will be delivered too, like GNOME Settings, the shell, and GNOME Initial Setup. So without further ado, let’s take a tour through the software we guarantee we’ll deliver, as well as some other applications that have seen some major changes.
Applications
Libhandy
We have made a few minor fixes to libhandy, like improving the homogeneity of the login screen buttons. And HdyHeaderBar now has a back button instead of its window decorations if it is placed inside a HdyDialog, to further enable adaptive dialogs.
Calls
We made some changes to calls’ UI, to display digits pressed during a phone call and use a libhandy widget to switch between recent calls and the dial pad. Also, messages (error or otherwise) are now displayed for only a short time. An ALSA use case-configuration was added for the devkit’s SGTL5000 sound card, which also keeps PulseAudio from setting the microphone to mute.

Messages
We have also made some minor feature additions to Chatty recently. A --safe-mode option has been added, so that if one of a user’s many accounts is failing, it becomes easier to find which one is at fault. If an account validation fails, there is now an account validation retry; and the about dialog is easier to close. When a new contact is added, the template is cleared of previous info, and the chat history list is now ordered so that the newest chat is at the top of the history. Message list height is now used to improve content placement, and the styling of the message bubbles has also been improved by tweaking the CSS.
We have addressed some severe issues as well: a buddy list-related crash, a history-related crash and a memory leak were fixed. Chatty now waits until the modem is ready, before the SMS account is active–and some remaining purple_log parsing functions were removed so as to fix a crash–thanks to Leland Carlyle for the patch!
SMS
Startup connection, reconnection and plugin state have been improved–and an auto-reconnect was added.

XMPP
Testing and integration of the Lurch plugin is completed, and it is even being built as a package!
GTK
GTK 3 is stable upstream, but we need to make some parts of it adaptive for the phone (e.g. the open file dialog), and so we will ship it with some downstream patches–but we are still interested in upstreaming the changes to GTK 3 (if there is interest), and aim to get them into GTK 4. These downstream changes have been added to our build jobs, so that it is shipped on the devkit image.
Our GTK 3 changes also include a lot of dialog work: the file chooser and about dialogs have been ported to the phone; the message dialog has also been ported to the phone, by making their buttons vertical. Also, transient windows and dialogs with a close-button will now have a back-button instead. Resizable windows (hence, most of them minus message dialogs) will be maximized to fill the screen.
Web Browsing
In general, we made a serious effort to overhaul the preferences windows. The history does not overflow the screen anymore, and all the data management dialogs have been overhauled to work better on the phone and look nicer in general (“history”, “cookies”, “passwords” and “personal data” dialogs). Web is now using a mobile user agent too, and most websites look better on the phone.
The tabs popover has been turned into a tabs page, taking the whole window, and it looks great. Plus, the tabs icon has been replaced by a new icon, showing the number of tabs you have open. Thanks so much to Christopher Davis and Alexander Mikhaylenko for these additions!
We are also building WebKit now, to provide rapid scrolling.

Initial Setup
GNOME initial setup has mostly been ported to the Librem 5!
Contacts
We are working hard to port GNOME Contacts to the Librem 5. One of the issues we tackled was fixing the birthday picker and making it adaptive–and one other awesome change was improving the UX/UI for unlinking contacts.

Clocks
We all know that time is important and cannot be ignored… and that is why GNOME Clocks has been ported to the devkit!

Settings
We are currently working on porting GNOME Settings to the Librem 5, and so far, our effort has been mostly focused on the WWAN/Cellular panel (see the cellular panel design); users can now select Network Operator, either manually or automatic, set the allowed modem mode (like 2G only, 3G only, 3G and 4G, etc), and set/change/disable the PIN for their SIM card. The groundwork has also been laid for configuring the APN settings tied to the SIM card, by using mobile-broadband-provider-info and nm-applet APIs, so users can select a default APN via the dialog–and also save them to NetworkManager connections. Roaming can now be set/unset as well.

System
The latest images are now using a 5.2 kernel, have a new keyboard, lots of UI improvements, and more!
Keyboard
We are so happy to tell you about one of the major changes since the last blog post: we now have a new keyboard, squeekboard!

The keyboard now indicates when you’ve pressed a key–many thanks to Hysterical Raisins for helping us prune this issue!
Compositor + Shell
We have mentioned before that the compositor will be switched from rootston to a new phone compositor using the wlroots library (phoc), and now phoc is the default compositor. Phoc has seen some recent bug fixes, like regarding login integration and hiding the cursor when there is no external mouse connected. Touch events are now not lost when destroying a surface.
The look and feel of the shell is always improving, getting closer to what we are familiar with on smart phones–and there have been lots of changes in the shell! Phosh v0.0.3 has just been released, featuring so many of these cool changes!
We also made sure dialogs are now wrapped to better fit the narrow screen, there have been some spacing improvements, CSS changes to phosh (to bring the shell closer to matching the design), and improvements in the system modal dialogs. Many translations have been added and updated to phosh–thanks to the community for contributing them via zanata–and Libhandy is now built as a subproject of phosh, so thanks, Zander Brown, for the patch!
The lockscreen looks much more modern than it did a few weeks ago; we added the date, and fixed an issue regarding WiFi not showing on the lock screen all the time. To keep the lockscreen arrow animation from eating up too much battery, that arrow animation is stopped after 15 cycles. Also, the battery icon now indicates when the board is receiving power too–take a look at the new start screen below, as it now includes the weekday and date!

We have been making some changes to the overview too, to make sure the user is focused on the main applications. The system prompter LayerSurface has been made to behave more like regular GTK widgets.
And since wallpapers are important to most of us, there was a focus on the background: we added a PhoshBackgroundManager, and backgrounds have been re-enabled. The background is drawn at full resolution on HiDPI screens, too! Background zoom mode was implemented, background colors are now supported (besides wallpapers), and the background surface has been modified so that it’s not hidden behind a panel in order for a wallpaper to be centered.

A lot of work has gone into the app switcher too, which has been overhauled–thanks to Zander Brown for all of his work on this!

And if all this wasn’t enough, we have fixed a few bugs, such as a pesky pixel offset issue and that annoying flickering on boot that we reduced by changing the lockscreen background to black, since the shell’s background is black too (desktop background is configurable).
Kernel
Since we upstreamed the devkit’s device tree, the natural next step afterwards was to start on the Librem 5’s device tree–and the first cut of the phone device tree is available here. We also submitted the flash-kernel upstream; both cpufreq and cpuidle are working and there is a noticeable temperature (5-10°C) drop; and when it comes to the graphics stack, one more driver for the imx8MQ display-driver has been merged upstream–only two more to go! We also made some devkit LCD panel improvements, and version 12 of the Mixel MIPI DPHY driver has been accepted upstream!
Documentation
The guide on setting up WiFi has been improved by us, and we also provide more guidance on debugging compositor crashes and LCD problems now. Some other updates concern the information about simple I/O devices, some additional warnings about battery usage and screen area constraints. Core contributors are also likely to find the new documentation on our package building infrastructure helpful.
This is it for today–a big “Thanks!” to everyone who has helped review and merge changes into upstream projects: your time and contribution are much appreciated. Stay tuned for more exciting updates to come!
The post Librem 5 July Update appeared first on Purism.
Lenovo Yoga C930 :: Dieser PC wird zurückgesetzt

Ich tue mich echt schwer, meinen absoluten Favoriten zu benennen: Apple iPad Pro 12.9, Microsoft Surface Pro oder dieser Lenovo Yoga C930. Er hat den Editor-refuses-to-give-it-back Award sowas von verdient. Aber er muss Platz machen für neues. In jedem Fall eine ganz dicke Empfehlung für einen Alleskönner. Und nicht der letzte Lenovo in vowe's magic flying circus.
Things fall apart, the centre cannot hold
| mkalus shared this story . |
Really monstrous week, this one. Even by the usual standards, which are very poor indeed, it was acutely bad.
There came a point, around Thursday morning, when whichever way you looked you found behaviour which was so abysmal, so lacking in anything like basic moral or patriotic decency, that your instinct was to try and switch the country off-and-on again, in some desperate hope that we might reset to a better place. But there is no switch. There's no escape. We're stuck here. And only really serious drinking or political activism is going to change it.
It began, of course, with that diplomatic leak, detailing the entirely reasonable assessments from British ambassador Kim Darroch of Trump's White House. It went straight to Brexit-campaigning journalist Isabel Oakeshott, was then used to as a self-promotion campaign by Nigel Farage, and led to an outburst of the usual emotional inadequacy from the US president. So far, so normal. Everyone acting as they usually do. Britain, which offered Trump the full state honours a few weeks back, now blocked from high-level diplomatic contact with its supposed ally.
And then the story reached Boris Johnson. He was the new element. After all, he'll likely be prime minister before the end of the month. He was repeatedly asked if he would stand by the ambassador. And after a bit of babble praising Trump it was quite clear he would not. Darroch watched that performance and then handed in his resignation. He couldn't do the job without political support from Downing Street.
The American president had as good as fired the British ambassador. Johnson's campaign chair in Scotland, Ross Thompson, basically admitted it. "The game was up when the president of the United States himself, rightly or wrongly, said he could no longer work with the British ambassador," he said. "That's when that then undermines the national interest of having a relationship with the US."
If you watch the video closely, you can see his face stretch and strain as he says the words, as if some inner part of his personality, some last bastion of personal conscience, is fighting against the obscenities coming out of his mouth. But the resistance falters. Out the words come.
The executive summary is that Britain is no longer independently appointing its own ambassadorial staff. Will this apply to all countries? No, of course not. It will apply to the United States, a country we have been in a subservient position to since the end of the war and who we are now to be utterly controlled by. It is a grim foreshadowing of what will come if Brexit succeeds.
The natural human instinct is to ask: what can be done? Who can stop Johnson from turning the country into a vassal state? What can the opposition do to try and protect the core constitutional functions of Britain against the deranged form of Tory Trotskyism which has overtaken the governing party?
But things are, if anything, even worse over there. To observe Labour this week was to feel as if you had somehow dirtied yourself, like you'd stained your clothes just by reading about them. After you'd finished an article you'd stare down and be amazed by the fact you were still actually physically clean.
On Wednesday evening, Panorama broadcast an account of the party's anti-semitism problem. It showed several young party officials to be distressed, haunted, traumatised, driven to depression and even suicidal thoughts, by what they'd gone through. It showed a party high command which auto-defined anyone questioning their behaviour as a factional enemy - "Blairites", obviously, because that apparently is the worst thing in the world. It showed a party where anti-semitism had begun to run rampant.
The leadership singularly failed to put in place an effective disciplinary system for these issues, either because it did not understand them, or because it didn't care enough, or because some of the stain of those sentiments exists there as well. Pick one of those options. It has to be one of them.
The response of Labour, with grim inevitability, was to attack the programme before it had even aired, then paint the people speaking out as figures with axes to grind. It wouldn't put up anyone from the party to actually answer the charges, so instead the airwaves were full of its so-called 'media outriders' - journalists whose views happen to coincide with whatever is most useful for the party high command. The most godawful sight.
It is like gazing into a black hole. There's no point looking for light in it. It's just straight-up darkness and a sense of collapse so strong that even gravity can't escape.
The leadership claimed it was doing something about it, but you could see the lie even as it was uttered. Every effort it made was to cover it up, hide the stories, conceal the evidence and impune the reputations of those who dared to talk about it. This is why the problem exists and why it grows. Because Corbyn's Labour considers everyone who criticises it - whether a voter, a journalist, a member, or an official - to be an enemy by definition. There can be no legitimate criticism, so none of the criticism is ever treated as legitimate.
Even when you're used to bad weeks in politics, this really was a new kind of low. It's an arms race in reverse. Neither government nor opposition functions, so both parties have felt free to get completely lost in their own terrible derangement. If Labour was even vaguely competent, a Tory leadership would be wary of becoming fully-owned by a foreign power. If the Tories weren't dismantling the country, Labour might feel more compelled to sort itself out.
It's like the British constitution turned in on itself: a system of checks and balances obliterated in a mutual suicide pact.
Get a drink. Get several. If you've read even one news story this week, you thoroughly deserve it.
Ian Dunt is editor of Politics.co.uk and the author of Brexit: What The Hell Happens Now?
The opinions in Politics.co.uk's Comment and Analysis section are those of the author and are no reflection of the views of the website or its owners.
The Best USB Power Banks for Laptops
Working is hard, and when your laptop is close to dying, it’s even harder. Fortunately, a high-capacity power bank can save the day when you’re low on battery and outlets are out of reach. After eight hours of research and 11 hours of testing, we’ve determined that the ZMI PowerPack 20000 is the best power bank for laptops that charge via USB-C. It fully recharges most laptops at least once at top speed, yet it’s compact enough to carry in a backpack, a laptop bag, or even most purses. Plus, it doubles as a hub, adding ports to your laptop.
The History of the Future of the 'Learning Engineer'
A couple of years ago, MIT released a report titled “Online Education: A Catalyst for Higher Education Reforms.” Among its recommendations were to “support the expanding profession of the ‘learning engineer’” – a person who possesses “knowledge base in the learning sciences, familiarity with modern education technology, and an understanding of and practice with design principles,” but who also has a deep background in a specific academic discipline. The learning engineer would be a “new breed of professional.”
The report prompted a flurry of articles about the current breed, if you will, of professional – those whose job titles include “instructional designer” and “instructional technologist” and whose degrees are in “education technology,” “curriculum and instruction,” and the like. Was “learning engineer” simply a rebranding? A way to rename one’s profession into power and prestige by associating it with the broader field – the lucrative field – of engineering? Or by associating it with elite, engineering-oriented institutions like MIT, Stanford, and Carnegie Mellon?
The MIT report credited Herbert Simon with coining the phrase “learning engineer,” citing an excerpt from his 1967 article “The Job of a College President” which appeared in the American Council on Education’s The Educational Record.
The learning engineers would have several responsibilities. The most important is that, working in collaboration with members of the faculty whose interest they can excite, they design and redesign learning experiences in particular disciplines. […] In particular, concrete demonstrations of increased learning effectiveness, on however small a scale initially, will be the most powerful means of persuading a faculty that a professional approach to their students’ learning can be an exciting and challenging part of their lives.
Simon was not, as the title of his article might suggest, a college president; he was a professor at Carnegie Mellon. But “like most faculty members,” he wrote in its opening sentence, “I have a vast experience of offering advice to college presidents – advice usually unsolicited, and often unheeded.” The advice in the article centered on making the operation of colleges more “professional,” as Simon accused them of being run by amateurs – by administrators who knew nothing about management and by professors who knew nothing about teaching or learning. “There is no simple path that will take us immediately from the contemporary amateurism of the college to the professional design of learning environments and learning experiences,” Simon wrote. “There are some obvious first steps along the way. The most important step is to find a place on the campus for a team of of individuals who are professionals in the design of learning environments – learning engineers, if you will.” Learning engineers would, he hoped, transform higher education. “Perhaps the discipline-oriented professor will prove as obsolete as the horse and buggy,” he suggested, giving way to faculty members versed in learning processes and “learning machines.”
Simon would not have seen himself as a “discipline oriented professor.” He worked across (even founding) a number of departments at Carnegie Mellon, conducting research in economics, public administration, computer science, artificial intelligence, and cognitive psychology. The latter areas certainly informed his conception of the learning engineer. Simon rejected constructivism and behaviorism as simplistic and scientifically inaccurate. For a glimpse, perhaps, of what Simon saw the learning engineer as building, one might look at the “intelligent” drill-and-kill math software he helped develop, later spun out of the university and into the company Carnegie Learning.
I’ve never been convinced that cognitive-informed ed-tech was as big of a break from behaviorism as its proponents would have you believe. But that’s another story. Nevertheless, it should be no surprise that, despite being hailed as “first,” Herbert Simon was not the only person to have argued that education needed to be better engineered. If nothing else, “behavioral engineering” was precisely how B. F. Skinner described his whole damn project, teaching machines and otherwise.
What does it mean for the future of education technology to tell a story about its past that centers on Herbert Simon (and by extension, Carnegie Mellon, artificial intelligence, and cognitive psychology)?
The use of the word “engineering” with some sort of educational adjective has a long history, one that certainly predates the “cognitive turn” – which is about as much history as folks in ed-tech seem to want to learn. John Dewey wrote about “education as engineering” in 1922, for crying out loud, although in fairness, in his short essay on the subject, Dewey admitted that “there is at present no art of educational engineering.” “There will be will not be any such art until considerable progress has been made in creating new modes of education in the home and school,” Dewey argued, because one can’t actually have an art of engineering until after one has sufficiently experimented and built something. As such, demanding that new educational practices adhere to an orthodoxy of science – “premature science” – “does endless harm.”
Others throughout the twentieth century have been much more jubilant about engineering’s potential to reshape education.
In 1945, W. W. Charters, the head of the Bureau of Educational Research at Ohio State University, asked “Is There a Field of Educational Engineering?” Charters contended that curriculum design was a form of engineering, and he argued that the phrase “educational engineers” could describe those knowledgable about statistics, psychology, and administration who were engaged in scientific exploration and problem-solving. (Statistics, psychology, and human capital management are the disciplinary features of educational engineering – to Herbert Simon as well.)
In 1957, Simon Ramo (“the father of the intercontinental ballistic missile”) called for the transformation of school into “a center run by administrators and clerks,” with only a very small number of highly skilled and intelligent teachers. Technological advancements would bring about a new profession, Ramo argued, the “teaching engineer,” “concerned with the educational process and with the design of the machines.”
Henry A. Bern, a psychologist for the Office of Naval Research, wrote about educational engineers in 1967, the same year as Simon’s article was published, observing the emergence of “powerful combines of industrial and publishing giants” – General Electric, IBM, Xerox, RCA, Raytheon, Random House, and Litton Industries – working to design teaching materials and teaching machines. “Whatever questions may exist about the consequences of these transactions,” Bern wrote, “there is little question about one consequence – the infusion of an engineering orientation and of engineers themselves into vital operations of education.”
Engineering is a social production not merely a scientific or technological one. And educational engineering is not just a profession; it is an explicitly commercial endeavor. For engineers, as David Noble has pointed out, are not only “the foremost agents of modern technology,” but also “the agents of corporate capital.”
“Learning engineers,” largely untethered from history and purposefully severed from the kind of commitment to democratic practices urged by Dewey, are poised to be the agents of surveillance capital.
(Subscribe to HEWN where this essay first appeared.)
These Weeks in Firefox: Issue 61
Highlights
- OOP iframes somewhat work now on Nightly!
- For the super-brave, you can test it yourself by creating a boolean preference fission.autostart and setting it to true, and then restarting Firefox
- Please file bugs that you find against this metabug
- Expect general instability for the next little while
- Event Breakpoints enabled on Nightly, allowing you to break on specific event type (e.g. mouse click).
- Blocked resources are displayed in the Network panel (rendered in red and using new status label) (platform bug, DevTools meta)
- AVG blocked our access to logins.json and broke our password database for some of our users. We released an add–on, heartbeat message, and a SUMO article to help users recover from the data loss. Thanks to everyone who helped with this effort!
- The flow for publishing Gecko Profiler performance profiles is streamlined! In addition, the profiler now accepts gzipped profiles from Firefox, letting us send larger profile data from addon (it was a problem because of the IPC data limit)
Friends of the Firefox team
Resolved bugs (excluding employees)
Fixed more than one bug
- Bryan Kok [:transfusion]
- Chujun Lu
- Florens Verschelde :fvsch
- Heng Yeow (:tanhengyeow)
- janelledement
- jaril
- Karan Sapolia
- Kestrel
- Masatoshi Kimura [:emk]
- Michael Krasnov
- Miriam
- premk
- Thomas
- Tim Nguyen :ntim
New contributors (🌟 = first patch)
- 🌟 Armando Ferreira cleaned up some of our DevTools folders
- Miriam made it so that we use proper plural forms in the Debugger, and improved the contrast of the selected text in the Debugger when hitting a breakpoint or inspecting collections!
- 🌟 Bren Louis Surio helped us get rid of an obsolete Telemetry probe
- 🌟 Bryan Kok [:transfusion] made it so that the nascent “editor mode” for the DevTools Web Console causes commands to execute when pressing Ctrl/Cmd-Enter, and also made sure that we show the line number gutter in that mode.
- 🌟 Christoph Walcher made it so that we show download progress on macOS in the Finder!
- Chujun Lu made it so that conditional breakpoints in the DevTools debugger don’t automatically break on exceptions, made it that Logpoint errors actually get logged as errors instead of strings, and avoided a collision with one of our keyboard shortcuts in the debugger (Goto line is now Ctrl-G)
- 🌟 danielvictoriadbugzilla added some handy inline documentation to some of our Telemetry code
- 🌟 danner.simon made it so that the “Clear Downloads” button can be tabbed to in the Downloads Library viewer on non-macOS platforms
- 🌟 Dickson Tan fixed a focus glitch in the DevTools Web Console when using the NVDA screenreader tool
- 🌟 Francis Houle improved some of the built-in documentation for about:debugging
- Gautham Velchuru fixed a visibility problem in the Tracker Blocking panel when using High Contrast mode
- Herpiko Dwi Aguno fixed an issue where focus wouldn’t be given to the DevTools sometimes
- 🌟 hgallagher inserted some MPL2 license headers where they were missing in our Telemetry code
- 🌟 janelledement made it possible to save scripts from the Debugger source list context menu (that’s a 6 year old bug!), and fixed a glitch where the find highlighter in the Debugger would break-up token highlighting in strange ways
- joseph.a.jalbert fixed some interoperability problems with our WebExtension manifest.json parser
- 🌟 kelly.bell made it so that the Web Console filter buttons appear inline if the window is wide enough
- 🌟 Martin Matous added support for byExtensionId and byExtensionName to the Downloads WebExtension API
- Michael Krasnov modernized some of our tests to use a shared TestUtils.waitForCondition function, and similarly updated some of our WebExtension tests to use more modern testing idioms
- mihir17166 made it so that it’s possible to both copy and move a bookmark in the Bookmark Library after a search (that’s a 10 year old bug!)
- Myeongjun Go made it so that running an alert() inside of a WebExtension background script will no longer hang that add-on
- 🌟 premk fixed a misspelling in a preference, cleaned up some of our Search tests, added Firefox Sync information to about:support, and made it so that the Sponsored Stories preference is properly sync’d between devices
- 🌟 saijatin28 fixed a spacing issue in our DevTools UI when using an RTL build
- Thomas added more distinctive colours to our DevTools Layout Inspector tools, and added flexbox container and item information to the Inspector Picker
- Mohd Umar Alam [:umaralam48] cleaned up some of our browser CSS by referring to :root rather than the ID of the root node
- 🌟 J got rid of some dead CSS in our DevTools Inspector code
- 🌟 Ali Abdoli cleaned up some of our panel UI CSS by referring to :root rather than the ID of the root node
- 🌟 Yifei He fixed some padding in the new about:addons page
Project Updates
Developer Tools
Console
- Console responsive toolbar redesign
- New, better warning groups, as part of our “unclutter the Console panel” effort. Compare the amount of content in the following screenshots!
- “Export Console content to file” option available through the Console panel context menu.
Debugger
- Displaying extension name in the Sources panel (bug)
- Original Rust variables are shown. Thanks to Yury Delendik’s work on compiling dwarf metadata in sourcemaps and our existing map scopes functionality.
Inspector
- The node infobar, displayed at the top of the highlighted area, will now display whether the highlighted element is a flex or grid container or item (bug).
-
Bug 1464440 – [meta] subgrid support in grid inspector
Documentation
- DevTools documentation for 68 updated.
Fission
- Recent things that have been ported to be Fission-compatible:
- When Fission is enabled, PIDs for processes within a tab are now listed in the tab tooltip
- Similarly, you can get a subframe PID by opening the This Frame submenu on the iframe (it’s at the bottom)
- Heads up – nsIPrincipal’s are not automatically serialized between JS Window Actors. Filed this bug to get that fixed.
- In the meantime, best to use E10SUtils.(de)serializePrincipal
- Upcoming work for this quarter:
- Add some in-tree documentation for JS Window Actors and guides on how to port
- Port the following things:
- Command updating
- DateTimePicker
- Prompts
- Logins
- Audio and Video controls
- Find Bar
- Network error pages (stretch)
- WebNavigation (stretch)
Lint
- Prettier is landing soon
- The HTML plugin for ESLint is now enabled in the configuration by default. Sublime users may need to change settings.
- ESLint is now enabled to some level for almost all of mozilla-central
- There’s just three dom/ directories left (all WIP).
- For the directories we recently enabled ESLint, we enabled it but disabled the rules that were failing.
- We’ll have more mentored bugs to enable those rules once prettier has landed.
- ESLint 6 is likely to land soon after prettier. There’s better support for configurations which will help with auto-fixing across the entire tree, as well as a few new rules.
New Tab Page
- Consolidated multiple Bugzilla components to just “New Tab Page”
- Switched to 7 rows of Pocket articles and turning on by default for US in 69
- Restored Highlights under Pocket section for new layout
- Migrated new tab page content to fluent!
- Also migrating Home preferences and (old/control) about:welcome
Password Manager
- `origin` and `formActionOrigin` properties are now appropriately named in nsILoginInfo. Their old names are still supported for backwards compatibility.
- eTLD+1 matches for the same subdomain should appear before other subdomains
Performance
- Mandy removed a bunch of needless main-thread IO that we do on start-up when trying to access the profile directory by caching the nsIFile the first time we access it, and skipping needless Exists checks
- Gijs made it so that we collect HDD / SSD information via nsISystemInfo off of the main thread, which helps reduce the impact during start-up
- This gives us a nice platform with which to make nsISystemInfo much cheaper during start-up!
- Gijs noticed we weren’t doing PGO recording with e10s enabled, and not gathering information from the content processes. This has been fixed.
- Mandy has a patch up to reduce how much IO the crash reporter code does during start-up
- dthayer has a bunch of patches up for review to move omni.ja to lz4 compression which should be better both for disk and CPU
- Do you need to run some code before the first content process is created? There’s a new observer notification for that: ipc:first-content-process-created. This is much preferable to running any earlier, which might block first paint
- mconley working with plawless, Bas and dpalmiero to get frame recording tests infrastructure set up in a lab somewhere
Performance tools
- Added a context menu to the network panel.
- Sub category information in the sidebar
- Javascript only stacks now include more information about the things that are happening on C++ side.
- More markers have backtraces in the tooltip now.
Picture-in-Picture
- We’re all set to ride out (and hold) to Firefox 69 Beta and Developer Edition to get user feedback. Expect a Hacks blog post near the release!
- Fixed a bug where the toggle would periodically display for a split second while the video metadata was still being gathered, even if PiP was disabled
- Also fixed an issue where the indicator icon in the originating tab for a PiP video would make the tab too wide if pinned
- Fixed an issue where the toggle would appear on audio-only media
- The player window now defaults its initial position to the left bottom of the screen in RTL builds
- Upcoming
Search and Navigation
Search
- Refined the new search engines configuration model, see the new in-tree documentation, implementation ongoing
- Further improved search engines configuration reliability
- Work is ongoing on allowing a different search engine in private browsing mode
Quantum Bar
- On track to be released with Firefox 68, fixed a few regressions in these weeks
- Working on many experiments: at least 2 of them targeted to 69, 3 targeted at 70, more incoming
- Started working on a partial address bar UI refresh for Firefox 70 (internally known as the Mega Bar)
- Started working on legacy address bar code removal
Places
- Old bookmark annotation data and a few related APIs have been removed in Firefox 69 (1 year after the version that removed descriptions with a release note)
User Journey
- Created new “Messaging System” bugzilla component currently covering What’s New panel, Contextual Feature Recommendations, Onboarding / First Run, Snippets
- Adding Feature Callouts to toolbar and menu items as well as What’s New to highlight Firefox features and updates
- Turned on Trailhead “Join Firefox” about:welcome messaging with “Privacy” cards for all locales in 68+
Quick Hit: {waffle} 1.0 Font Awesome 5 Pictograms and More
The {waffle} package got some
this week and now has a substantially improved geom_waffle() along with a brand new sibling function geom_pictogram() which has all the powerful new features of geom_waffle() but lets you use Font Awesome 5 brand and solid glyphs to make isotype pictograms.
A major new feature is that stat_waffle() (which powers both geoms) has an option to auto-compute proportions so you can use a proper 10×10 grid to show parts of a whole without doing any extra work (works in facet contexts, too).
You can look at a preview of the vignettes below or bust the iframes to see waffles and pictograms in action.
Building Waffle Charts
Building Pictograms
FIN
You can get the updated {waffle} code at your preferred social coding service (See the list for {waffle} over at CINC.
It needs much tyre kicking, especially the pictogram geom. File issues/PRs wherever you’re comfortable.
Driver could face fine in cyclist's death for allegedly opening door into bike lane
| mkalus shared this story . |
A North Vancouver, B.C., man has been charged under the Motor Vehicle Act in connection with the death of a cyclist who was bumped under the wheels of a dump truck near Lonsdale Quay in January.
The cyclist, Mike McIntosh, had been riding west in the bike lane down Esplanade West around 1:45 p.m. PT when he became involved in a chain-reaction crash allegedly caused by a driver who opened the door of their parked vehicle into the bike lane.
McIntosh fell under a dump truck driving down the road and died at the scene.
Patrick Timothy Colwell, 59, has been charged with unsafely opening the door of a vehicle under the Motor Vehicle Act.
On Friday, RCMP confirmed the investigation has concluded and Mounties aren't pursuing criminal charges against Colwell.
The bike lane on Esplanade West in North Vancouver is set between parked cars and traffic.
"It was a Sunday afternoon, the weather was good, people were out and about ... but it's a high-density area and it's just so unfortunate somebody's life was taken because of this incident," RCMP Cpl. Richard De Jong said in January.
McIntosh had been a liaison librarian at Simon Fraser University's Belzberg Library for around 30 years. An obituary posted online by the university described him as "an avid cyclist and bicycle commuter" with "dry wit and unflappable nature."
Colwell's first court appearance is set to be in North Vancouver provincial court at 9:30 a.m. PT on July 24. The charge of unsafely opening the door of a vehicle carries a fine of $81.
What should I build Subtext 9 on?
This will still be just a research prototype of a programming language and environment, so I don’t care about deployment issues. Want to have:
- Discriminated unions and pattern matching
- IDE with debugging
- Rich GUI framework with functional style (Elm/React)
- Healthy ecosystem
Options:
- Elm — nice and simple, but better suited to apps than an entire language environment. I really need mutation. Bit of a walled garden. Needs a real debugger (yes reproducibility improves printf debugging but it’s still just printf).
- Dart/Flutter — could work. Refreshing simplicity compare to the chaos of web programming. Flutter is very appealing. But I’ve used Dart before. It is an old-fashioned OO language and I’ve gotten tired of that. Wake up and smell the pattern matching! Working in Dart felt like living in a remote province.
- F#/Fable/React — nice, but a big language, with a lot of .NET baggage. Initial experiments ran into difficulties with the .NET tooling.
- ReasonML/Bucklescript/OCaml/React — technically powerful, but no one seems to be in charge and it’s a big hot mess. Bucklescript is one guy in China. No source level debugger.
- Swift/SwiftUI — very enticing: a modern language with a modern UI from people who really know their UI. Stealing the best parts of Flutter. Full tech stack fully documented and supported from one company with unbounded resources. Sadly, SwiftUI looks to be just too new. Still very mobile-centric. There isn’t even a table layout.
- Rust/? — Rust looks a bit scary, but some people I respect love it. There is no good GUI story yet. In a couple of years I expect there will be a SwiftUI clone, compiling to WASM and native. Could be my future production platform.
- TypeScript/React — utterly mainstream, and I already know it. Has a weak form of discriminated unions. Good enough.
Tel Aviv – 2: The White City and the West End
Imagine if the West End had never been zoned for highrises. Imagine, instead, if through the 1940s and ’50s, we rebuilt the square mile west of Burrard with apartment buildings like this:

So from the 1940s on, it would continue to look like this:

And eventually, with replacement of the original houses by three- to five-storey apartment blocks on small lots, look like this:

That’s the White City of Tel Aviv – after the great expansion of the city to the north based on the 1925 Geddes Plan. (For the UNESCO description of the Geddes Plan, go here. For insight on its architecture, go here.) In a couple of decades, TLV built over four thousand International or ‘Bauhaus’ style apartment blocks in an area somewhat the same as the West End: dense and mixed use, as well as walkable, well-located and with even better beaches.
Whether West End walk-up or Tel Aviv flat, its urbanism reflects a global style after the Second World War at a time of intense housing demand: simple boxes, clean lines, cheap to construct, maximized density, and, without elevators, no more than five storeys.
Here’s a mix of West End and TLV apartment blocks:






The West End’s commercial streets (Robson, Davie, Denman) were laid out with the same 66-foot right-of-way as all its residential streets – but after the arrival of the streetcar, were lined with one or two-storey commercial frontages. The White City’s arterial streets are wider but built out with the same style apartments as its residential streets.

This is what many urbanists like Patrick Condon call for along all our arterials: mid-rise rather than highrise buildings. It is what TLV did from the beginning of its urban expansion.

Today, by the way, the West End appears to be about double the population density of the White City.
Apple pushes update to fix hidden Zoom vulnerability on Macs

Apple has released an update that removes a vulnerable server in Zoom that potentially gave hackers the ability to automatically add a user to a call without permission.
Zoom, the video conferencing app, had the server downloaded on Macs when users initially installed the app. Apple told TechCrunch that the update removes the hidden server from Macs, and that it is deployed automatically.
The vulnerability was exposed on July 8th, following a Medium post from security researcher, Jonathan Leitschuh. “This vulnerability allows any website to forcibly join a user to a Zoom call, with their video camera activated, without the user’s permission,” Leitschuh wrote.
The vulnerable server would still remain installed on a Mac even after a user uninstalled Zoom. Leitschuh said this meant that Zoom could reinstall the app without requiring any permission from the user.
Further, instead of opening automatically, the Zoom app will now ask users if they want to open it.
Zoom released an updated app on July 10th, but Apple says that its update is enough to protect users from previous or current issues from the server.
Source: TechCrunch
The post Apple pushes update to fix hidden Zoom vulnerability on Macs appeared first on MobileSyrup.
Firefox update brings better dark mode, safer extensions to desktop users

The latest version of Firefox is rolling out to desktop (version 68) and iOS (version 18.1) after hitting Android earlier this month.
It’s a relatively small update on both ends, with the desktop getting some dark mode improvements, better extension security and more. iOS, on the other hand, received some user-requested features. Both versions also received several under-the-hood fixes and improvements.
On the desktop side, Firefox’s Reader View now features a more immersive dark mode. Previously, when users switched from light to dark, only the text area changed. In Firefox 68, the dark mode spreads to all sections of the website, including sidebars and toolbars.
The other significant change in Firefox 68 has to do with extensions. For one, Mozilla now curates a list of recommended extensions, which it thoroughly reviews based on security, usability and usefulness. You can find these curated extensions on the ‘Get Add-ons’ page in Firefox’s Add-ons Manager (available by typing ‘about:addons’ into the address bar).
The second part is that Mozilla has made it easier to report harmful extensions, which users can now do directly through the Add-on Manager. Mozilla hopes this will help make the extensions ecosystem safer.
Additionally, Firefox 68 brings crypto mining and fingerprinting protections to the ‘strict’ content blocking setting. Firefox’s WebRender feature is also rolling out to Windows 10 users with AMD graphics cards. Finally, Firefox 68 introduces support for Windows Background Intelligent Transfer Service (BITS), which means Firefox can download updates even when the application is closed.
On the iOS side, Mozilla added some user-requested features, such as the ability to edit bookmarks so users can reorder, rename or update the URL for bookmarks. There’s also now an option for users to set specific sites open using the desktop version instead of the mobile version.
To update, head over to the App Store on iOS or, if you’re on desktop, click the menu button in the top right corner, then click ‘Help’ and ‘About Firefox’ to start the update.
Source: Mozilla
The post Firefox update brings better dark mode, safer extensions to desktop users appeared first on MobileSyrup.
EventBridge
The launch of Amazon EventBridge, a somewhat but not entirely new thing, has been well-covered by Jeff Barr; if you want to know what it is, go read Jeff. This piece is to provide a bit of background and context on EventBridge. I didn’t actually make any direct contributions, but was upstream from this work at the definition and early-planning stage.
CloudWatch what?
My first work at AWS was on the project that launched in January 2016 as CloudWatch Events. To us it felt like a small, simple, service — write rules to route notifications of things happening out there in AWS to Lambdas or other useful destinations. It wasn’t a big team or a big task and, when it came time to name it and find it a home, it was hard to believe it deserved top-level service billing.
Coming soon to a laptop near you. Warning: Prepared by engineers without involvement by marketing professionals or lawyers; let’s hope they’re OK.
Since CloudWatch already offered alarming and logging, eventing seemed like a nice third leg of the tripod, so our work launched as a tab on the CloudWatch page, and we thought that was OK.
Customers apparently liked it, and over the years, CloudWatch Events accumulated a mind-boggling number of users and a lot of the things they were doing weren’t really CloudWatch-y at all. Also, the whole Event-Driven Architectures drumbeat kept growing louder and louder out there in the community.
Last year, we got the idea of helping third parties (mostly SaaS vendors) integrate with their customers on AWS, and quickly became convinced that eventing was the right way to do this — while I’m a fan of the Webhook concept, the reality has not been a smooth ride. Once we’d made that call, enhancing the CloudWatch Events APIs to meet partner needs was pretty straightforward once we’d thought through the security dimensions. Except for, this was getting waaaay outside CloudWatch territory.
Which Bridge?
So, we decided that this service deserved top-level billing and went looking for a new name. The best possible answer would be “AWS Events”, right? Wrong. Go look at aws.amazon.com/events and hey, re:Invent, re:Inforce, AWS Summits… you get the picture. Thus EventBridge, which isn’t terrible.
(By the way, all your CloudWatch Events stuff still works and none of the existing API names or semantics have changed.)
The Event Ecosystem
It’s getting pretty big. Inside AWS, Lambda and SNS are event-centric. If you check out our competitors, you’ll notice more services with “Event” in their names every year. The numbers of events flowing through our various accumulated event streams has a lot of digits.
I’m personally pretty convinced that, while you can hook everything together with APIs, there are a whole lot of scenarios where choosing events buys you so much robustness and flexibility that it’s really hard not to. Is it perfect? Of course not: There are lots of places where the API ecosystem is slicker.
If you want to a really good explanation of why event-driven stuff might be in your future, the AWS NYC Summit talk by Mike Deck has what you need. As I write this the day of the summit, it doesn’t seem to be online but I’ll refresh once it gets there; and I bet Mike will reprise at future AWS, uh, events.
There’ll be lots more chapters in this story.
















