Shared posts

21 Nov 04:30

X marks a spot you've probably not heard of

by russell davies

As Gen X starts to become invisible, caught between boomers and everyone else, I liked this analysis from W David Marx:

"In other words, Generation "X" wasn’t simply describing a birth cohort but a broader movement in American society to redefine cultural capital from high-society manners and high art to a more inclusive, ever-curious collection of intellectual and quasi-intellectual ideas. (A classic example of Generation X values is the guy in Slacker who believes The Smurfs was meant to prepare children for "when Krishna comes about.") This Gen X focus on cultural distinction is why Fussell calls it a “parody aristocracy,” because until that point, such emphasis on bold lifestyle differences had been the exclusive privilege of the upper classes. And this focus on cultural capital also explains why the ‘90s became such a fecund cultural decade: Individuals who believe in the superiority of crate-digging — i.e. the intense search for deep cultural knowledge — end up breaking established artistic conventions rather than replicating them.

Of course, Gen Y would end up rebelling against these “aristocratic” values. There was an immediate backlash in the early 2000s against the pretensions of indie culture. Big Pop was back. As such, Millennials aren’t a “parody aristocracy” as much as a “parody bourgeoisie”: at least in the stereotype, they're striving towards high social rank through performative hard work that will inevitably lead up to unbridled entrepreneurial successes."

Also the subsequent move back to a different form of obscurantism.

21 Nov 04:29

Eritrean Anthology

by russell davies

21 Nov 04:28

17oct2022

by Leah Neukirchen

Discovering novel algorithms with AlphaTensor, doing matrix multiplications with fewer operations.

Staged Compilation with Two-Level Type Theory (PDF), by András Kovács at ICFP 2022.

Ox64 is a RISC-V based Single Board Computer powered by Bouffalo Lab BL808 C906 64-Bit RISC-V CPU, 32-Bit CPU, embedded 64MB PSRAM memory and build-on 3 radio RF (Wifi, BT, Zigbee). To appear in November.

Get root on macOS 12.3.1: proof-of-concepts for Linus Henze’s CoreTrust and DriverKit bugs (CVE-2022-26766, CVE-2022-26763), “For years, macOS allowed any root certicate when checking code signatures, making code signing completely useless.”

Selected Papers of Dana S. Scott

Pan Galactic Division, by Richard Evan Schwartz. “Let A and B be sets. Suppose there is an injective map from A x {0,…,n-1} into B x {0,…,n-1}. Then there is an injection from A into B.”

On proof and progress in mathematics (1994), by William P. Thurston.

Der Dornier DO-960 Analogrechner

21 Nov 02:53

Android App : Incoming SMS Forwarder to Web

by Thejesh GN

I always wanted a simple App that would read the SMS and push it to a web endpoint (also called webhook) sometimes. I wanted such an app to easily back up and process the SMSes in real-time and on the web. For example, I could forward it to ntfy topic to share the messages with other machines or run a bunch of regexes to extract the information, log them to DB, etc. Once you have it on your server, the sky is the limit.

I have been searching for Android app to do such a thing for a long time. At last, I found SMS to URL Forwarder on F-Droid. It's a FOSS application available only on F-Droid and works like a charm. It falls into my category of Apps with webhooks for cloud support. 

It's a simple app, you set up all the SMSes to go to a specific web endpoint, or you can filter it by number. It expects 200 as the response code and retries up to ten times. The data it POSTs is a very simple JSON to your webhook

{"from":"1234567890","text":"sms test"}

It sets the headers as 

HTTP method: POST
Content-type: application/json; charset=utf-8
User-agent: SMS Forwarder App

There is no other security mechanism. You can include the URL parameters if you want to validate something Or create a long, unique, hard-to-guess endpoint, especially if you plan to do anything significant. 

Setup screens - Credit F-Droid App Page.

I use it on a Lineage OS phone, pushing the message to my local network, accessible on Wifi. It's been running for months now with no issues. Go to author's blog post if you want to know more. 

Note:

  • There seems to be another app aptly named "SMS Hooks." SMS Hooks is an app that listens for incoming SMS messages and sends a POST request to your webhook URL containing the SMS details. It's available only as an apk on Github. I have not tried it
  • If you have a set of regexes to process the SMSes and don't mind sharing it, please do. I will publish mine soon.

You can read this blog using RSS Feed. But if you are the person who loves getting emails, then you can join my readers by signing up.

Email Address

Subscribe

Join 2,165 other subscribers
The post Android App : Incoming SMS Forwarder to Web first appeared on Thejesh GN.
21 Nov 02:43

I don't usually wear a bike helmet. Does that make me an idiot?

by Michael Kalus
This is the video I didn't want to make. For a long time, I've chosen not to wear a bike helmet on my daily bike commute because I didn't feel I needed one. But people ask me about it so often that I started to doubt myself. So I decided to take a deep dive into that decision. And to do so, I enlisted some help to explore the big questions around bike safety and helmets.
This is our conversation. Big thanks to Cailynn Klingbeil for exploring this issue with me. You can find her on Twitter at https://twitter.com/cailynnk
21 Nov 02:42

The Accidental Taxonomist, Third Edition

by Heather Hedden

The third edition of my book, The Accidental Taxonomist, will officially be published November 7, and I just received  advance printed copies, so now is a good time to talk about. Details of the book are on its website. For those who wonder how this edition differs from the prior edition, I discuss that in the preface of the 3rd edition, which I have copied here.

****

I am thrilled that taxonomies are as relevant now as they were when I was writing my first edition in 2009 and second edition in 2015 and even more so. Some people had previously thought that improved search algorithms would largely replace the need for taxonomies, but users want to be able to select search refinement terms, and the greater adoption of search has led to more taxonomies. Some thought that AI technologies of text analytics and auto-classification might replace human-created taxonomies, but, on the contrary, they made taxonomies more valuable. Some thought that ontologies would replace taxonomies, but instead ontologies have connected and extended taxonomies, providing additional uses for taxonomies. Innovations and trends in digital content and data have given rise to new uses for taxonomies, including support for recommendation, personalization, data-centric enterprise knowledge management, voice of the customer analysis, and chatbot design.

There are signs of interest in taxonomies in various places: social media posts, conference presentations and workshops in a greater number of different conferences, and a continued strong enrollment trends in my online taxonomy course. Taxonomy consultants I know are doing well with business. A search on “taxonomy” in Google Trends shows a continued steady interest in the term since around 2006. Members of the Taxonomy and Ontology Community of Practice LinkedIn group has grown from 3,330 in 2015 to 5,564 in June 2022. More people continually get involved in taxonomy work, as our survey of taxonomists indicates relatively more people with fewer years of experience. (See Appendix A, Question 2.) The number of jobs for taxonomists continues to increase, as evidenced by repeated taxonomy job searches over the years on job boards, job alert postings, and direct queries colleagues of mine have reported receiving from recruiters. The trend toward remote work, especially for knowledge workers, has opened up more job possibilities for taxonomists, who are no longer limited by their geographic location, which had previously been an issue for this very niche specialization. We may soon see more digital nomad taxonomists living and working all over the world.

Meanwhile, as I have continued to engage in taxonomist discourse, consulted for more taxonomy clients, and attended and created new conference presentations, I have continued to learn more and thus refine how I understand and explain taxonomies. It is time that this book also catches up to how I have been explaining taxonomies in my most recent presentations and workshops. I have even revised my thinking on the definitions and types of controlled vocabularies, so the definitions and types section of chapter 1 has been rewritten in this edition. Also in the first chapter, additional uses for taxonomies have been included.

In addition, perspectives on taxonomies have gradually changed, and I am finally catching up. One of the main updates to this third edition has been to move decisively from the traditional thesaurus model and adoption of the language of the SKOS (Simple Knowledge Organization System) with respect to taxonomies. Most significantly this means referring to concepts and their labels and not to terms. An oft repeated phrase is that it’s about “things, not strings.” Concepts are things, whereas terms, as words or phrases, are merely strings (of text). This has also involved removing the equivalence relationship section from the chapter on relationships and adding a section on alternative labels to the chapter Creating Concepts and Labels (which has been renamed from Creating Terms).

When I updated the 2nd edition, I was working at the time for a library database vendor, so my perspective was somewhat biased toward that industry and use case, despite having had experience has a consultant too. Now, with not only more consulting experience in the interim, but from the perspective of working for a taxonomy software vendor, I see better the varied uses and implementations of taxonomies. As a result, I have changed number of the examples. I also made updates to the chapter on manual tagging (formerly called human indexing) and replaced many references to “indexing” with “tagging,” in recognition of the more commonly used term, although they are not identical. I had entered this field as an indexer, but I should no longer let my indexing roots influence my perspective. I also cut out some information on thesauri, such as details of the various thesaurus print display formats.

This edition features a new chapter on ontologies. This is not merely because ontologies may be of interest to taxonomists, but because ontologies in business and industry are increasingly created as an extension of existing taxonomies thus enabling taxonomies to serve more purposes. A convergence of taxonomies and ontologies is now possible with SKOS-based taxonomies, whereby both taxonomies and ontologies are based on RDF and other W3C standards. I am also seeing more taxonomist/ontologist hybrid jobs posted.

Technologies and vendors change, so the chapters on software and auto-categorization needed updating. There have been evolving trends in software, such as the ability to connect and integrate with other systems through APIs, instead of exporting and importing taxonomies, and including auto-tagging within the same tool. Other updates include data from a new survey, nearly all new screenshots, and updated information on taxonomy courses, conferences, and other resources in the final chapter. About half of the chapter head quotes are also new.

In case you missed it in the preface to the second edition, the updates from the first to the second edition (and thus also updates between the first and the third edition) include the following: managing taxonomies in SharePoint, the relationship between taxonomies and metadata, reference to updated ISO standards of 25964 of 2011 and 2013, the introduction of the SKOS standard, and improved explanations on planning and designing taxonomies, along with results of a new taxonomist survey and software information updates.

21 Nov 02:40

Microsoft Full Circle

by Ben Thompson

In last week’s interview with Stratechery, Microsoft CEO Satya Nadella explained why the company was open to partnering with Meta for VR:

The way I come at it, Ben, is that I like to separate out, “What is the system, what are the apps”? Of course, we want to bring the two things together where we can create magic, but at the same time, I also want our application experiences in particular to be available on all platforms, that’s very central to how our strategy is.

For example, when I think about the Metaverse, the first thing I think about is it’s not going to be born in isolation from everything else that’s in our lives, which is you’re going to have a Mac or a Windows PC, you’re going to have an iOS or an Android phone, and maybe you’ll have a headset. So if that is your life, how do we bring, especially Microsoft 365, all of the relationships that are set up, the work artifacts I’ve set up all to life in that ecosystem of devices? That’s at least how I come to it and that’s where when Mark started talking to us about his next generation stuff around Quest was pretty exciting, so it made a lot of sense for us to bring — whether it’s Teams with its immersive meetings experience to Quest or whether it’s even Windows 365 streaming, and then, of course, all our management and security and even Xbox — [to Quest]; that’s what is the motivation behind it.

This seems obvious today in 2022, but it was a fairly radical point of view when Nadella took over Microsoft in 2014. Nadella’s first event in April 2014 centered on the announcement of Microsoft’s iconic Office Suite on Apple’s iPad; the apps had been developed under former CEO Steve Ballmer, but had been withheld from launch until the company had touch-centric versions ready for Windows-based touch devices. From the beginning of Stratechery I was adamant that this was a major mistake driven by Microsoft’s inability to imagine a future without Windows at the center; from 2013’s Services, Not Devices:

The truth is that Microsoft is wrapping itself around an axle of its own creation. The solution to the secular collapse of the PC market is not to seek to prop up Windows and force an integrated solution that no one is asking for; rather, the goal should be the exact opposite. Maximum effort should be focused on making Office, Server, and all the other products less subservient to Windows and more in line with consumer needs and the reality of computing in 2013.

A drawing of The Horizontal Layer of Services

The trouble for Microsoft in the devices layer is that they only know horizontal domination. When there was nothing but PC’s, the insistence on one experience no matter the hardware worked perfectly. However, a Dell and an HP are much more similar than a tablet and a web page, for example, each of which has its own input method, user expectations, and constraints. A multi-device world demands bespoke experiences, not one size fits all. Microsoft simply doesn’t seem to understand that, and the longer they seek to “horizontalize” devices the greater the write-offs will become.

However, look again at that picture: there remains a horizontal layer — services — and it’s there that Microsoft should focus its energy. For Office and Server specifically:

  • Documents remain essential and ubiquitous to all of the world outside of Silicon Valley; an independent Office division should be delivering bespoke experiences on every meaningful platform. Office 365 is a great start that would be even better with a version for iPad.
  • A great many apps are simply front-ends for web-based services; an independent Server division should be delivering best-in-class interfaces and tools for app developers on every meaningful platform.

[…]“Devices and services” is only half right; unfortunately Ballmer picked the wrong half.

This is why it was so important that Office for iPad was Nadella’s first major announcement; I wrote after the event in When CEOs Matter:

This is the power CEOs have. They cannot do all the work, and they cannot impact industry trends beyond their control. But they can choose whether or not to accept reality, and in so doing, impact the worldview of all those they lead.

Four years later Nadella’s reworking of the culture was all but complete, as I wrote in The End of Windows:

The story of Windows’ decline is relatively straightforward and a classic case of disruption…What is more interesting, though, is the story of Windows’ decline in Redmond, culminating with last week’s reorganization that, for the first time since 1980, left the company without a division devoted to personal computer operating systems (Windows was split, with the core engineering group placed under Azure, and the rest of the organization effectively under Office 365; there will still be Windows releases, but it is no longer a standalone business).

This new reality couldn’t have been clearer at last week’s Microsoft Inspire worldwide partner conference: Nadella’s keynote was all about the cloud, from Azure to Teams; Windows was demoted to one section of the company’s Surface announcements held as a precursor to the main event.

Do More With Less

This is how Nadella opened his keynote:

We’re going through a period of historic economic, societal, and technological change. But for all the uncertainty we continue to see in the world, one thing is clear: organizations in every industry are turning to you and your digital capability to help them do more with less, so that they can navigate this change and emerge stronger. You are the change agents who make doing more with less possible. Less time, less cost, less complexity, with more innovation, more agility, and more resilience. Doing more with less doesn’t mean working harder or longer — it’s not going to scale — it means applying technology to amplify what you can do and ultimately what an organization can achieve amidst today’s constraints.

Over the past few years, we have talked extensively about digital transformation. But today we need to deliver on the digital imperative for every organization. It all comes down to how we can help you do this with the Microsoft cloud. No other cloud offers the best of category products, and the best of suite solutions, and that’s what we’ll focus on at Ignite this week as we walk through the five key imperatives.

This “do more with less” message recurred throughout Nadella’s presentation. Three separate times Nadella emphasized how much customers would save by going with a Microsoft bundle, but that was only the “with less” part of the message; each pitch also explained why the Microsoft approach was also better (i.e. “do more”). Start with security:

Protecting is complex and get expensive. Every organization experiences this with so many different devices, connections to partners, and an ever shifting cloud resource deployment. The more agile you become, the more your security team struggles to manage the risk; the more connected we become, the faster a successful attacker can move laterally through the enterprise to their target. For far too long customer have been forced to adopt multiple disconnected solutions from disparate sources that don’t integrate well and leave gaps. We offer a better option: a natively integrated security solution that is supported by a vibrant partner ecosystem…you get a comprehensive solution that closes gaps and works for you at machine speed. On average, customers save more than 60% when they turn to use compared to a multi-vendor solution.

Nadella’s argument: not only can you save money, but because all of the products come from one vendor you can rest assured that they are comprehensive and are designed to work together.

Now let’s turn to data: with our Microsoft Intelligent Data Platform we provide a complete data fabric, from the operational stores to the analytics engines to data governance so that you can spend more time creating value and less time integrating and managing your data estate. Our goal is to provide you with the most comprehensive end-to-end data platforms so you don’t have to wrestle with the complexities of building and operating cloud scale data infrastructure yourself. Analytics alone on our data intelligence platform cost up to 59% less than any other cloud analytics out there.

That bit about “spend more time creating value and less time integrating and managing” is the part of Microsoft’s value proposition that Silicon Valley startups so frequently miss. Slack, perhaps most famously, was so certain its superior chat experience would beat out Teams (and it is superior), that company CEO Stewart Butterfield took out an ad in the New York Times welcoming Microsoft to the space; four years later, after Teams had over six times the daily active users (and before Slack was acquired by Salesforce), I explained in Teams OS and the Slack Social Network what Butterfield got wrong:

This is what Slack — and Silicon Valley, generally — failed to understand about Microsoft’s competitive advantage: the company doesn’t win just because it bundles, or because it has a superior ground game. By virtue of doing everything, even if mediocrely, the company is providing a whole that is greater than the sum of its parts, particularly for the non-tech workers that are in fact most of the market. Slack may have infused its chat client with love, but chatting is a means to an end, and Microsoft often seems like the only enterprise company that understands that.

That end is, to use Nadella’s words, “creating value”; “integrating and managing” is exactly what companies want to avoid.

With Microsoft 365 we provide a complete cloud-first experience that makes work better for today’s digitally connected and distributed workforce. Customers can save more than 60% compared to a patchwork of solutions. Microsoft 365 includes Teams plus the apps you always relied on — Word, Excel, Powerpoint, and Outlook — as well as new applications for creation and expression like Loop, Clipchamp, Stream, and Designer, and it’s all built on the Microsoft graph, which makes available to you the information about people, their relationships, all their work artifacts, meetings, events, documents, in one interconnected system. Thanks to the graph you can understand how work is changing and how your digitally distributed workforce is working. This is so critical, and it all comes alive in the new Microsoft 365 application.

Ah, there are the Office applications I referenced at the beginning. But notice the word that is missing: Office.

From Office to Microsoft

From The Verge:

Microsoft is making a major change to its Microsoft Office branding. After more than 30 years, Microsoft Office is being renamed “Microsoft 365” to mark the software giant’s collection of growing productivity apps. While Office apps like Excel, Outlook, Word, and PowerPoint aren’t going away, Microsoft will now mostly refer to these apps as part of Microsoft 365 instead of Microsoft Office.

Microsoft has been pushing this new branding for years, after renaming Office 365 subscriptions to Microsoft 365 two years ago, but the changes go far deeper now. “In the coming months, Office.com, the Office mobile app, and the Office app for Windows will become the Microsoft 365 app, with a new icon, a new look, and even more features,” explains a FAQ from Microsoft. That means if you use any of the dedicated Office apps, they’ll all be branded with Microsoft 365 soon, and with a new logo. The first logo and design changes will appear at Office.com in November, followed by the Office app on Windows, iOS, and Android all getting rebranded in January.

I’ll be honest: as an increasingly old man in technology the end of the “Office” name kind of bums me out. My nostalgia is satisfied, though, by a Microsoft that has truly come full circle.

The truth about Microsoft is that while Windows’ relationship with hardware has traditionally been modular (the Surface line notwithstanding), the company’s strategy has always been about integration and bundling. This is why Ballmer was so hesitant to give up on Windows as the center of the company’s go-to-market: sure, people wanted the Office applications on different devices, but it was Windows that tied Office to Outlook to Exchange to Active Directory to Windows Server and on down the line. This, by extension, is why Nadella’s willingness to embrace reality was a risk: Office on its own was a nice business, but it wasn’t the center of enterprise like Windows had been.

It turned out, though, that facing reality brought another benefit: the ability to see and grasp an opportunity when it appeared. Teams, which started development in 2015, a year after Nadella’s announcement, wouldn’t simply be a chat app: it would be the new hub around which Office orbited. Teams (and Outlook) development leader Brian MacDonald said at a press event in 2019:

One of the really key things and drivers of what we wanted to do with Teams was have that be a hub for Office 365. Before what we had done was just taken all those personal productivity workloads and then moved them to the cloud, but we wanted something that was purpose-built for the cloud that could be a hub across all of Office and frankly across the rest of what we’re doing at Microsoft. A lot of the Power BI, Power Apps, and Dynamics tools that James was building, but also third party. So we built a platform for that and the third-party platform and the first-party platform are actually the same.

If that sounds a lot like Windows — a hub that hosted not just Office, but other Microsoft applications and services, and a platform for 3rd-party developers — Nadella agrees with you. From the same event:

Sometimes I think the new OS is not going to start from the hardware, because the classic OS definition, that Tanenbaum, one of the guys who wrote the book on Operating Systems that I read when I went to school was: “It does two things, it abstracts hardware, and it creates an app model”. Right now the abstraction of hardware has to start by abstracting all of the hardware in your life, so the notion that this is one device is interesting and important, it doesn’t mean the kernel that boots your device just goes away, it still exists, but the point of real relevance I think in our lives is “hey, what’s that abstraction of all the hardware in my life that I use?” – some of it is shared, some of it is personal. And then, what’s the app model for it? How do I write an experience that transcends all of that hardware? And that’s really what our pursuit of Microsoft 365 is all about.

Office being on its own gave Teams an easy go-to-market: Microsoft just bundled it in. Today, though, it is Teams and everything built on that scaffolding that is Microsoft’s new Windows. It is the company and its operating system, not its apps, that are back at the center. In this sense, renaming Office 365 to Microsoft 365 is the most natural thing in the world: Office was a ship that set sail from the declining civilization that was Windows, with an uncertain destination. Today, though, that ship is but a footnote in Microsoft’s new empire in the cloud.

Moreover, it seems likely this empire will be more durable than the old Microsoft republic: the entire reason why Windows faltered as a strategic linchpin is that it was tied to a device — the PC — that was disrupted by a paradigm shift in hardware. Microsoft 365, on the other hand, is attached to the customer. Nadella again:

What we are trying to do [with Microsoft 365] is bring home that notion that it’s about the user, the user is going to have relationships with other users and other people, they’re going to have a bunch of artifacts, their schedules, their projects, their documents, many other things, their to-do’s, and they are going to use a variety of different devices.

This is why Microsoft, instead of being late to the iPad, is remarkably early to VR. Why not? Devices are but mere conduits to the cloud, which means that Microsoft is well-placed to navigate this new paradigm if it becomes a major platform — and to not miss a beat if it is not.1 In other words, to say that Microsoft has come full circle may be selling Nadella’s transformation short: the all-encompassing dominant Microsoft of old may be back, but in a version that is even stronger and more resilient than before.


  1. This also, it must be said, casts doubt on Meta’s determination to go in the opposite direction, and give up its position as a user-centric service to be a hardware-dependent platform 

21 Nov 02:39

Windows Terminal is now the Default in Windows 11

by Kayla Cinnamon

The day has finally come! Windows Terminal is now the default command line experience on Windows 11 22H2! 🎉 This means that all command line applications will now automatically open in Windows Terminal. This blog post will go into how this setting is enabled, the journey of Windows Terminal along with its fan-favorite features, as well as give a huge thank you to our contributors who have helped throughout Terminal’s journey.

❗In order for this behavior to take effect, you’ll need to be running Windows Terminal version 1.15 or greater.

Default terminal setting

The setting for the default terminal is on the Privacy & security > For developers page in Windows settings and on the Startup page of Windows Terminal’s settings. This update uses “Let Windows decide” as the default selection, which points to Windows Terminal. If you’ve already set your preferred default terminal, this update won’t overwrite your preference.

Image default terminal setting

All about Windows Terminal

First release

Windows Terminal was first announced at Microsoft Build in May 2019. We had a splashy launch video that showed the vision we wanted to create with Terminal and we also open sourced our repository at our booth on the conference floor right after the announcement.

Fan-favorite features

Profiles

You can have multiple command line profiles inside Windows Terminal. These profiles are associated with a command line application and can be individually customized to your liking. Windows Terminal will automatically create profiles for you if you’re using Windows Subsystem for Linux or Visual Studio. PowerShell is assigned as the default profile upon first launch, but you can change your default profile in the Startup settings.

Image terminal profiles

Tabs & panes

Windows Terminal supports tabs as well as multiple panes. Clicking the + button to the right of the last tab will open a new tab with your default profile. Holding Alt and clicking the + button will open a new pane with your default profile. You can also open new tabs and panes of different profiles by opening the new tab dropdown and clicking or holding Alt and clicking on your desired profile.

Image terminal panes

Command palette

Windows Terminal comes with many, many, many actions. Actions give you control of how you interact with the terminal. To make these easier to find and use, we created a command palette, which can be accessed at the bottom of the new tab dropdown. It can also be opened with Ctrl+Shift+P. Actions can be customized on the Actions page in settings.

Image terminal command palette

Full customization

There are tons of customization options available in Windows Terminal. The most popular ones are profile-specific, which include the executable that’s launched, starting directory, profile icon, custom background image, color scheme, font, and transparency.

Some popular application-specific options include restoring previous sessions on launch, theme (which applies to the tab row), acrylic tab row, and automatic URL detection on hover. The full list of customization options can be found on our docs site.

Image terminal settings

Top contributors

We’ve had hundreds of contributors since releasing Windows Terminal in 2019. We would love to give a huge thank you to everyone who has helped Terminal along its journey, especially those who helped in the early days. We also had some amazing internal contributors, including binarycrusader and metathinker. The Windows Terminal team itself has had members come and go, and we want to thank those people as well. Another special thank you we’d love to give is to codeofdusk, who has helped immensely along our accessibility journey, along with recently providing console improvements to NVDA.

Lastly, thank you to those who have made the most impact on our repository over the last 3 years.

Contributors who opened the most non-duplicate issues overall

🏆 j4james

🏆 vefatica

🏆 elsaco

Contributors who created the most merged pull requests overall

🏆 j4james

🏆 Don-Vito

🏆 skyline75489

Contributors who provided the most comments on pull requests overall

🏆 skyline75489

🏆 j4james

🏆 Don-Vito

Cheers

We are continuing to improve the Windows Terminal experience and we have some exciting stuff planned for the future. If you’d like to follow along our journey, you can monitor our GitHub repository. If you’d like to learn more about Windows Terminal, you can check out our docs site. If you have any questions or feedback, feel free to reach out to Kayla (@cinnamon_msft) on Twitter. Thank you for coming along this journey with us if you’ve been using Windows Terminal, and if you’re new to the Terminal, welcome to the family. ❤

May 2022 signatures

The post Windows Terminal is now the Default in Windows 11 appeared first on Windows Command Line.

21 Nov 02:38

The Peep of Lil

An unremarkable little language
12 Nov 21:43

LinkedIn Audio aufzeichnen

by Volker Weber

LinkedIn bietet jetzt auch Audio-Events ähnlich den Clubhouse-Rooms an. Wenn man diese Events aufzeichnen will, schließ man am besten einen Podcast Recorder an PC/Mac oder Telefon an. Diese kleinen Mischpulte zeichnen auch einzelne Spuren auf und sind ein guter Baustein für ein Podcast-Studio.

  • Den abgebildeten PodTrak P4 mit vier Spuren gibt es bereits für weniger als 200 Euro. Bis zu vier Mikrofone lassen sich anschließen. Zwei der vier Kanäle kann man stattdessen mit PC/Mac oder Smartphone, jeweils analog mit TRRS-Kabel oder per USB anschließen.
  • Eine Nummer teurer sind Tascam Mixcast 4 oder Rodecaster Pro, bieten dafür aber auch nochmal bessere Sampling Rates und Bitraten.
  • Vom Rodecaster gibt es mittlerweile ein neues Modell, das einen besseren Mikrofonverstärker hat.

Ich empfehle als Mikrofon das Beyerdynamic DT297. Ein Headset sorgt dafür, dass das Mikro stets den richtigen Abstand zum Mund hat. Selbstverständlich kann man auch jedes andere XLR-Mikro anschließen.

Wer keinen Mixer kaufen will, kann das auch in Software machen. Dafür bietet sich auf dem PC das sehr mächtige Voicemeeter an. Vorsicht: Steile Lernkurve. Als Mikrofon kommt dann zum Beispiel ein Elgato Wave:3 oder ein HyperX Quadcast S in Frage.

31 Oct 02:20

My new plug-in hybrid

by Stephen Rees
Toyota Prius Prime

A month ago I took delivery of a new Toyota Prius Prime. This blog post is about my experience of becoming an EV driver. I can say that since although this car does have an internal combustion engine it has hardly burned any fossil fuel at all since I acquired it. I would have liked to buy an electric car, but the condo where I live is not allowing new EV owners to charge their vehicles. Some people have been using the existing receptacles in the garage – originally intended for owners to be able to plug in a vacuum cleaner now and then. There are very few of these 110v outlets and only a few could be used without either employing long extension “cords” or blocking someone else’s car in. These people are now paying a monthly fee, but the strata council is not allowing any additional users stating that they need to have a plan, since the building went up in 1974 and was never designed to accommodate EVs. The threat is that somehow these cars will overload the system. Actually the threat is very low if you consider that most people would be charging overnight – the cars are smart enough to be programmed that way – at times when everyone is fast asleep and not using much power.

My New Prius Prime

The reason I could afford to buy a new car is the impact of the pandemic on my budget. We have not been anywhere or done anything very much for the last three years. So the money we would have spent on travel, eating out or other entertainments like the theatre stayed in the bank account. I have been trying to find ways of putting that to good use, but since the beginning of this year the markets have been negative, and investing has mostly been at a loss. My Yaris wasn’t costing me very much, as we tend to walk, use transit or EVO for local trips, but attempts to get comfortable with Modo (who now have a Prius parked near our place) did not work out very well.

There is a BC Hydro EV charging station on Arbutus Street near 41st Avenue. Unfortunately this high powered rapid charger (DC Fast 50KW) does not have the connector my car needs (J1772 30km/hr 6.2kW). The nearest one is at the EasyPark lot on Yew at 41st – where there is a parking fee to be paid while charging. Down in Kits there are 3 public charging points on Arbutus next to the Kits Beach park. Another is restricted to Modo. While parking there is free it is mostly fully occupied during the day.

To get to use these points you need a smartphone (or member card) from Flo or Chargepoint. Their apps also provide information about availability, and the use of power while charging. The car itself tends of overestimate how long a charge will take. For example, most recently it had only 10% charge available and expected the full charge to take over 6 hours. It actually managed it in two.

The Prius also has its own app which tells me I have 460 km on the odometer. So far I have spent $31.40 on 50.3 kWh. It came with a full charge of course as well as a full tank of gas. The best value was a parking lot at White Rock which is 45km from where we live and at the edge of the EV range. The electricity was free: the parking wasn’t. We were able to use electricity for the round trip – which included the A/C. The Yaris used to get around 7 litres per 100km so at current pump rates that would be $77.60 – but mostly I am pleased that some significant amount of CO2 was not emitted ( 1 L of gasoline produces 2.3 kg of CO2) .

The one thing I find disappointing – and this is a feature of every hybrid I have driven – is that when you take your foot off the accelerator, the car slows down as if it were an internal combustion engine dragging. This is not necessary in an EV. I was very pleased to note that this maker is going to take coasting seriously as a way to save energy. Good.

A couple of points I think are worth noting. The map that Flo and Chargepoint uses includes charging stations that are not actually available publicly. I have taken this up with them and should have been corrected by now. We spent some time trying to figure out how to access stations which were inside locked private garages at condos. They both tried to blame the map providers, but of course they can only rely on the data given them. I have also had an issue with the EV station at Oakridge Mall. It is available publicly and was working when I tried to use it but my phone was out of cell tower range (inside a concrete reinforced parking structure) or WiFi. In theory the chargepoint should have treated my phone as a credit card – but in case I have a similar problem in future I have ordered a Flo card as a back up. I have also had an issue at Kits Beach but then I was not running late on an appointment and spoke to a representative on the phone – and they started the charge for me remotely.

It is also not actually necessary for condos to spend money on installing charge point machines. The car comes with a suitable cable with a standard three pin plug on on end and a J1772 on the other. It includes a fairly hefty intermediate device which means that if the receptacle is old and loose that charging may not work when unattended. The rate for use can be calculated and agreed as an addition to the other strata fees.

Perhaps next time we go to Richmond we will be able to use this new charge point at Garry Point

EV Charging station
Explanation
31 Oct 02:12

Wiki Link Visualization

by Rui Carmo

I was a bit annoyed at how hard it was to visualize the sheer amount of pages this site contains, so I replaced the draft 2D visualization I had on my 20 year anniversary post with a pretty nice WebGL one, which is going to live here for the foreseeable future.

The library I found to replace my hand-rolled D3.js code also supports VR, so if that’s your thing, use this link instead.

Warning: The VR version will not work directly an Oculus Quest 2 for now – it is simply too detailed, I will be paring it down a bit ASAP.

Also, don’t expect this to work on mobile anything. It will render on desktops with relatively modern GPUs and it is quite speedy on my M1 Pro, but realistically it is hardly optimized.

The graph is updated automatically, and I will be playing with it (as time permits) to see if I can improve navigation and interactivity (right now it’s just plain visualization).


31 Oct 02:12

On Mind Mapping

by Rui Carmo

I don’t think of myself as particularly organized, but I do like to prioritize and reason things out both visually and conceptually with at least a modicum of order, and over the years the only approach (other than notetaking) that has consistently stuck with me is mind mapping.

Jumping The Queue

First off, and since I make extensive use of mind maps to keep track of activites and task lists, let’s get the “Getting Things Done” elephant out of the room – I find To Do lists, checklists, or any other form of standalone task tracking to be less than useless, since they inevitably turn into a dumping ground of miscellanea, sitting in their little isolated app.

But I tend to be almost obsessively methodical (and depth first) in some things, so I try to capture current state of what I am doing, so that I can get up to speed quickly if I’m interrupted (which I almost always am).

So I usually have tasks in mind maps as part of a context, which means that when I am looking at a task, I usually have all the info required to do it right alongside.

Another thing that really works for me instead of hunting through various project tools (or chat windows, or notes in OneNote, or Kanban boards, or whatever) is just keeping unresolved threads in my inbox, which again provides me with all the context I usually need. Mail may be out of fashion, but flagged messages are still a good blend of To Dos and my documentation.

Then there’s notetaking. Wikis (like this site, and vimwiki for smaller things) have mostly fixed that problem too.

Keeping track of the bigger picture, though, is another matter. For reasoning things out, understanding dependencies and (ultimately) figuring out what what needs to be done, I use mind maps - sometimes for a single project, sometimes for an entire domain of work (or personal interests).

Why Mind Maps?

I like mind maps because they leverage my visual memory in ways no other tool does, and make structure immediately apparent in ways no other organizational tools can in a number of situations: note-taking, planning, and even live discussion.

And that works not just for myself but also when working with others, since the relative positions of nodes can be as informative (and often more memorable) than entire sentences.

In particular, I find that the work of actually mapping out things and their relationships helps me focus on even the dreariest of matters, something that has been extremely useful during the pandemic and various episodes of near-burnout.

There’s a certain sense of accomplishment from visually laying out things, and the spatial relationships really help in terms of recollection and focus.

So I will typically start out building a mind map of the things that I find weird or potentially risky in a particular project, and then, as I build a more structured view of the work itself (which is typically around people, outcomes and timelines) move them into the right places to figure out how to deal with them.

There are many online “solutions” for mind mapping, but I refuse to use any of them since I want to own my data and nearly all of them are woefully limited and kludgey, so for the past few years I’ve been using native apps only, all of which I can get my data out of if needed.

Outlines lack visual hooks, drawing conventional diagrams or drafting conventional notes takes too much focus away from what is going on, and mind maps, with the right tools, are great for quickly sketching out procedures, task lists, and even entire projects.

For me, speed is essential – I often share my screen and build out a mind map while discussing things, annotating it as the meeting progresses.

And the ability to quickly grab an entire tree and move it to a new context trumps building highly complex and organized layouts that are treated like bonsai – so my mind maps tend to be highly asymmetrical affairs, representing projects, decision trees, or just a knowledge domain I’m exploring in a project.

Early Software

This is MyMind, which I used on my iBook G3

I think everyone got started with Freemind, just because it was one of the first half-decent desktop apps and, being Java, ran nearly everywhere.

I did too, back when I was working at Vodafone, and used it for notes (it was reasonably good at that), but today it is an ancient, antiquated piece of software that has been superseded by much better things.

I have always been at odds with the likes of Freemind and Freeplane because despite being free, they are horrendously clunky (not to mention ugly as sin). Freeplane now has a pretty decent extension ecosystem, but it never supported iOS, so I never actually used it for more than a couple of days.

MyMind is gone now, but it was a great altertative on the Mac, and it took years for me to find something I was happy with on Apple platforms.

The Best App – for Apple platforms

Mindnode on my iPad Pro, revisiting my research on monitors from a while back.

Mindnode was a lifeasver in that regard. It is by far the best Apple-native mind mapping tool, has a pretty extensive feature set (I particularly like its Focus Mode) and, on both the Mac and iOS, has a very sane keyboard experience (although the “fold” command is assigned to Alt+., which I find somewhat unintuitive on a Portuguese layout and can never remember).

I am quite sad that Mindnode has moved to a subscription model. I understand the trend, but thoroughly detest it as a user, because it removes any kind of trust I might have in long-term “ownership” of software, even on such a curated platform as iOS. And even though I have been grandfathered into a tier that still provides a good deal of functionality, I refuse to pay subscriptions for every app I use1.

If I have to pay for a subscription, well, I might as well pay for one that covers all the platforms I use, and not just Apple ones.

On Linux

I also briefly explored Minder, older versions of which are available in Ubuntu and Debian repositories (Fedora seems to be the most up to date, but these days most desktop Linux distributions can use flatpak anyway).

Although it lacks a lot of the visual polish of the other ones, it is clearly inspired by XMind (many options are laid out the same way) and supports exporting to multiple file formats, including XMind and Freemind (its native file format is XML-based, so I could rig up a converter, but it’s nice to see the export options).

The Current Winner

Enter XMind, which I had been using on and off to escape Freemind, and which I adopted as my primary tool when Mindnode moved to a subscription model. Because even though I still have many personal mindmaps in Mindnode, I can run XMind on Windows, macOS, iOS and… Linux.

Yes, Linux. I’m using it almost daily in Fedora, and love it:

XMind running on my Fedora remote desktop

This, plus a standard file format that is likely to be usable on any platform for many years (instead of Mindnode‘s somewhat limited export features) is something I’m willing to pay a subscription for, since there is no way I could get a fully cross-platform, long-term mind map tool otherwise.

So after using XMind 8 for many years on Windows, I’m now using it also on my Mac and iPad for some more serious personal projects (mostly research I have to share with other people, and occasional work drafts I end up doing on the go).

The free edition (including XMind 8, which you can still run on Windows, and which I actually packed into a container using Guacamole) can’t include images and has a few more limitations, but works (and doesn’t have any plugs into their cloud services, which I dont use).

Another reason I prefer XMind these days is that it works like a dream for fast note-taking on the fly–the keyboard commands are intuitive, reasonably consistent across all platforms and very, very smooth2, and I find myself quickly building out and easily reorganizing very large research or reference documents with ease.

And I realize that this is definitely a matter of personal taste, but I actualy prefer XMind‘s more sober visuals over Mindnode.

Yes, there is such a thing as “too colorful” – I usually send out PDF versions of my notes, and the stark, black on white, mostly rectilinear output (with rounded corners, but not sweeping curves between nodes) just looks more polished and professional, at least to my eye.

Conclusion

It’s not all roses, though. For some weird reason the desktop apps don’t auto-save, the iOS version has crashed on me a couple of times (no data loss, but… not ideal), and some recent UX changes actually made it less usable3,

But being able to drag and drop documents, links and whatnot into it and quickly sort them out into something that my brain can quickly parse, memorize and locate later (spatial memory is still a thing, even if Apple completely broke it in the modern Finder) is a great thing to enjoy, and that’s not something I can say for most desktop software.

And yes, I am aware there are zillions of crappy web-based mind mapping tools. None of them are of any interest to me whatsoever, thank you very much.

Update: There is another kind of mind mapping tool I’m interested in, which is this one. It horrifies me that it is written in PHP, but I hope someone will port it to Go or similar in the near future.


  1. The saving grace here is that it’s comparatively cheap (at least when compared to XMind and that it can be shared through Family Sharing, but I still prefer not to be nickel and dimed – I bought the full app outright for several versions, and would like to keep doing it. ↩︎

  2. Except on Linux, where I have been reporting an extremely irritating bug that creates new nodes when I use the cursor keys for almost a year no, with no resolution in sight. Oh well. ↩︎

  3. Yay for cross-platform toolkits, but at least the desktop versions are Java with an embedded JRE and not Electron… ↩︎


31 Oct 01:00

Learned Helpfulness

by peter@rukavina.net (Peter Rukavina)

Learned helplessness is an interesting idea, and Wikipedia sums up current thinking well:

Learned helplessness is the behavior exhibited by a subject after enduring repeated aversive stimuli beyond their control. It was initially thought to be caused by the subject’s acceptance of their powerlessness: discontinuing attempts to escape or avoid the aversive stimulus, even when such alternatives are unambiguously presented. Upon exhibiting such behaviour, the subject was said to have acquired learned helplessness. Over the past few decades, neuroscience has provided insight into learned helplessness and shown that the original theory had it backward: the brain’s default state is to assume that control is not present, and the presence of “helpfulness” is what is learned first. However, it is unlearned when a subject is faced with prolonged aversive stimulation.

In other words: we learn that we’ve got control, and when things go sideways, over and over again, we unlearn it.

I’ve been thinking about this a lot because I’ve been finding myself perplexingly incapable of late. I’m a smart guy with enormous privilege, financial resources, and I’ve been known to have moxie by times. And yet problems that, in theory, are solvable have been slaying me, and I’ve been grasping for reasons why.

Driving downtown this morning after dropping off Olivia, I was thinking about how this might relate to Catherine’s death and the grief surrounding it.

From her incurable cancer diagnosis in 2014 until her death in 2020 Catherine accepted her fate: she did not rail against the darkness, and accepted that she was going to die. I followed her into that, and while I generally regarded it as the right attitude, the only reasonable attitude, I’m wondering now whether that also constituted “enduring repeated aversive stimuli beyond my control.”

What is the long-term effect on the psyche from waking up every morning to be reminded of the everpresence of impending doom?

I notice my disability most when it comes to confronting gnarly problems with many interlinked aspects (aspects that often lead down blind alleys or into brick walls). These are the types of problems that I’ve always excelled at, earned my living from, and I’ve loved solving them. But not so much of late.

What describes the process of caring for someone living with incurable cancer better than “confronting gnarly problems with many interlinked aspects.”

I’ve lost my taste for the challenge; I’m exhausted by the gnarly.

I want things to be simple.

And yet they are not.

And so I need a new plan, one that lets me rebuild my sense of helpfulness. I need a way to route around the brick walls. To not get flummoxed and debilitated by a feeling of how-can-this-possibly-be-so-hard. To break down things into bite-sized chunks. To make maps of things that, at one time, I might have been able to hold in my head. To ask for help, over and over and over again. To release my attachment to completeness, perfection.

My brain has been changed by what I’ve been through, in ways I’m only just beginning to understand; it’s time that I accept that, and work to adapt.

31 Oct 00:59

Emergency Radios

by peter@rukavina.net (Peter Rukavina)

Our first post-Fiona emergency preparedness purchases arrived today: two Midland ER210 emergency crank weather radios, the Wirecutter runner-up pick. They were $67 each, ordered online, on sale, from Cabela’s. 

AM, FM, and weather radio, powered by crank, solar, or USB charging. 

In the late just-pre-Fiona hours, Lisa and I rambled around town looking for D-cell batteries to power her boombox, finding the shelves empty (a resourceful neighbour came through for her in the end); across town I had no radio at all but the one in my car. Next time, we’ll be better prepared. 

30 Oct 02:26

You don’t have to be an astronaut to explore space, Mozilla Hubs can take you there

by Jenifer Boscacci

This month, Mozilla Hubs, a place where you can get together with friends online in a virtual-social space, partnered with conceptual artist Ashley Zelinskie on her New York exhibition, “Unfold the Universe: First Light.” The exhibition features her VR artwork “Unfolding the Universe: A NASA Webb VR Experience” in Mozilla Hubs. The exhibit runs through October 23rd (more details visit here), and for those who want to visit virtually, you can visit the VR portion of the exhibition here: https://unfoldtheuniverse.myhubs.net/.  

Earlier this year, Mozilla Hubs was contacted by conceptual artist Ashley Zelinskie on a project with the NASA James Webb team. They wanted to make space exploration accessible to everyone. Mozilla Hubs seized this out-of-world opportunity as a chance to do real life testing with their subscription service before making it available next week.

On December 25, 2021, the James Webb telescope launched into space. Conceptual artist Ashley Zelinskie wanted to commemorate the launch in a way that was approachable and reachable to many people. She worked with Mozilla Hubs to create an immersive experience featuring an animated sculpture and interactive portraiture of the NASA James Webb team. She featured the Mozilla Hubs installation titled “Unfolding the Universe: A NASA Webb VR Experience” in her solo exhibition, “Unfolding the Universe: First Light.” It includes the telescope’s “First Images” data released this past July. The immersive experience could be seen through live projections on the gallery walls as part of the installation or directly through a web browser which is also available here. We caught up with Ashley Zelinskie to hear more about her experience working with Mozilla Hubs. 

Photo credit: Caroline Xia, ONX Studio

How did you learn about Mozilla Hubs?

I had been to a few events in Mozilla Hubs. During the pandemic friends were hosting art exhibitions in Hubs as a way to share their work while in lock down. Through a virtual residency I was doing with Agora Digital Arts I met Pierre-Francois Gerard of Metaxu Studio and began building my own VR experience.

Did you have any previous experience working in virtual spaces prior to Mozilla Hubs?

Not really. All my artwork starts out digital and then I have it fabricated. So I wasn’t a stranger to working digitally but I had never focused on that being the final outcome. It was interesting to see all the steps it takes to polish and produce a piece that is fully digital.

“I don’t think there is another VR service on the market that would be this accessible to people with no experience.”

Ashley Zelinskie

Did you face any challenges working with this new form of medium?

I had never made anything in VR when the Webb team approached me, and they wanted something accessible especially during the pandemic. Most of my work starts digitally where I’ll use 3D models. I don’t use shaders nor animation. I’ll use a grey model and then have it printed in 3D and finish it in the real world. I had never created it in this new environment. There were steps I hadn’t thought of as an artist. I worked with Pierre who helped me see that I don’t have to deal with reality, and I can make things fly and float. It was really eye-opening to see that I can make things spin and fly. I no longer had to worry about the real world issues I had previously with 3D printed items like it sagging under gravity when I design. Once I switched my mindset, I could create stars, planets, a black holes, and accretion disks. None of it could ever be produced in the real world. I was able to make the impossible and flip the design process on its head. 

Photo credit: Caroline Xia, ONX Studio

Did you have a technological background like a developer/coder? How was your experience in creating this art installation?

I have no background as a developer or coder. I found Hubs to be extremely approachable. I don’t think there is another VR service on the market that would be this accessible to people with no experience. 

What made you decide to use Hubs for this specific project with NASA and the Onassis Foundation?

Hubs was an easy choice for this project. When I was brainstorming a way to do public outreach during a pandemic with Maggie of the Webb team we landed on VR. It seemed to be the most immersive and interesting way to get people involved and interested. However we didn’t want to cut people out that didn’t have fancy VR headsets or little experience in VR. Hubs was the democratic solution to all these logistics. If we were going to invite the world to experience the Webb Telescope we wanted everyone to be able to attend.

For the upcoming event, what specific art installations will be in Mozilla Hubs? 

We will be exhibiting a few different works of art in Mozilla Hubs. The first one being the one we created to commemorate the launch of the James Webb Space Telescope called “Unfolding the Universe: A NASA Webb VR experience”. This piece includes interactive portraits of scientists and engineers on the Webb team, a custom musical soundscape, and digitally animated version of sculptures that will be shown in the ONX gallery. Since the first images were released we created two new works to reflect the new discoveries. One of the works depicts exoplanet spectroscopy data in the form of a rainbow aurora mountain landscape and the other is a totally new VR world inside the black hole at the center of the cartwheel galaxy. 

Note: All photos credited to Caroline Xia, ONX Studio

The post You don’t have to be an astronaut to explore space, Mozilla Hubs can take you there appeared first on The Mozilla Blog.

30 Oct 02:24

Belwood to Luther Marsh

by jnyyz

I’ve been wanting to do this route from Belwood to Luther Marsh for a while, and today was the day I finally got around to it.

I actually started my ride at the Conservation Area at the very bottom of the map since I knew there would be a washroom there. From that point, the first thing you do is to cross the dam. Looks like fall colours haven’t peaked at this spot yet.

Heading across the dam. This picture doesn’t show that it was about 6°C and windy.

Once I got warmed up, it was pleasant riding on gravel roads with very little traffic.

The least fun part of the ride was this stretch along route 16 which had a decent amount of traffic. It didn’t help that it was into a headwind/crosswind and there was no shelter from trees.

I’ll note that the updated version of the route avoids this stretch, and also take advantage of more of the West Luther Trail.

Just north of route 109, you turn east onto the West Luther Trail.

It is overgrown a bit in spots, but it is flat and arrow straight for about 6 km.

The trail ends at Luther Townline where the route turns north again.

Across the street is the Upper Grand trailway. My thought at this point was that I’d have to come back to explore it at some point.

As I approached the marsh, at one point the route turns off the gravel road onto a trail. At this point, I met this nice gentleman who advised me that it was hunting season, and that it would be inadvisable for me to travel through the marsh. I decided to play it safe and backtrack to where the Upper Grand trail went further east.

Can’t really complain about the biking on these roads with next to no traffic.

As you can see from several pictures back, the Upper Grand Trailway is groomed like a true rail trail, and it was easy to blast along this section with the wind at my back. 10 km of easy riding.

Crossing the Grand River on 13 Line.

I did make a detour to Belwood to get some of the excellent butter tarts from Belwood Country Market.

The lake level was really low.

From this point, you take the Elora Cataract Trail to the conservation area. I posted about this trail a few years ago.

Here is the truncated version of my ride which ended up being about 70 km.

Further investigation reveals that waterfowl hunting season goes between Oct 1 and Christmas, and deer season is a bit more complicated.

This brings me back to the days when I taught at Michigan State, and it was well known that you didn’t schedule a midterm on opening day for deer fun season. I guess that I’ve been living in the city too long.

You can find out location specific information for Luther Marsh here.

At any rate, something to keep in mind for late fall gravel riding….

30 Oct 02:24

Butter tarts and biking

by jnyyz

Back in August, the Star published a story about the best butter tarts in Toronto, Eric’s Handcrafted Butter Tarts. Since that time, I’ve tried to buy one at one of the local vendors listed in the story. Today I finally scored during one of my rides on the way back from Port Credit, stopping by a charming little coffee shop called The Big Guy’s Coffee Shop, on Lakeshore between 4th and 5th streets. I had actually gone there before, and I was told that they get their delivery on Friday, and they usually sell out within a few days.

They had exactly one left that was plain. (I am allergic to nuts and all the rest were pecan). Although any butter tart tastes good after a bike ride, I’d say that this was perhaps my favourite. I favour tarts that have a relatively thin pastry shell.

Other places that I have tried recently:

  • Four Corners Bakery in East Caledon: too thick pastry shell for my taste.
  • Belwood Country Market: really good. They are mentioned in another Star article that appeared yesterday. The pastry shell is thin. When I got there, the plain had just come out of the oven and I was warned that they were really hot. The volume of filling was really high, if you like that sort of thing. The plain was great. I wasn’t as enamoured of the raspberry coconut version. Regrettably I didn’t take any pictures of the tarts that day.
  • Mattachioni on Dupont. They have that thin pastry shell that I prefer, and less filling than Eric’s, and I was told that they finish them off in their pizza oven, and they sprinkle a little sea salt on top. I’d rank these as equal to Eric’s, if a bit smaller.

The next time I’m cycling in Wellington County, I will have to try some of the other places mentioned in the Star article.

Eventually, I’d like to parts of the BT700 (butter tart 700), a gravel bike route that is 760 km. I admit I’m more interested in the butter tart aspect than the mileage, so I might warm up by doing one of the shorter routes that are described on that excellent website. I’ve covered some of the territory of the GNR route on several different rides.

29 Oct 23:59

Tumblr Updates

by Matt

Tumblr launched Community Labels yesterday, which allows consistent tagging of addiction, violent, and adult content, and for people to hide, blur, or show that content. It’s gone pretty well so far. We’ve still been getting a lot of questions if it’s going to be free-for-all with adult content again, and the short answer is no, but the longer answer is covered in Why “Go Nuts, Show Nuts” Doesn’t Work in 2022.

If you haven’t tried out Tumblr in a while, check it out. Lots of improvements the past few months, and it can be a refreshing alternative or add-on to your online social life. And get your friends on it too!

29 Oct 03:29

Leaks

Leaks

Here’s an interesting example of software development in practice.

A customer was experiencing intermittent Tinderbox crashes. I asked to see the crash logs and any future crash logs. This question sometimes clears up a problem, because sometimes the crashes stop! But not this time; over a few days, we accumulated a few logs.

The crash logs varied a bit, but all seemed to involve export. “Did it crash while you were exporting?” The user didn’t think so. (That was a head scratcher. It’s not uncommon for users who experience a crash to have no idea what they were doing before the crash, but Export is fairly unusual and sometimes takes a while because you might be building a site with hundreds of pages. You’d probably remember if you were waiting for Tinderbox to finish and instead it quit. Hmmmm.)

A number of the crash logs revealed a crash in TbxProgressBar. That was interesting, because it's not usually a place where Tinderbox has trouble. I studied the code, and there’s a reason for that: as far as I can make out, TbxProgressBar simply cannot crash. I bullet-proofed the code, which was already bullet-proofed. I wrote some tests. I hoped for the best. No luck!

This left some twilight zone possibilities. Was something fouling up the TbxProgressBar object? I remember one pesky bug, ages ago, that was tracked down to a faulty memory chip right where one object tended to wind up. Could I be looking at the wrong version of the TbxProgressBar code? Was this a time-bomb crash, somehow planted by code that ran earlier? (Time bombs used to be really common, back before OS X. I haven't seen one in years, but who knows?)

After far too long, I asked the customer to take a look at Activity Monitor. What was Tinderbox’s memory footprint? The footprint was huge. Now, worrying about activity monitor is often pointless: Tinderbox uses a lot of memory because you have lots of memory to use. You have lots of memory and not enough time. This was said to be a complicated document, but nonetheless, the footprint was too big.

Finally, wiring up the document to the profiler, the answer emerged at once: a memory leak in ExportPathAttribute. This is a seldom-used, read-only attribute that tells you where this page will wind up if it's exported to disk. For years, each use of ExportPathAttribute has leaked — not much, but a drip. If you were editing a weblog and then exporting to your server, well, you might have wasted some kilobytes, but you wouldn’t notice that at all.

In the last year or so, however, a new approach to Tinderbox notes has become popular; people write their notes in Markdown or HTML, and when they read their notes, they use the Preview pane. This Preview-led Tinderbox isn’t what I’d designed, and it sometimes feels like Obsidian-in-Tinderbox or something like that, but in skilled hands it can be pretty cool. And this customer was really skilled!

So, we had a complex Tinderbox document with lots of actions and lots of agents, that was spending a lot of time in Preview. That meant Tinderbox was responding to changes from rules and agents and running a new Preview every few seconds. Preview was reaching out to rebuild a complex page by assembling lots of individual notes in a big overview. A few kilobytes every 3 seconds is a few megabytes every 5 minutes. Leave that cooking for a day or two, and hilarity is bound to ensue.

Why TbxProgressBar? Because Tinderbox updates the progress bar a lot during preview. Too much, clearly, but again: if preview is fast enough, who cares if it's updating a hidden progress bar and doing extra work? But that’s where we often were when we wanted to reach for some memory and the system said, “More? You want more?

And why did we have a leak in the first place? A decade or more back, Tinderbox adopted an optimistic approach to concurrency: agents ran in the background, and most of the time everything was OK. But “most of the time” isn’t really good enough, and perhaps four years ago I started to put this on a sounder basis. That meant taking a lot more care to make sure that we weren't writing a value in one thread at the same time we were reading it in another thread. That process has tests for all the common and tricky attributes like $Text, and most of the attribute classes are designed to handle everything themselves. But, somehow, ExportPathAttribute never got the memo.

It simply didn’t matter, until it did.

28 Oct 23:43

Autumn Golang Diary

I’ve posted here about my experiences with Go since 2013 and I guess it’s too late to stop now. This one is truly miscellaneous, just a bunch of things that built up in “should write about this” notes to myself while working on Quamina.

Switch switch switch

Back in 2013 I wrote about now nice the Go switch statement is. The Quamina work has really brought this home, by way of constructs like this:

    switch {
    case stepExisting == nil && stepNew == nil:
      uComb[i] = nil
    case stepExisting != nil && stepNew == nil:
      uComb[i] = stepExisting
    case stepExisting == nil && stepNew != nil:
      uComb[i] = stepNew
    case stepExisting != nil && stepNew != nil:
      uComb[i] = mergeOneDfaStep(stepExisting, stepNew, memoize)
    }

I mean, sure, I could compose equivalent if-then-elses; but I could do it in half-dozen different ways, with varying readability, while resisting the temptation to optimize prematurely. I’m drifting into the lane of looking at every if and wondering if it could be a switch.

Dot dot dot!

I can’t imagine that this delightful little thing is unique to Go but somehow I’ve never worked with it before.

  // append a whole array
  var a, b []foo
  a = append(a, b...)

  // print some args
  log.Printf(format, args...)

  // varargs
  func x(numbers ...int)

  // varargs are slice-i-fied
  func (m *matchSet) addX(exes ...X) *matchSet {
    if len(exes) == 0 {
      return m
    }
  }

Volatility

Go is good at concurrency, and the best way to write concurrent code is with channels (watch out for buffering). But sometimes you need old-fashioned access control. And speaking as a one-time Java-head, I pretty quickly found myself wondering “What’s the equivalent of volatile?” It’s atomic.Value.

type fieldMatcher struct {
  updateable atomic.Value // always holds an *fmFields
}

type fmFields struct {
  transitions         map[string]*valueMatcher
  // other fields…
}

func (m *fieldMatcher) fields() *fmFields {
  return m.updateable.Load().(*fmFields)
}

func (m *fieldMatcher) update(fields *fmFields) {
  m.updateable.Store(fields)
}

This works really well for a “read-mostly” variable. In this case, one thread can be updating the fieldMatcher while lots of others are reading it. So you build a new set of fields then blast it in with that update() function, which is atomic. The runtime will get around to garbage-collecting the copy you replaced when the other threads finish up with it.

I’ve discovered that if you have relatively little contention, the cost of the atomic operation is close to zero. If you have a lot, it’s not, but the penalty seems to increase smoothly, which is a tribute to the runtime.

It’d be kind of nice if you could make the atomic.Value strongly typed. Like, you know, a generic?

Generics feaugh

I wrote a whole blog piece about Go generics back in May, in which I grumbled quite a bit about them but came to peace with using them.

I’m back to grumbling. Maybe it’s me not them, but I’m not that stupid and not that fussy, and I keep getting nasty surprises when I try to do something reasonable-looking with a genericized type. There’s a performance bug-fix coming into Quamina which as a side effect will remove the last remaining generic type. That’s not the reason I’m doing it but it makes me happy.

Slice slice slice!

Now, for what I think is my biggest Go eye-opener, all these years in: You can do nearly everything with slices. Coming from Java, with its huge repertoire of List and Stack and Queue types, I frequently wondered “Where’s the standard type for <one of those Java things>?” In almost every case the answer is “You can do that with a slice.”

Here are a stack and a queue, for unsigned integers:

type Stack struct {
  x []uint
}

func (s *Stack) push(i uint) {
  s.x = append(s.x, i)
}
func (s *Stack) pop() int {
  if len(s.x) == 0 {
    return -1
  }
  index := len(s.x) - 1
  popped := s.x[index]
  s.x = s.x[:index]
  return int(popped)
}

type Queue struct {
  x []uint
}

func (q *Queue) write(i uint) {
  q.x = append(q.x, i)
}
func (q *Queue) read() int {
  // signal empty queue
  if len(q.x) == 0 {
    return -1
  }
  r := q.x[0]
  q.x = q.x[1:]
  return int(r)
}

Those pop and read implementations seem to take more lines of code than they ought to, and while it’s too late to add queue- and stack-oriented built-ins, it might be nice to add some of these calls to Go’s slices package.

Slice performance

Given that you can do everything with slices, more or less, one hopes that the implementation has been fanatically optimized. I hope that, anyhow, because when I was grinding away optimizing Quamina, I thought I was nearing victory when the profiler reported the code was spending a high proportion of its time updating them, on the grounds that I was unlikely to write code that was better-optimized than the builtin append().

However, there are a couple of things to keep an eye on that are probably pretty obvious but still worth mentioning:

  1. It’s easy and idiomatic to say var foo []bar and then add things to it with append. Turns out that if you know how long foo is apt to get, you can get a remarkable performance improvement by saying
    foo := make([]bar, 0, MAX_SIZE_GUESS)

  2. If you look at those Queue and Stack implementations, and assume they’re going to be heavily used, it’s pretty likely that the Stack is going to be way more efficient, because as it gets longer and shorter, the runtime will probably have to reallocate it less and less.

    My profiling supports this guess; I had a structure where I stashed units of work and then retrieved them, and while it didn’t need stack semantics, it ran faster with that kind of implementation.

Slice gripes

Nothing is perfect. Here’s a problem I have in Quamina. The process of merging automata requires code like you see in the first sample above. It turns out that merging steps can easily generate duplicates, so to keep things sane, you need to deduplicate your steps. Glance back at that code sample and you’ll notice that the mergeOneDfaStep function has a memoize argument. Here’s the start of mergeOneDfaStep:

func mergeOneDfaStep(step1, step2 *dfaStep, memoize map[dfaStepKey]*dfaStep) *dfaStep {
  var combined *dfaStep

  // to support automata that loop back to themselves (typically on *) we have to stop recursing (and also
  //  trampolined recursion)
  mKey := dfaStepKey{step1: step1, step2: step2}
  combined, ok := memoize[mKey]
  if ok {
    return combined
  }

This is a straightforward memoization: If you call the function and it’s already been called with those arguments, don’t re-compute a new value, just return what you did before. And if you do have to compute a new value, save it in memoize before you return.

This was a lot harder than I’d hoped, because I wanted to index on the content of the arguments. The code above doesn’t actually do that, because if your type is a struct with a slice field, you can’t use it as a map key.

Sigh. I’ve figured out workarounds, but I still have problems and I know that in some cases I’m not deduplicating fully.

What I think I want is a new kind of thing in Go: An immutable slice. It’s not as though this is an exotic idea, since Go’s built-in string type is just an immutable []byte. This is why you can index a map with a string but not a []byte. If there were a way to make an arbitrary []Foo immutable then I could index with that and it would make my deduplication problem easier.

I wonder if I’m the only person with this gripe?

It dawns on me that Java has a pretty good solution to this problem: java.object.hashCode(). For pretty well any type in Java, if I want to key a Map with it, all I have to do is override this and I’m good to go. Feels clean to me.

Anyhow…

Go mostly doesn’t get in my way. The code runs acceptably fast. The readability is superior, in my opinion, to any other programming language I’ve used. My thanks to the team.

28 Oct 23:42

2022 Vancouver Election

In the City of Vancouver’s 2022 election, deciding who to vote for is extraordinarily difficult. Since we don’t have a ward system, we have to vote for one mayor, ten city councillors, seven park-board commissioners, and nine school-board trustees. There are six local political parties running random variations of mayoral candidates (or not) and full or partial slates for the other bodies. I just finished doing sufficient research to make my own choices; maybe my sharing it will be useful to one or two other Vancouverites.

Wards please

This process was ridiculous. I’m political and semi-retired but it is just totally not reasonable to expect ordinary people with jobs and kids and housecleaning and lives to do this much work.

Whereas I’m dubious about the ability of the population at large to be collectively intelligent about complex policy issues, I think people generally do a pretty good job of evaluating their current local elected representative. I’d so much rather vote for mayor and then one each representative on the various boards and councils, based on my neighborhood, and I think we’d probably get a better result.

Why me?

I got no credentials, folks. Well, pathetically weak ones: I’ve been living here on and off for 39 years. I read fast. I’ve attended the occasional council and school board meeting and even presented issues there. I inhabit the city intensely, as a home-owner, cyclist, driver, pedestrian, shopper, eater-out, and issues advocate. So, for whatever all that’s worth…

Resources

What I read before writing this:

Party party party

The next city council, like the last one, will not have a disciplined majority from any party. This is bad because getting anything done means herding cats and building compromises, so it’s slow. This is good for more or less the same reasons.

Anyhow, if you’re planning to plump for any one party because you’d like to see a majority on council, I’m pretty sure that’s not gonna work, sorry. So, I spread my votes around.

For a quick briefing on Vancouver’s parties and what they stand for, CBC reporter Justin McElroy squeezed the essentials into a tweet.

Short summaries of Vancouver political parties Cheat sheet for city party short summaries

Now, that’s maybe a little unfair (to start with, VOTE Socialist is kinda cheery). But to be brutally honest I think it captures the essentials.

My take:

  • Forward Together: Meh, just not that exciting, although a nice sound-bite in their platform: “Housing is everything.” Some OK candidates, some with little relevant experience.

  • Greens: Weirdly difficult to categorize. They have voted against housing developments way more often than I’d like. I expect hard-hitting environmental activism — that’s what Greens are for, no? — but really haven’t seen any.

  • COPE: Vancouver’s original lefties. Maybe a little ideological but there are good folks there.

  • VOTE Socialist: Eh, the guy is amusing but a vote for him is probably wasted.

  • TEAM: I have no sympathy at all with their leader Colleen Hardwick, who voted against more or less everything in the last council, and who seems permanently at war with City staff. They will hotly deny the NIMBY label, but are clearly dog-whistling for that vote. Hard no.

  • Progress: Once again, a platform I like. In particular, they propose creating a Civic Housing Corporation that would itself build mixed-income housing, because the developer community just hasn’t been pointed in that direction and seems unlikely to start doing so.

  • OneCity: I generally like what they say. Being on this slate is a plus for me.

    Their platform is remarkably similar in most important respects to Progress’s. Something seems broken here; if they’d managed to band together there might have been a real prospect of a solid progressive majority. I smell egos getting in the way.

  • NPA: Vancouver’s ancient right wing. I loathed ’em back when they were all “Let’s run the city in the interests of the rich people on the West Side” and that was when they were competent and coherent. These days, they’re chud-infested and chaotic and just dumb. Also their slate includes Melissa de Genova, widely agreed to have been the most disruptive and least effective member of the outgoing council. Stay away.

  • ABC: I have often lamented the absence, in our political spectra, of intelligent conservatives, but these seem to be those, more or less. I don’t agree with their policies (no, 100 more cops are not going to move any needles in any useful directions) but they’re non-toxic and have presented a couple of ideas I like. Still almost certainly not going to vote for any of their candidates.

  • Vision: Eh, don’t get it. I voted for Gregor at least once but that was then. A couple decent people on the slate though.

For mayor

I’m voting for the incumbent, Kennedy Stewart. For the last year or so, the conventional wisdom was that the right-wing vote would be fragmented between ABC’s Sim, TEAM’s Hardwick, and the NPA (probably not any more) and thus Kennedy, mostly unopposed on the progressive-ish side, would waltz in. Now we’ve got Progress’s Marissen competing with Kennedy on that wing, so things are as clear as mud.

This is probably a minority opinion, but I think Kennedy (that’s how he brands himself) has been OK-ish. The mayor is only one vote on council, so the job combines evangelism and symbolism and quite a lot of administrative work. Running meetings of the highly-fractured dingbat-infested council is brutally difficult, and when I attended or watched meetings, I thought he did a fine job.

Like everyone, I was horrified at the recent revelation that he was whoring for (perfectly legal) big bucks from big developers who are definitely Part Of The Problem. But to be brutally honest, if we elect a reasonably progressive Council there’s not that much harm he could do even if he was completely in hock to Aquilini and Concord Pacific and so on.

Concretely, I agreed with most of his Council votes on controversial issues. Also, he said smart things about the supply-side problem in housing. And while everyone says they’re going to unjam residential permitting, they’ve been light on specifics. Kennedy got a decent bylaw passed removing the public-meeting requirement for developments with enough low-income and rental housing.

Also I like his thinking about diverting resources from policing into beefing up the 311 service. And the money line, for me: “We can’t arrest our way out of the Downtown Eastside problems.” No shit.

Then there’s Mark Marissen, the Progress candidate. I like their manifesto and their candidates better than Kennedy’s over in Forward. And I liked his talk about a luxury tax on mansions $6M and up; and that he generously credited Jean Swanson for the idea.

But in his interviews and all-candidates speeches, he just didn’t impress me that much, no sparks flew. And I have no notion how he’ll do with City Council meat-and-potatoes.

Then there’s Ken Sim of ABC, and I have to confess that doing all this reading warmed me up to him, and the party, quite a bit. Their position on environmental issues isn’t terrible at all: Plant trees, restore streams, phase out ICE vehicles from the City fleet, no net new GHG in any development. If he were running for Council I might even vote for him.

But an extended period as a startup CEO is, I’m pretty sure, really lousy preparation for the Mayor’s job. A startup CEO works with a small, passionate group of people, and his or her word is law; decisions are taken quickly and then the discussion is over. Running a city is just not like that.

Also, he repeatedly trumpeted a filthy lie that the Mayor was going to bring in a congestion tax, even after it had been explicitly and convincingly denied. Not really forgiveable.

It’s a pity, it’d be cool and appropriate for Vancouver have a sharp-looking mayor with an Asian face.

Council and boards (caveat)

These decisions are not final. I haven’t picked a full complement for the council or park or school boards. I may leave it that way —  plumping is psephologically effective — I might get turned off some of these people, somebody new might dazzle me. But this is where I am right now.

What I’m looking for

I’m positively inclined to people from Progress, OneCity, and COPE. I’m looking for progressive attitudes, plausible practical ideas about the housing-cost awfulness, and environmental commitment.

And, you’ll have to forgive me some identity politics. First, I would like to have at least one Indigenous person on our City Council and the park and school boards. To start with, there are a lot of Indigenous people living here! Also, that population is right in the middle of our hardest housing and livability problems, and we’re not going to move those needles without (at the very least) a better understanding of Indigenous issues.

Also, look at a photo of the outgoing council. They’re all white and, in Vancouver, that is frankly just weird. Gather ten people together here, cutting along any conceivable geographic or class or professional slice, and it ain’t gonna be just one ethnic group. Nobody with Asian roots?! Gimme a break.

And then there are the intangibles: I read the candidates’ statements about their history and goals and either it resonates with me or it doesn’t: Does this person exhibit experience and attitudes that are going to equip them to make the city better?

All that said, here’s who I’ll probably vote for, in alphabetical order:

  • Iona Bonamis, OneCity. Currently a senior transportation planner on city staff, thus presumably familiar with important issues. First generation Chinese-Canadian, speaks fluent Cantonese.

  • Christine Boyle, OneCity. Has been solid on council since 2018 and has done a good job of organizing OneCity and building out a pretty compelling platform.

  • Adriane Carr, Green. Has been on Council for a long time and I’ve rarely disagreed with her vote. Strong environmentalist vibe.

  • Marie Noelle Rosa, Progress. As I said, I like the Progress platform, and the intangibles come into play here: A more interesting than average prson. Some DTES exposure, multilingual.

  • Matthew Norris, OneCity. This fellow is Indigenous and professionally so, has spent his life working with one Association or Initiative or another in that space, and should improve council’s insight into those issues.

  • Jean Swanson, COPE. I was a bit conflicted about this, because I didn’t think she was that terribly effective on the outgoing council. She tended to lectures about the evils of capitalism (which I agree with) in debates where it wasn’t helpful, and voted against way too many housing projects because Somebody Might Make Money. But I decided I wanted here there as an Overton-window mover, as a promoter of co-op housing, and as the originator of the mansion-tax idea.

  • Tanya Webking, COPE. Loads of Downtown Eastside and City-committee experience, is Dene/German. Got a bit of progressive edge, which we could use.

  • Michael Wiebe, Green. I’ve had a few conversations with him in connection with my False Creek Friends work. He impressed me with his insight and practical advice. But Mike, vote for more housing projects!

The boards

Sorry folks, I confess that I did not give these people the attention they deserved, was sort of in speed-run mode when I went through this part of the listings. First, park board:

  • Gwen Giesbrecht, COPE. Lots of experience and seems to care about the right things, especially the homeless.

  • John Irwin, Vision. He came to our door! The only politician of any stripe that we’ve seen. Strong meeting of minds on the homelessness-in-the-parks issues.

  • Andrea Pinochet-Escudero, VOTE Socialist. Healthcare worker, refreshingly leftist.

  • Tiyaltelut Kristen Rivers, OneCity. She’s of the Squamish and I’d like there to be an Indigenous voice in Park politics. Also useful business experience.

Now, off to the school board. I feel guilty here because I care about this stuff but just totally haven’t had time to educate myself properly on the people and issues. There were a few candidates running on straightforward anti-LBGT platforms, ewwww. I encourage voting even if you’re not up on the issues, if only to keep those idiots out.

  • Steve Cardwell, Vision. An education professional, well-chosen priorities.

  • Lois Chan-Pedley, Green. Very meat-and-potatoes platform, is an incumbent.

  • Aaron Leung, Vision. Nothing special, just liked his platform write-up, seems to care about the right things.

  • Jennifer Reddy, OneCity. An incumbent, with impressive platform and profile statements.

  • Rocco Trigueros, COPE. Lots of relevant experience, and focus on poverty-related issues, which are a big deal in Vancouver.

Well, that’s all, folks. I’ll be up late on voting night because anybody who says they know how this is going to turn out is full of it. Local politics matter, and I care a lot.

07 Oct 15:32

Cafe Deux Soleils, a hub for community and emerging artists in East Vancouver, closes for good

mkalus shared this story .

Cafe Deux Soleils on Commercial Drive in East Vancouver, which has served as a hub for poets, emerging musicians and other members of the community for nearly 30 years, abruptly announced its closure on Tuesday, with a simple post on social media and a hand-written note on the door.

"Cafe is closed forever," the note on the door said, the word 'forever' circled with a heart.

The news shocked regular patrons and passers-by who have come to know the cafe as a reliable place to catch a performance, take a nervous step into sharing poetry, music or comedy with an audience, or just get a bite to eat.

"It sucks," said Colm Knight outside the cafe on Wednesday afternoon, with a guitar in a case strapped to his back. "I just started writing poetry and I looked up online where you can do spoken word, and this was the only place.

"Vancouver needs more community spaces where people can come and do creative things," he said.

WATCH | Vancouverites saddened over Cafe Deux Soleils' closure

Popular Vancouver community art cafe closes for good

Cafe Deux Soleils on Commercial Drive was popular among artists and poets for nearly three decades.

This week, the city has become one venue poorer when it comes to that kind of place.

"It's so eclectic and it's so accepting. It's one of the few places you can go to and it's not just about the alcohol or the music — it's about learning about the community," said Jillian Robertson, a neighbour who also stopped by to read a note a patron had lovingly left on the door.

Robertson has lived down the street for 22 years, a few years less than the cafe's 28 years in operation.

"It's one of those places that has just been around for so long," she said, adding that the news actually upset her. "It was a place that really entertained locals."

She adds that the food was good — a point also made by Robert Connely Farr, a blues musician who grew up in Mississippi and moved to Vancouver 16 years ago.

Farr says he liked the veggie burger — he claims it was only surpassed by a burger he had in Athens, Georgia — but it was the live music that originally drew him to the cafe, even before he moved to Vancouver.

On one visit, he mustered the courage to pitch a gig to the owner, which was accepted.

"At the time it was the biggest thing I'd ever done. So I actually played at Cafe Deux Soleils before I even moved to Vancouver," said Farr.

He says he's played there more over the years, attended many friends' shows there, and just gone for the food.

"Those places are critical to the urban fabric of our city," said Farr.

"As an artist, those things are precious. Those venues are precious."

Stephen Taylor, another musician who became a regular at the cafe, said it was a place for people to share ideas.

"It was a refuge for outsiders in a way. It was a place for people like me, off the beaten path," said Taylor. "It sort of represented freedom and artistic freedom in a way. It was a very special place."

He said he was shocked to learn the cafe he used to attend every Thursday night to play the open mic has closed.

"Everything has a beginning, middle and end," said Taylor. "Sad to see it go."

The owner, Jeff Maisonet, said the cafe had become impossible to keep in business.

"I would have had to double the prices," Maisonet told CBC News on Wednesday, adding that finding staff had become an enormous challenge.

He said up until the pandemic, business was going well, but after pandemic-related subsidies ended, the reality of soaring inflation and other pressures mounted.

Maisonet has sold the business, but he says Cafe Deux Soleils is done — he expects a Mexican restaurant to occupy the space in the coming months.

07 Oct 15:31

The week the wheels came off the Brexit Britain bus

by noreply@blogger.com (Chris Grey)
mkalus shared this story from Brexit & Beyond.

The political ambitions of the libertarian wing of the Brexit Ultras have always been ambivalent. On the one hand, they have largely preferred to complain of betrayal from the sidelines rather than take any responsibility or, if accepting ministerial office, to quickly resign rather than engage with the pragmatic realities of Brexit. On the other hand, they have hankered to be in charge not just so as to create ‘true Brexit’, but the ‘real Conservatism’ of which Brexit was a part and to which it was a gateway.

With the advent of Truss’s premiership, they have eschewed the sidelines in favour of governing and, with a rapidity that even their sternest critics would have thought it cruel to predict, have been exposed as utterly incompetent, both politically and economically, and in the most basic of ways. It is deeply ironic that this has happened at the hand of ‘the markets’ which they so slavishly fetishize.

Anatomy of a crisis

The occasion, of course, was last Friday’s tax-cutting ‘mini-budget’. “At last! A true Tory Budget”, the Daily Mail drooled, whilst Nigel Farage simpered about “the best Conservative Budget since 1986”. Yet, whether despite or because of this fidelity to Conservatism, and as anticipated in my previous post, there was an immediate crisis in the currency and bond markets, with the value of the pound falling to its lowest ever level on Monday, and the cost of government borrowing in the form of gilts or bonds rising very sharply. Amongst numerous knock-on effects, pension funds, which invest heavily in such bonds, came within hours of mass insolvency on Wednesday afternoon, threatening a major breakdown of the financial system and requiring major emergency temporary action from the Bank of England. This, in combination, with a clear signal from the Bank that interest rates will rise in due course, which eased pressure on the pound, has effected a degree of stabilization, but markets remain jittery and it’s by no means clear that this crisis has run its course, especially as regards gilts.

These weren’t routine or trivial market movements, but an overwhelming and brutal vote of no confidence in the government’s plans. Specifically, they were a vote of no confidence in the decision to cut taxes, or not implement previously planned tax rises, and to fund this through borrowing. Again as anticipated in my last post, the government’s refusal to allow its plans to be scrutinised independently by the Office for Budget Responsibility added to market alarm. So, too, did Chancellor Kwasi Kwarteng’s casual reaction over the weekend, even suggesting further tax cuts to come. The rout continued on Monday when, as Paul Donovan, Chief Economist at UBS Global Wealth Management, put it, “investors seem to regard the UK Conservative Party as a doomsday cult”.

Throughout the week, the absence of public statements from Truss or Kwarteng compounded this impression, and when Truss did emerge on Thursday morning it was to re-confirm the government’s policy and downplay the market reaction, as well as denying it had anything much to do with the mini-budget. To the extent she admitted any connection it is the false one that markets didn’t like the costs of the energy bill support part of the budget, when in fact it was the tax cuts. It has since emerged that this and the equally false claim that what is happening in the markets is a global event due to the Ukraine War rather than something specifically affecting the UK are to be the government’s lines of defence.

Amongst the most significant events was when, on Tuesday, the International Monetary Fund (IMF) issued what BBC Economics Editor Faisal Islam described as a “stinging and unusual rebuke” to the UK. What made it so unusual was that such IMF warnings are usually made to emerging markets, not leading global economies. I mentioned in my previous post that aspects of the economic situation resemble those which occasioned the IMF’s 1976 bailout of the UK, and its statement this week that it is “closely monitoring” developments in the UK carried echoes of that. It was also, like the comments of other international players and the decisions taken by traders, a reminder that, no matter what Brexiter ‘sovereignty’ fantasists may think, the UK can never be ‘independent’ of the wider world within which it is a relatively small player. Most fundamentally, the Brexiters’ belief that they can create their own reality, and that all opposition can be swept aside as ‘Project Fear’ or ‘remainer sabotage’, was tested almost to the point of destruction.

These events have been widely reported and there’s no point in me adding more to that. Instead, I want to tease out more about the Brexit aspects and implications.

The Brexit mini-budget

At one level, the mini-budget had very little to do with Brexit in that, so far as I can see, the only provision within it that wouldn’t have been possible whilst a member of the EU is the planned removal of the cap on bankers’ bonuses. That isn’t unimportant, politically, but it’s not what spooked the markets. However, it is the budget of the Brexit Ultras and it is intimately bound up with Brexit. In case anyone doubts that, it was underlined by Farage’s endorsement. Even more explicitly (£), John Longworth, one of the most immoderate of the Ultras, regards it as part of Truss’s battle “for the future of Brexit Britain”. It’s a sentiment widely shared in Brexiter circles, with the Bruges Group tweeting that “remain media are talking up market panic … to derail Brexit”.

So, given that the Brexiters themselves regard the mini-budget as integral to Brexit, it’s reasonable to say, as Robert Shrimsley of the Financial Times did (£), that “Brexit ideology lies behind the UK’s market rout”. It’s abundantly clear to even the feeblest intelligence that those Brexiters now include Truss, for all the fury  of Dominic Cummings’s denials (directed at me!) on the inane grounds that she supported remain in 2016. As I pointed out during the campaign, she is now a ‘born again Ultra’, perhaps the more fanatical for being so, and was extravagantly endorsed by the leading Ultras, making the fact that she was once a remainer the most tedious and least relevant thing to say about her.

As so often before, Brexiter responses to the crisis they created have been confused and contradictory. Some in the government prissily said they could not comment on market events, as if some new Trappist ordinance of political propriety has been invented. Others downplayed what has happened, suggesting that the market reaction is either trivial or transient, or even that it has little or nothing to do with the budget but is simply a result of a strengthening dollar (which doesn’t explain why the pound fell against all major currencies, or what happened in the bond market). Outrageously, some, like Crispin Odey, hedge fund manager, Tory and Vote Leave donor, and sometime employer of Kwarteng, blamed “remainers”. Peak insanity was reached by Daniel Hannan, who blamed the crash not on the mini-budget, but market fears of a Labour government!

In addition, or instead, some Brexiters blamed the Bank of England (BoE) for having failed to increase interest rates by enough, early enough, or to have reacted immediately to the crisis so as to support sterling and control inflation. That argument is more complicated than their others. There is a case that last week’s pre-budget interest rate rise should have been larger, although it’s not a straightforward one because doing so would also have been likely to impact on the cost-of-living crisis by pushing up mortgage rates.

Nevertheless, it was the government’s mini-budget, not the BoE, that caused this crisis and there is something bizarre about a government simultaneously taking inflationary measures it says will boost economic growth, whilst relying on the BoE to take measures to reduce inflation and choke off growth. Indeed, part of the reason for market nervousness is that the institutions of financial and economic governance are not acting in a consistent and coordinated way, something flagged up by Mark Carney, the former BoE Governor whose actions did much to preserve a degree of economic stability after the Brexit referendum vote. Perhaps the BoE could have acted earlier, though had it done so it's easy to predict that then it would have been accused of overreaction and of trying to undermine government policy. In any case, what is even more bizarre is the spectacle of Brexiters, with their disdain for experts, technocrats and unelected bureaucrats, positioning the BoE as having responsibility to save the government from itself. Or perhaps it is not bizarre, so much as a reflection of the Brexiters’ reflex refusal ever to take responsibility for anything even when in government.

Government by cultists

That refusal has as its counterpart the distinctively Brexity idea, now taken over wholesale by this Brexit government, that they are beleaguered revolutionaries of true Conservativism fighting the (presumably false) conservatism of ‘the Establishment’. The notion of Brexit as an anti-Establishment insurgency has been a ludicrous one ever since the 2016 referendum was won, and Brexit became adopted as the central policy and national strategy. It is even more so now that the Brexit Ultras are unequivocally in charge of government, though of course it is a standard populist trope, familiar from the Trump presidency.

What we have seen this week is that the Brexiters have added ‘the markets’ to the increasingly long and diverse list – encompassing the ‘Woke’ Blob, the civil service in general and the Treasury in particular, the BoE, remainers, rejoiners, the National Trust, the BBC – of enemy forces they must confront in the name of revolutionary purity.

Longford explicitly included the City in this list, whilst unnamed government figures suggested that traders were enacting “a plot by the left” which will have come as a surprise to them. Similarly, the Daily Mail reported that senior Tories blame “City Boys” for “sparking economic chaos” with traders “trying to make money out of bad news”. Well colour me shocked. Haven’t these free-market ideologues worked out that ‘trying to make money’ is what traders always do, indeed it’s all that they do? Do they think that ‘City Boys’ care about making government policy look good? And aren’t these the same ‘City Boys’ who, according to Kwarteng, are the brightest and the best who must be encouraged to come to London by uncapped bonuses? Aren’t they, for that matter, good ol’ City Boys like Crispin Odey?

The IMF, which has long been on the Brexiters’ list of enemies, also came under attack for its comments. For example, Brexiter economist Andrew Lilico was outraged by its “left-wing” intervention, to the point that he advocated the UK should “withhold its IMF contributions”. It is a strange world in which the IMF is considered ‘left-wing’ (or even, as Brexit Party ex-MEP Lance Forman had it, “socialist” and under the influence of the EU), and the idea of withholding contributions seems to conjure up a vision where Brexit is the gateway to exiting any and every international institution, in a permanent revolution of endless Brexits.

Also triggered by the IMF, David Frost opined, contradictorily, that its comments were “somewhat eccentric” yet reflected its “highly conventional approach”. This is indicative of the fact that what is at stake is more than Brexiter whinging about the enemies that beset them. This government, and its semi-intellectual underlabourers in think tanks and the media, are convinced that they are the custodians of a new truth. The markets and their economists are “attached to the old way of doing things” as Patrick Minford put it, to the extent that “there is no sterling crisis except in the minds of idiots” (£). Similarly the BoE has “not got the memo” about the “economic consensus crumbling” according to Paul Marshall (£), investment manager and Vote Leave donor. Thus arch-Brexiter journalist Allister Heath insists (£) Liz Truss must “hold her nerve” and defy the “orthodoxy” of “the elites”.

Their problem is that, as the market reaction shows, the ‘old ways’ still hold and the ‘economic consensus’ remains. Calling it an “orthodoxy” is accurate, but that very accuracy shows why decisions to “defy” it are foolish. That’s why investors regard the Tory government as a ‘doomsday cult’, and responding that investors are ‘idiots’, ‘conventional’ or even ‘socialists’ makes no difference, except perhaps to re-enforce them in that view.

As I put it in my last blog, traders simply don’t care about the theories of Patrick Minford, or of the broader IEA-derived analysis of the cultist government. Indeed, one of the few semi-amusing features of Brexit is the spectacle of all these free-trade, free-market economists going into contortions to explain how erecting trade barriers doesn’t damage trade and, now, why markets don’t understand how to price currencies or debt. It’s this stupidity that accounts for the fact that, apparently, market traders talk of the demand for a “moron risk premium” in order to hold sterling assets and fund UK debt.

But is there a cunning plan?

However, there is a different interpretation of all this doing the rounds on social media*, in which, far from being utterly incompetent, the Brexit government has a skilful, if malevolent, plan. It is an interpretation which comes in two variants.

One version is that the government deliberately crashed the markets, secretly giving hedge fund traders and others – with whom the current government has strong links of networks and party funding – advance notice so that, as indeed happened, they could short the markets and make fortunes. It doesn’t really make sense, though, because no such secret information would need to be passed – it was obvious even to me, and widely predicted, what was going to happen if the mini-budget pursued the policies Truss had openly advocated during the leadership campaign. Indeed that’s why the pound was beginning to fall once it became clear she was almost certain to win.

It also doesn’t make sense given the huge political price of the crisis. Some suggest that the government is so fanatical that it does not care about winning elections, or already thinks the next election is lost, and will inflict any amount of damage in order to pave the way for disaster capitalists to swoop in. Even, some say, the government ministers devising this scenario are doing so in expectation of lucrative employment with hedge funds and the like. But I’ve never met or heard of a politician who having devoted years to a political career has so cavalier an interest in its continuing success, and it seems extremely improbable that it would characterise an entire government.

And if it really does, then why provide energy bill support, so plainly at odds with small state, libertarian ideology? Indeed that seemed to be Truss’s position early in the leadership contest, when she spoke against giving people “handouts”, only to change tack when it became clear what the political consequences would be. The same applies to the theory of a deliberately engineered market crash.

The second variant of the ‘cunning plan’ interpretation is that the market reaction was anticipated by the government with the intention of providing a justification for a subsequent full budget including massive public spending cuts, as well as ‘supply side’ deregulation of labour rights, planning, and environmental standards, in order to ‘satisfy the markets’. On this account, the government manufactured the current crisis as a step to that pre-existing end goal.

In reality, it is highly unlikely that any government would deliberately create such a crisis, again because of the political consequences. Whatever any government’s agenda may be, it can only deliver it if it is in power and able to exercise power. That remains true even if the agenda is a secret one to enact some Ayn Rand-like laying waste to society and the state or, at least, a massive rolling back of the state. It still requires being in power, and being in power for a considerable amount of time, and with very little opposition or constraint. Yet some, such as Guardian journalist Polly Toynbee, think this week’s crisis will put the Conservatives out of power for a generation and many Tory MPs fear just that. But if the analysis that the government wouldn’t want a crisis because of the political consequences isn’t accepted, then why would it feel the need to provoke a crisis to justify spending cuts, rather than simply make the cuts and face the political consequences of doing so?

I suppose that those who believe the ‘cunning plan’ theory, in either variant, will never be persuaded otherwise, despite its inherent implausibility. One thing about such theories is that (ironically, rather like those of the Brexiters) they constantly twist the available evidence to ‘prove’ themselves. For example, until very recently Rishi Sunak appeared in such theories as the arch-libertarian, product of Goldman Sachs, former hedge fund partner and, supposedly, masterminding the introduction of ‘Charter Cities’ into the UK. Surely if the plan to deliberately crash the markets existed then he would be part of the government delivering it, perhaps even leading that government? And if he had been then, inevitably, that would have been cited as ‘proof’ of this secret plan. Yet, in fact, it was he who, during the leadership campaign, repeatedly denounced the “fairy tale” of Trussonomics, anticipating exactly the effects it would have on currency and bond markets and rejecting it as irresponsible.

No, just incompetence

So my own view is that, in their arrogance and delusion, this Brexit government, and its cheerleaders, really do believe it has found a new ‘unconventional’ economic model and did not expect the market reaction, and that although a full November budget was certainly planned, including the announcement of the deregulatory ‘supply side reforms’ that will supposedly deliver the growth to pay for tax cuts, it was not going to include significant spending cuts which, instead, were anticipated for after Truss had won the election on the back of what they expected to be a growing economy. Then, with the legitimacy of a fresh mandate and a compliant parliamentary majority, she would declare it was time to shrink public spending but without coupling that with the tax cuts that would already be in place.

If my interpretation is right, the government’s plan is now in tatters, and the expectation is that the November budget will feature huge spending cuts (£) (and perhaps reversing the tax cuts, as some Tory MPs want, which can’t be ruled out though it seems unlikely at the moment). That may seem to be the same outcome as version two of the ‘cunning plan’ that I’ve rejected, but my point is that the government would not, from choice, have initiated spending cuts before the election but afterwards, because of the political unpopularity of such cuts. Otherwise, why not just have held a normal budget this Autumn, featuring both tax and spending cuts, avoiding a market crisis altogether, taking a political hit, no doubt, but nothing compared to that which they now face.

For this government was already politically weak, and as a result of this crisis is now much weaker. Although the libertarian cabal has taken control of the government, both it and Truss have many opponents amongst MPs and, as I remarked in a post during the leadership campaign, the current Tory Party is so riven by factions as to be unleadable, with rebellions an ever-present possibility. This week’s crisis has laid that bare, with, almost astonishingly given how new her premiership is, reports of letters of no confidence in Truss being submitted by some MPs and threats of backbench revolts.

Crucially, the latest opinion poll, published yesterday evening, shows a massive 33% Labour lead, an increase of 16% since the mini-budget. That may not last, but it’s very possible that the government will not recover from this crisis, rather as happened after Black Wednesday in 1992 when the immediate fall in the polls was actually smaller.

It’s not just a matter of the electorate reacting fearfully to headlines of market turmoil and the sense that the government has lost control, it’s the impact on prices, most obviously petrol, and on mortgages, with several major lenders withdrawing fixed-rate offers this week and rates certain to increase, as well as predicted significant falls in house prices, perhaps by as much as 15%. This comes on top of the acute existing energy and general inflationary problems voters face, and their negative reaction can only be compounded if this crisis is immediately followed by, and seen to be the cause of, a new round of deeply unpopular ‘austerity’ spending cuts. The consequence is that Truss is now much less likely to win the next election and, possibly, won’t even survive until then.

Ultimately, the key point as regards the competence of this government by cult is that actually it’s irrelevant whether the crisis was the unexpected consequence of last Friday’s mini-budget decisions or was indeed ‘the plan’. Either the government was too incompetent to anticipate the scale of market reaction, or too incompetent to anticipate the scale of the political consequences of that reaction.

The dangers of cultism

The question about design versus incompetence has a wider significance. Throughout the Brexit process there have always been some, mainly remainers, who are adamant that it is driven by Machiavellian master strategists who conceal themselves behind a façade of stupidity and incompetence. To my mind, it is an absurd notion: not only did the Brexiters never have a single, unified, strategy but also everything I have seen or heard about them suggests that they really are just as incompetent in private as in public.

So now that we have a government of the libertarian Brexiters, it genuinely believes – egged on by its think tank advisors – that it is in possession of a new truth, one despised and ignored by the ‘experts’ whom they see as financially and intellectually invested in the ‘old way’ of doing things. That truth informs the fantasy economics of this ‘budget for growth’ but encompasses the entirety of the Brexit project, including the persistent, hubristic delusion of the UK’s power to dictate terms to the world around it and the fantasy which accompanies it about what ‘sovereignty’ means.

It rests upon a fanaticism, completely at odds with reality, shored up by the impregnable arrogance and mulish stubbornness of mediocrity. The most dangerous thing about it is not that these fanatics refuse to listen to any warnings, whoever they come from, it is that the more they hear those warnings the more convinced they are of their own rightness. This is the Brexiter logic I have written about so many times before (I think the first time was May 2017) in which every piece of evidence that proves their claims wrong is re-interpreted as proof that they are right.

That perverse logic is compounded in government by the creation of a groupthink bunker from which all dissent is banned, external constraints regarded as sabotage, and everything outside regarded as the treacherous machinations of the enemy. Some of the responses from the Brexiters to what has happened this week show the virtual insanity that is required in order to sustain this view of the world.

The bigger picture

This is an utterly disastrous approach to running the country, and it was brutally exposed as such by what happened this week. This, I think, was about much more than the government’s plans to increase debt. For one thing, it’s just the latest example of how the pound has ebbed and flowed since Brexit, always dropping when it seemed as the most extreme Brexiters would prevail (e.g. in getting ‘no deal Brexit’) and rising when it seemed that some degree of relative pragmatism was in the offing, though overall the general trend was always downwards.

Much more importantly, whilst the Donovan comment about a ‘doomsday cult’ being in charge of the UK was at one level a specific reference to Truss’s government it surely reflects a wider view of the UK since Brexit. That view isn’t simply to do with this or that budget, or even anything specific or measurable. It’s the more general reputational and cumulative effect of seeing a country which for six years has taken bizarre decisions, picked needless fights with its allies, showcased political instability, been cavalier about institutional probity, constitutional propriety and the rule of law, and all the other pathologies of Brexit and its aftermath. Throughout all of this has been the underlying presence and power of, indeed, a doomsday cult of Brexit Ultras, impregnable to evidence and reason. We are now seen, rightly, as a country which has become less reliable, less stable and less trustworthy, and, in some fundamental way, detached from reality.

So the market chaos this week and the economic crisis it has caused are contextualised by the general lack of confidence in such a country as well as providing an example of Brexiter fantasies, and specifically those of the budget, being found out by reality. In that sense, the current crisis is a crisis of Brexit.

A nation’s currency isn’t necessarily a reliable measure of its standing, and if it is then it’s a crude one and certainly not only one, and it is affected by many things. But it tells us something. Consider, then, that since the day before the referendum, when it was worth $1.49, to the pound’s lowest point of $1.03 this week – just six short years, though how long they seem – sterling has lost an astonishing one third of its value. It’s as good a measure as any of what Brexit has cost us economically, whilst symbolizing far, far more than our economic losses.

 

 

*I usually provide links when discussing the claims and arguments of others so that readers can judge whether I am representing them accurately and fairly. In this case I haven’t found any public figure making this argument which instead comes from numerous small social media accounts and it would be unfair to identify them. But the argument is being made by a significant number of such accounts, so is clearly widespread, which is why I am discussing it.

07 Oct 15:31

Alberta, Philippines reach agreement to recruit more nurses to the province

mkalus shared this story .

The Alberta government says it has signed a memorandum of understanding (MOU) with the Philippines to bring more registered and licensed practical nurses to the province.

The agreement means that the Philippines will encourage nurses to choose Alberta when seeking international opportunities, Premier Jason Kenney announced in Calgary on Thursday.

In return, the Alberta government will provide financial, educational and licensing assistance to help make transitions to Alberta easier.

According to Zaldy Patron, the Philippines Consul General, this is the first agreement of its kind in Canada.

"Our Filipino nurses are world-class and are known for their competence, work ethic and compassion," Patron said.

"This MOU will provide them the opportunity to reach their full professional and human potentials here in Alberta."

Filipino nurses 'in demand around the world,' Kenney says

The deal was struck with the Government of the Philippines over the course of several months, Kenney said.

It will make Alberta a preferred destination for Filipino nurses who he said "are in demand all around the world because of their remarkably high skill [and] their culture of compassion."

"However, when they come here, they often have — like most immigrants do — challenges getting their credentials recognized so they can get to work at their skill level," Kenney said.

"The Philippine government wants to make sure that their nurses — and generally, that their migrants — go to welcoming host societies that respect their rights, pay them fairly, and let them get to work at their skill level."

Bursaries, programs and systems

The province announced it is investing $3.5 million to help all internationally trained nurses get upgraded and placed in a clinical setting faster.

As part of its MOU with the Philippines, the Alberta government said in a Thursday release it will provide bursaries to help pay for upskilling.

It will streamline assessment and licensing programs, and help applicants use regulatory systems.

It has also agreed to consider the establishment of an Alberta-accredited nursing program in the Philippines.

"With more Filipino nurses able to practise as registered nurses in this province, they will provide the much-needed boost and energy for Alberta's health-care system," Patron said.

Health-care workers pushed 'to the limit,' opposition says

The announcement comes as health-care workers have said the system has been under strain due to staffing shortages.

In May, CBC News reported that travel nurses contracted by private agencies are being used to fill gaps in Alberta hospitals.

Meanwhile, some hospitals in Alberta have reported staffing-related closures and long wait-times for patients.

In a news conference that followed Kenney's, Alberta NDP health critic David Shepherd said the UCP had "pushed paramedics and nurses and doctors to the limit."

Heather Smith, president of United Nurses in Alberta, told CBC News on Thursday that staffing levels for nurses in Alberta are in "crisis."

She said nurses are leaving the province and profession because they and their patients are being put in jeopardy by those shortages.

Pandemic exhaustion and conflict with the provincial government has also played a role.

"We have an unsustainable level of loss, anger, fear and frustration … in terms of the continual, daily shortage of personnel," Smith said.

"The announcement today … that's good, but the first element of retention and recruitment should be trying to retain the staff we have."

07 Oct 15:18

Unemployed data scientist

by Nathan Yau

It seems a lot of data scientists have either left or were laid off from their jobs during the past few months. Jacqueline Nolis and Emily Robinson, data scientists who hosted a podcast and wrote a book on building a career in the field, happened to be in the lot. So naturally, they brought back the podcast for a bonus episode on their experiences with sudden unemployment and the job search.

I’ve never had a “real” job (as some tend to tell me), so workplace experiences are always interesting to me, like peering into an aquarium. The layoff process seems not fun.

Tags: data science, job, layoffs

07 Oct 15:18

✚ How to Draw and Use Polygons in R

by Nathan Yau

You can use straightforward functions in R to draw certain shapes, such as circles, squares, and rectangles. However, sometimes you need to draw a more complicated shape or one that’s based on data.

Become a member for access to this — plus tutorials, courses, and guides.

07 Oct 15:18

Wide range of data exploration tools

by Nathan Yau

Simon Willison asked a straightforward question about the tools people use:

If someone gives you a CSV file with 100,000 rows in it, what tools do you use to start exploring and understanding that data?

Then he expanded the question asking what people use for files with 1 million rows, 10 million rows, and 1 billion rows.

Browse the thousands of replies, and you quickly see that (1) there are many options to explore a dataset and (2) many people feel that what they’re using is the best option. There’s click-and-play programs, web-based products, programming languages, and command-line options. Some use a combination of whatever works for them at a given time for a certain dataset.

This is why when people ask me what the “best” tool is, I usually have to follow up with what they know already and what they want to do with the tool. It’s also why best-of lists for data exploration are usually not worth your time, unless you account for the assumptions about usage.

Tags: exploration, thread

07 Oct 15:18

Accessible visualization with Olli JavaScript library

by Nathan Yau

The Olli library aims to make it easier for developers to improve the accessibility of existing charts:

Olli is an open-source library for converting data visualizations into accessible text structures for screen reader users. Starting with an existing visualization specification created with a supported toolkit, Olli produces a keyboard-navigable tree view with descriptions at varying levels of detail. Users can explore these structures both to get an initial overview, and to dive into the data in more detail.

Tags: accessibility, Matt Blanco, Olli

07 Oct 15:17

Light up Toronto for a Brighter Road Safety future!

by jnyyz

Tonight was a rally for safer streets for pedestrians and cyclists, organized by many different community and advocacy groups. The rally started at Ramsden Park on Yonge, and walked down Yonge St to Yonge-Dundas Square. This poster lists the many organizations behind the rally.

There were several feeder rides to the rally. This is the group that started at the Jane subway station. Chris in the orange vest is our leader and we were joined by mayoral candidate Gil Penalosa of 8-80 cities, and Thomas Yanuziello just to his left who is a candidate for Ward 2.

As has been noted recently, the construction under the railpath/UP express bridge is done, and at least the paint striping for the bike lanes has been restored.

Note that curbs with bollards will be added, although there is plenty of room for jersey barriers as used in underpasses on Runnymede and Lansdowne.

Unfortunately the other underpass is still not finished. This project will take a while since it is part of the Davenport Diamond project.

The crowd gathers at Ramsden Park.

Albert of the Community Bikeways Coalition is herding cats. He says that candidates should stand behind him, and everyone else in front of him.

Here are some of the candidates.

Albert introduces himself and names all of the community groups that have come together to organize this event. He notes that all of the organizations have come up with a list three promises for candidates to pledge in advance of the municipal election. They are listed here, and can be summarized as follows:

  • reduce speed limits across the city (30 kph for neighbourhood roads, 40 for arterials)
  • increase capital funding for vision zero road projects
  • reallocate road space from motor vehicles consistent with complete streets guidelines.

He said that 33 candidates have signed on thus far. I will note that three candidates in Ward 4 have signed (Agrell, Lhamo, Perks). He noted that even if each of the groups gathered here had only a relatively small number of members that if we can all pull together we can make a difference. We want to elect as many supportive candidates to city council as possible.

He then introduced Najia Zewari, founder of the Women’s Cycling Network. She said that they now have over 500 members, primarily recent immigrants and refugees. The members have fallen in love with cycling, but they want to ride on safer streets.

Next up: Bob Murphy of Acorn Canada, a group concerned about affordable housing. He comes from Weston where bicycle infrastructure is badly needed.

Next was Jess Spieker from Friends and Families for Safe Streets, reminding us that under current conditions there are still far too many victims of road violence in the city.

Next, every candidate present was given 30 seconds to make a pitch. Inevitably some of them went over time, but it was good to hear so many difference voices talking about the importance or road safety.

I will note that Gord Perks was there for Ward 4, and Chemi Lhamo sent someone to speak on her behalf. Siri Agrell was absent.

Finally Mark outlined how the walk was going to be organized.

The procession is to remain behind this banner.

Bike Marshalls getting ready to be an advance guard.

Here we go.

Riders were corking intersections to keep everyone safe, and there were three or four cargo bikes as a rear guard as well.

Yonge and Bloor

Yonge and Dundas.

Albert thanks everyone for coming out, and reminding everyone to vote on Oct 24.

Good to see so many of the usual suspects tonight. Let’s hope that we can make road safety a key issue in this election, and get as many supportive people as possible on city council, and even in the mayor’s office.

Combined with the #ActivisionTO ride on Saturday, it was a good weekend for getting the message out about making cycling safer in the city.

Update:

Toronto bike rally lights up the night for cyclist’s rights (Star)

Video from Joey Schwartz

Coverage on CBC Metro Morning