Rolandt
Shared posts
"If there were a functioning global community, it would be wrestling with how to more aggressively..."
Word of the Day: Caesura
"Friendship is the smallest measurable unit of political resistance."
Apple apologizes and explains changes
As a result of our review, we realize we haven’t been fully living up to our high ideals, and for that we apologize. As we previously announced, we halted the Siri grading program. We plan to resume later this fall when software updates are released to our users — but only after making the following changes:
- First, by default, we will no longer retain audio recordings of Siri interactions. We will continue to use computer-generated transcripts to help Siri improve.
- Second, users will be able to opt in to help Siri improve by learning from the audio samples of their requests. We hope that many people will choose to help Siri get better, knowing that Apple respects their data and has strong privacy controls in place. Those who choose to participate will be able to opt out at any time.
- Third, when customers opt in, only Apple employees will be allowed to listen to audio samples of the Siri interactions. Our team will work to delete any recording which is determined to be an inadvertent trigger of Siri.
There is a lot more to read. I like the plain language.
I fully expect that people in Germany will be told to not opt into the grading program and as a result, Siri will perform much worse in the German language.
Daniel Figures Out One of the Two Crashing Bugs
We have a few reports of a crash where the add-feed-sheet window doesn’t load. There’s a line of code with window!
— because of course we expect the window to have been loaded — and it crashes right there.
This crash made zero sense to me, but Daniel Jalkut figured out the most likely cause and was able to reproduce it: it’s because the person has moved the app (from one folder to another) after launching it, while it’s running, and the nib-loading machinery can’t find the nib, because it’s moved along with the app.
Tip: if you’re going to move an app, quit it first, then move it, and then re-launch it!
At any rate: our fix for this will be to load that sheet on startup, and then recycle it on each use. This fix will go into NetNewsWire 5.0.1.
This just fixes the bug with this one nib, though. A more systematic fix — maybe just a warning to the user suggesting they quit and re-launch — would be a good idea.
File under “bugs iOS developers never have to worry about.” 🐇
PS We have a 5.0.1 beta milestone now.
Microsoft Academic Knowledge Graph
I'm not sure exactly what I would do with this, nor how complete it is, but it is definitely worth noting: "a large RDF data set with over eight billion triples with information about scientific publications and related entities, such as authors, institutions, journals, and fields of study. The data set is based on the Microsoft Academic Graph and licensed under the Open Data Attributions license." It could be used for such things as this data-driven history of the philosophy of science.
Web: [Direct Link] [This Post]A Tiny Sea Ecosystem in a Jar
One of the highlights of my high school career was the 'closed ecosystem project' wherein we took a jar full of creek water and plant life from the bottom, sealed it, and watched what happened. I kept careful track of it for months while everyone else gave up after a few days, so I got 20/10 for my report. This project is similar. "Last year, this YouTuber put some seawater, sand, and a few small plants in a large jar and sealed it up and over the course of the next year, a number of surprising things occurred in this closed ecosystem."
Web: [Direct Link] [This Post]West Pacific: Where We Work
Milano, Gastown
Space, Gastown
(For full images, click on title.)
Print Boldly with photo prints on Flickr
We’re thrilled to bring every photographer on Flickr a new professional-quality printing experience. Whether you’re a passionate beginner or a seasoned Pro, you can now order prints from the best pro labs around the world, capturing the beauty of the images that mean the most to you.
How does it work?
Whether you want to order a statement piece for a space you’re decorating or paper prints to share with family and friends, you can shop print products with just a few clicks.
Log in to your Flickr account and select the brand new Prints menu item in the upper navigation. You’ll be able to select the photo you want to print, choose the product style, size, and finish and add to cart. When you’re done making your selection, go to your cart and check out.
Or, while you’re browsing through your Photostream, choose a photo, click the new shopping cart icon, and select the product (we love the metal prints) to add it to your cart. Simply repeat this step to add more photos and items to your cart. When you’re done shopping, head back to your cart (accessible through the Prints menu item in the upper navigation) and check out.
Why print through Flickr?
We’re committed to making Flickr your be-all home for photography and this is just one more step to giving photographers better ways to let their photos live beyond the pixel. We are partnering with some of the best photo labs on the planet (Bay Photo, Loxley Colour, and White House Custom Colour) to make sure that no matter what size or shape your print, you’re getting professional quality prints each and every time.
What kind of prints can I get?
Metal prints: When you want to stand out.
Metal prints deliver unparalleled color and vibrance to produce a depth and clarity unlike any other photographic wall art. If you want a print as bold as your most epic photo, look no further than metal prints.
Paper prints: Big or small print them all.
Paper prints are a time-honored way to show off and share your favorite photos. From stacks of 4x6s to frameable statement pieces, you’ll be able to find the perfect size and paper finish for your favorite photos.
Canvas prints: Add a little class to your casa.
Add a little class to your home, office, or whatever other space needs the finesse of a classic canvas print. With shapes and sizes perfect for wherever you want to hang your photos, your images will look outstanding.
While you’re at it, come join the new Flickr group: Print Boldly. There will be lots of discussions and conversation around preparing your photos for printing, finding inspiration around what to print, and exclusives and deals for all members.
We’ve been lucky enough to lean on our friends at SmugMug to develop this new feature. This has been an awesome opportunity to take advantage of our sister product teams’ skills to build something new while most of the core Flickr team was consumed by the migration including getting Camera Roll up and running again. It was a team effort!
Have fun and #printboldly!
(Cover photo: What He Might Have Heard by Thomas Hawk, CC BY-NC, used with permission)
Intercepting JSON HTTP Responses to Web Browser Page Requests Using MITMProxy
Coming back from a week or so away, the car let us down with a ruptured water hose which sent my confidence / mental state tanking, albeit with the AA managing a quick fix with some new-to-me water activated tape along the lines of this . (It’s bad enough requiring a call out, but the stress is multiplied when you live on an island!)
My reboot strategy was to have a quick play with data from the weekend’s WRC rally, but when my datagrabber failed, it tanked my mood further and resulted in an 18 hour not-moving / not eating manic coding stretch that I’m still bleary eyed from.
The problem stemmed from a couple of things that interacted enough to confuse me. One was a pandas update that changed the behaviour of the json_normalize
function I was using to unpack JSON values, and the other was the behaviour of the WRC server I pull data from (probably in breach of terms and conditions) which erratically kept giving a NULL/404 response to valid requests.
I’m not sure if the server behaviour was a defensive measure against scraping on the part of the publisher or if it’s an issue with the cache service I’m pulling from (certainly, hitting the same URL could give a valid data response, then nothing for the next few hits, then a response again). I tweaked my Python requests scraper code by adding some header info to spoof a browser user-agent, as well as tweaking the request period to make it play a bit nicer, but still the erratic 404s appeared at any ever greater rate.
Loading pages via a browser works okay, with the JSON requests being handled correctly, so I could just scrape the HTML tables that I think the JSON is used to populate (else: why load it?), although I have noted in the past that the JSON data structures have more data fields than are displayed in the WRC live timing HTML tables.
Then I started wonder about how to automate the collection of those requests using a browser automation route, with Selenium handling page selections and something grabbing the data perhaps from the browser devtools har archive (right click on a recorded entry in the devtools network listing to save all of them to a har archive).
The har archive itself is a JSON file, so that’s quite easy to work with, but the Chrome export (I think) is everything, not just filtered requests as in the screenshot above. Firefox seems to let you filter network items and just export filtered ones to a har file, which you can then open as a json file, filtering on the url to identify the request(s) of interest.
In passing, I also note that the har-extractor
tool makes previewing life easier in the way it unpacks requests from a har archive into discrete files in a (nested) directory structure.
I also notice just now that the Firefox developer tools also seem to have a websocket sniffer, which could be handy… [UPDATE: I think that may be an extension I installed…] FWIW, I also started trying to get my head around web sockets in a generic Python context when I was trying to come up with a simple MyBinder client (see here): A Minimal Python Client for MyBinder.
Whilst the Firefox route looked promising, I wasn’t sure how automatable it would be: whilst selenium-py would let me script lots of link clicking in the WRC site, I’m not sure it provides an API to browser dev tools?
I did find one tool I thought looked interesting, selenium-wire
, but it seems to only capture headers, not payloads, of requests made from the selenium scripted browser:
#!pip3 install selenium-wire from seleniumwire import webdriver # Create a new instance of the Firefox driver driver = webdriver.Firefox() # Go to a WRC live timing page driver.get('https://www.wrc.com/en/wrc/livetiming/page/4175----.html') # Access requests via the `requests` attribute for request in driver.requests: if request.response: if 'sasCache' in request.path: print( request.path, request.response.status_code, request.response.headers, request.body, '\n' )
I can see how that might be handy for capturing the addresses of resources loaded by a page, but I want the actual gzipped JSON data that forms the request content for the resources I’m interested in…
UPDATE: seems like selenium-wire is totally up to the job:
Update: this also looks interesting, proxy.py.
Poking around further, it seems the best approach is to use a proxy that can grab traffic as required. There are lots of partial clues as to what to use out there, many of them referring to browsermob
and the BrowserMob Proxy Python client, but no full recipes.
Another proxy that looked a bit easier to use, with a Python base and more powerful in the way you can script it, is mitmproxy (“man-in-the-middle proxy”).
Again, the docs and recipes seem to be a bit scattered, so here’s a complete recipe that worked for me…
Start off by installing the proxy and getting it running. You can do this on the command line with:
pip3 install mitmproxy mitmdump -w test1 #This will dump intercepted requests into # the file: test1 #close with: ctrl-c
On my local install, but not MyBinder?, I can actually run this as a background job from a notebook code cell using cell block magic:
%%script bash --bg mitmdump -w test1
To stop the background process, we could look up the process number from a code cell and then kill that process by process ID (kill PROCESSID
):
#Process numbers ! ps -e | grep 'mitmdump' | awk '{print $1 " " $4}']
or let the (Linux) machine do it…
#Or to kill eg !kill $(ps -e | grep 'mitmdump' | awk '{print $1}' )
In a notebook, we can then launch a (optionally, headless) selenium controlled browser:
from selenium import webdriver PROXY = "localhost:8080" # IP:PORT or HOST:PORT chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=%s' % PROXY) chrome_options.add_argument("--headless") chrome = webdriver.Chrome(chrome_options=chrome_options) chrome.get("https://www.wrc.com/en/wrc/livetiming/page/4175----.html") chrome.close()
We can view the result using the mitmweb
browser app (from the command line: mitmweb
). (Note that I think this also runs the proxy…? Again, ctrl-c
to kill it.)
We can load the file we collected within the web app and then filter the requests to ones of interest:
Selecting a request shows us the contents of the request response, which is to say: the JSON data I’m after…
So this is starting to look promising…
…even more so when we realise we can filter a collected set of resources using the mitmdump
command, for example with a construction of the form:
mitmdump -nr test1 -w test4 "~u .*sasCacheApi.*"
which will filter the archived collection in test1
using any desired filters (eg. "~u .*sasCacheApi.*"
) to create the filtered set in test4
.
We can also add filters when running mitmdump
to collect requests, For example:
mitmdump -w test5 "~u .*sasCacheApi.*"
will only capture and dump intercepted requests from locations with the desired address pattern into the file test5
.
I’ve now got a pattern that could be used to scrape lots of JSON files:
- set up the mitmproxy with appropriate filters to collect just the files I want,
- script selenium to load the desired web page and click through various bits of it to make sure all the resources I want are loaded *(not addressed here; I need to do a post on scraping with Selenium-py; for now, here’s an example of using it to [do some repetitive work](https://blog.ouseful.info/2019/01/21/bulk-notebook-uploads-to-nbgallery-using-selenium/)…)*,
- and then… then what? Parse the resource collection, that’s what…
Here’s an initial fragment for how to do that.
First, we can preview the headers for intercepted resources:
from mitmproxy import io from mitmproxy.net.http.http1.assemble import assemble_request def response(flow): print(assemble_request(flow.request).decode('utf-8')) with open('test4', "rb") as logfile: freader = io.FlowReader(logfile) for f in freader.stream(): response(f)
We can inspect what has been captured by getting the state of a flow object:
f.get_state()
This actually returns a python dict
, the keys for which we can easily preview: f.get_state().keys()
Of particular interest is the response:
f.get_state()['response']
We note that the content is compressed / gzipped, so we can uncompress that…
import gzip text = gzip.decompress(f.get_state()['response']['content']) text
All that remains now is a tweak to the iteration through the response previewer (the response(flow)
function defined above) to unzip and save each of them to a file. For example, something like:
import gzip def response2(flow): fn = flow.get_state()['request']['path'].decode() fn = fn.split('=')[1].replace('%2F','_').replace('%3F','_').replace('%3D','_') print('Saving file: {}'.format(fn)) with open('{}.json'.format(fn),'wb') as outfile: outfile.write( gzip.decompress(flow.get_state()['response']['content']) ) with open('test4', "rb") as logfile: freader = io.FlowReader(logfile) for f in freader.stream(): response2(f)
I’m still not feeling right happy / in control, though… F****g Boris…
PS as to why scrape the data? For generating things like these Stage Charts for WRC Rally Sweden.
Purism CTO Presents “A Mobile Phone that Respects Your Freedom” at CCCamp
It is not easy to build hardware that respects your freedom, and it becomes even more challenging when that hardware is a mobile phone. No one knows this better than Purism CTO Nicole Faerber–and at CCCamp 2019 she elaborated on these challenges in a 45-minute presentation: “A Mobile Phone that Respects Your Freedom.” While we strongly suggest everyone view the talk itself (it’s so good!), in this post we will pull out a few of the highlights:
Mobile phone market is a small number of big players
As everyone knows, the current smartphone market is a duopoly with the majority of phones running Android, and the rest running iOS. But the chipset market and the bulk of the smartphone supply chain is in the hands of only a few large companies. Two companies only (Mediatek and Qualcomm) account for the bulk of Android phones, which itself accounts for the majority of phones on the market. That’s not just a lot of control in a small number of companies, it also presents its own challenges if you want to create a device that respects freedom in a marketplace where the norm is proprietary software. This means most phones integrate as much as possible into as few chips as possible–and those chips generally require proprietary firmware and drivers to function.
Patents present a unique challenge
One thing many people don’t understand outside of the mobile space is the impact that patents have. Every new generation of phone technology brings with it hundreds, if not thousands, of patents. While patent holders have certain requirements to license these patents to others, they also use their patents to control the market. This is particularly relevant when you consider just how important mobile phones have become in everyone’s lives–having, in many cases, replaced the traditional personal computer as the primary computing device. This control over the market via patents presented us with a lot of challenges, in particular when attempting to source a standalone 4G modem that supported voice.
Unveiling the Librem 5 PCB
We want a smartphone that respects people’s freedom with an open, hackable design and published schematics. In fact, we are seeking “Respects Your Freedom” certification from the FSF, so we went to great effort to source freedom-respecting chips that worked with free software drivers. One big area where we could not work around proprietary blobs was the modem, so between that and our desire to use hardware kill switches–for the WiFi and the cellular baseband–we went with a design that separated out those components into their own chips (in the case of the cellular baseband, a removable M.2 card). We started by releasing a devkit in December 2018, and in this talk Nicole unveils the first public pictures of the actual phone PCB!
Conclusion
Hardware is hard, and making mobile phone hardware that respects your freedom is even harder. Challenges include finding suppliers, language barriers when working with Chinese suppliers (in many cases the only viable avenue for certain mobile phone work, these days), often dealing with long lead times, regulations and certifications. There’s also a general lack in available hackable hardware, which means that there isn’t nearly enough expertise in mobile phone hacking in the community–something we hope to change!
Nicole’s talk was marvelous–both informative and interesting–and you should really watch the video in its full version bellow, because there’s so much more to it than what we just wrote about!
Discover the Librem 5
Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we–the people–stand up for our digital rights, where you place the control of your data and your family’s data back where it belongs: in your own hands.
The post Purism CTO Presents “A Mobile Phone that Respects Your Freedom” at CCCamp appeared first on Purism.
August blood test results: Cancer levels doubled, feeling a bit nervous
I’d been feeling more fatigued than usual leading up to my blood test – chronic fatigue is one of the symptoms of multiple myeloma and I wondered whether my cancer levels were still reasonably stable. Unfortunately, my August blood test results earlier this month showed my cancer levels doubled from 6 in July to 13.
Goodbye single digits, thanks for the memories.
I remain hopeful that my September results won’t spike again, but I’m also mentally prepared if I need to restart chemo again in the near future. I really am happy to have a break from chemo, the last chemo really affected my mental and physical abilities.
I’m not letting cancer get me down. No time for stress. Remaining positive about life.
M protein (g/L) (if 0, then no cancer detected)
Aug = 13
July = 6
June = 5
May = between 3 and 4
Apr = 3
Mar = between 1 and 2
Feb = 3
Jan = between 5 and 6
Dec = between 5 and 6
Nov = 11
Late Oct = 27 (started chemo)
Early Oct = 48
—
Self-portrait:
Sunday morning, I went to Queen Elizabeth Park for some quiet time.
—
I have multiple myeloma and anemia, a rare cancer of the immune system. Multiple myeloma affects the plasma cells, a type of immune cell that produces antibodies to fight infection. These plasma cells are found in the bone marrow. As a blood cancer, it is incurable, but treatable.
From mid-October to late-May, I was treated with Kyprolis (carfilzomib), an IV chemo, Cyclophosphamide, and dexamethasone.
The post August blood test results: Cancer levels doubled, feeling a bit nervous appeared first on Fade to Play.
I wonder if Trump will resign before the election to avoid...
I wonder if Trump will resign before the election to avoid getting crushed?
Scrambling in Snowdonia
At the end of last week, Klaas (one of my best friends) and I drove to from Belgium to Wales dead-set on scrambling up Tryfan's North Ridge and hiking the Ogwen Valley in Snowdonia.
Scrambling means hiking up steep, rocky terrain using your hands, without the need for ropes or any other kind of protection. It's something between hiking and rock climbing.
17 people died on Tryfan the past 30 years, and 516 parties had to be rescued. While the scrambling on Tryfan is rarely technically challenging, it can be dangerous and difficult at times (video of Klaas scrambling), especially when carrying heavy backpacks. Tryfan shouldn't be taken lightly.
It took us five hours to make it to the top — and it's taking me four days to recover so far. After we reached the top, we descended a few hundred meters and found a patch of grass where we could set up our tent.
Carrying those heavy backpacks paid off not only because we were able to bring our camping supplies but also because Klaas carried up a steak dinner with cocktails — a late birthday surprise for my 40th birthday. Yes, you read that correctly: a steak dinner with cocktails on top of a mountain! It was a real treat!
During dinner, the weather started to turn; dark clouds came in and it started to rain. By night time the temperature had dropped to 2 degrees Celsius (35 degrees Fahrenheit). Fortunately, we were prepared and had hauled not only a tent and a steak dinner up the mountain, but also warm clothing.
What didn't go so well was that my brand new sleeping pad had a leak and I didn't bring a repair kit. Although, sleeping on the ground wasn't so bad. The next morning, when we opened our tent, we were greeted not only by an amazing view, but also by friendly sheep.
The next two days, we hiked through the Ogwen Valley. Its wide glacial valley is surrounded by soaring mountains and is incredibly beautiful.
After three days of hiking we made it back to the base of Tryfan where it all started. We felt a big sense of accomplishment.
We hadn't taken a shower in four days, so we definitely started to become aware of each other's smell. As soon as we got to Klaas' Volkswagen California (campervan), we showered in the parking lot, behind the car. I ended up washing my armpits four times, once for each day I didn't shower.
For more photos, check out my photo album.
Acquia's new India office
This week, Acquia announced the opening of its new office in Pune, India, which extends our presence in the Asia Pacific region. In addition to Pune, we already have offices in Australia and Japan.
I've made several trips to India in recent years, and have experienced not only Drupal's fast growth, but also the contagious excitement and passion for Drupal from the people I've met there.
While I wasn't able to personally attend the opening of our new office, I'm looking forward to visiting the Pune office soon.
For now, here are a few pictures from our grand opening celebration:
Our wedding in Tuscany
It's been quiet on my blog but for good reason: I got married!
We had an amazing two-day wedding in the heart of Tuscany. The wedding took place in a renovated Italian villa from the 11th century, surrounded by vineyards and olive groves. A magical place to celebrate with family and friends who flew in from all over the world.
Many people emailed and texted asking for some wedding photos. It will take our wedding photographer a few months to deliver the photos, but they shared some preview photos today.
The photos capture the love, energy and picturesque location of our wedding quite well!
Amazon-owned mesh router company Eero found a new way to make money
Amazon-owned mesh Wi-Fi company Eero has found a new way to charge users for internet on top of their monthly bill and the cost of the router.
The system is called ‘Eero Secure’ and it builds on the company’s previous subscription service which has been renamed to ‘Eero Secure+.’
The Eero Secure system gives the user more fine-toothed controls over their home Wi-Fi systems, native ad-blocking, an ‘Activity Centre’ and some kind of advanced security.
This means parents will be able to block their kids from accessing adult, illegal or violent content when they’re on the Eero Secure network.
Secure+ gives all of these benefits plus access to 1Password, the VPN Encrypt.me and MalwareBytes, which is an antivirus program.
When users buy their first Eero — which can cost as little as $279 CAD or as much $834 CAD — they’re given the security subscription service for free for 30 days. After that, it costs $2.99 USD per month or $29.99 USD per year. This works out to be about $4 CAD and $40 CAD, respectively.
The Eero Secure+ subscription costs either $9.99 USD (roughly, $13 CAD) a month or $99 USD (roughly, $133 CAD) per year.
Overall, the lower-cost subscription seems like a lot of money for some features that seem like they should be included with the already pricey Wi-Fi router system.
Source: Eero
The post Amazon-owned mesh router company Eero found a new way to make money appeared first on MobileSyrup.
This Is Just the Verse
Rolandtj
They pluck your plums, your mum and dad
They eat them for their supper, too
They gobble all the fruit you had
And leave some bullshit note for you
But they were robbed blind in their day
Of damsons, prunes, and blackthorn sloes
Their breakfast treats all poached away
Thefts justified with old-style prose
“Forgive us” both your parents moan
“They were delicious, sweet, and cold”
They wonder why I never phone
And from them my own kids withhold
I got a sunburn yesterday. Good news: It was ou...
I got a sunburn yesterday. Good news: It was our last beach day and I don’t have to deal with the sun today with a burn. Bad news: It was our last beach day.
B.C. man who fed Timbits to bear along Alaska Highway fined $2,000 | CBC News
mkalus shared this story . |
Man posted photos of himself feeding bears for years on social media
A B.C. man who posted photos of himself feeding Timbits and hot dogs to bears on social media has been fined $2,000 and ordered to stay 50 metres away from bears for six months.
Randy Scott pleaded guilty last week in a Fort Nelson courtroom to violating the B.C. Wildlife Act while in the northern part of the province.
Conservation officer Shawn Brinsky hopes the fine and the order to stay away from bears reminds people that feeding bears is a bad idea.
"Hopefully it sends a message and deters people that this is not wise, it's not lawful and it should never happen in the first place."
B.C.'s Wildlife Act states a person must not intentionally feed or attempt to feed dangerous wildlife.
Brinsky, the acting conservation inspector for the Peace River region, says Scott had been posting pictures on social media of himself feeding bears along the Alaska Highway since 2017.
On one occasion, a conservation officer patrolling the highway encountered Scott and a woman feeding a bear from their car.
Charges were laid against the two last October after the B.C. Conservation Officer Service investigated the incidents. The woman accompanying Scott had the charges against her stayed on Tuesday.
On Aug 22/19, the individual who posted pictures on social media of himself feeding bears along the Alaska Hwy and, therefore, was charged by BCCOS for unlawfully feeding bears pled guilty in Prov Court & was fined $2k & ordered to stay away a min of 50m from bears for 6 months. <a href="https://t.co/uBUmEVWwld">pic.twitter.com/uBUmEVWwld</a>
—@_BCCOS
Brinsky says there have been several instances of workers or tourists having dangerous encounters with bears along that stretch of the Alaska Highway in northeastern B.C.
He says conditioning bears to accept food from humans is not only illegal, but also dangerous for both bears and humans.
MPs must choose between loyalty to democracy or to Boris Johnson
mkalus shared this story . |
This morning, the headlines confirmed what had been rumoured for weeks: that a Prime Minister who has never faced a general election, and who can no longer be sure of a majority in the House of Commons, plans to override opposition to his policy agenda by suspending our democratic institutions. It means that the crisis gripping British politics is no longer fundamentally about Brexit. It is about the future of our parliamentary democracy.
In a democracy, the right to govern must always flow from the public. The UK does not have a presidential system. Its only democratic institution is the House of Commons, and the right to form a government comes solely from the support of a majority of MPs. By asking the Queen to suspend parliament for five weeks, Boris Johnson has tacitly accepted that he no longer has that support. To carry on regardless – and to push through a fundamental policy change that he knows would be voted down – would shatter the most basic principles of parliamentary government.
This cuts to the heart of Johnson’s democratic mandate – indeed, of his right to the premiership itself. Take away his parliamentary support, and all that is left are the votes of 92,153 unelected Tory members. A mature democracy cannot allow party activists to override parliament or to usurp the democratic functions of MPs.
We will be told, of course, that it is parliament that is frustrating democracy; that Johnson’s mandate comes from the 17.4 million Leave votes in the 2016 EU referendum. But that referendum said nothing about the terms of Brexit. Johnson himself voted twice against Theresa May's Withdrawal Agreement, which would have seen Britain leave the EU at the end of March. Presumably he did so because he thought the terms were unacceptable – and that the referendum did not mandate Brexit under all possible conditions. If Johnson had the democratic right to reject May’s proposals, MPs must equally have the right to block his.
So how do we decide what those terms should be? Two main options lie ahead. We can do this democratically – whether through our elected representatives, or through a further referendum – or we can do it autocratically, by suspending parliament and adopting whatever policy the Prime Minister sees fit. What we cannot do is to pretend that suspending parliament is democratic: that a single heroic leader can embody in his own person “the will of the people”, or use that as a weapon to crush dissent from elected representatives. That leads down a much darker path.
Parliamentary government is often frustrating. It brings together a cacophonous array of competing voices, with as many different opinions as there are citizens. It can be ponderous, verbose and slow to reach agreement. Yet such is the nature of a democratic society. In a complex, pluralistic state, the “will of the people” is not a single intelligence, issuing instructions to parliament; it is a negotiation between different voices and interests, who come together in our democratic institutions to “parley”.
Johnson is not the first to find this irksome. In the 1930s, as leader of the British Union of Fascists, Oswald Mosley struck out against “the false liberty of a few old men to talk for ever in the present parliamentary system”. He dreamed of a “government armed by the people with complete power of action”; dependent not on “the intrigues and manoeuvres of conflicting parties, but on the will of the nation directly expressed”. Britain rejected that road in the 1930s. It should do so again today.
Most MPs do not sign up for their job expecting to face a constitutional crisis, or a choice between their Prime Minister and the principles of a parliamentary democracy. But that is the historic decision they now face; particularly those on the Conservative benches. Do they believe in the principles of parliamentary government? If they do, what price are they prepared to pay?
We must hope that they think carefully, and choose wisely.
The Most Gender-Switched Names in US History
We use some names mostly for boys and some mostly for girls, but then there is a small percentage that, over time, switched from one gender to another. Which names made the biggest switch? Read More
"If climate change does transform life on this planet at anything like the scale and speed scientists..."
Case Study Highrise
It’s said that this is the greatest architectural photo ever:
It’s Julius Shulman’s 1960 photo of Case Study House 22 – one of several model modernist homes, this one (Pierre Koenig’s Stahl House) in the Hollywood Hills overlooking Los Angeles.
The house (and the photograph) served as the inspiration for Zurich architectural firm E2A to propose a vertical model: High-Rise, An Apartment Building for London:
“We deliberately renounced the stacking as a generic interpretation of suburban, single-family home gardens. The high-rise conveys much more the central principles of a home – panoramic views, open space, interior-exterior relationships, and privacy – in an urban interpretation. The primary advantage of this typology is the potential of spatial sequencing and individual design options for each platform: whether a family, a couple, or a single person – we developed an unfettered, interpretative space, in which the deliberately unfinished form creates a basis for individual design ideas.”
Translate the architalk, and, really, what’s the big deal? Open-plan highrise homes have been pretty standard fare in Vancouver for some time. Both offer through height what the Case Study house achieved through geography: an elevated view of the city and landscape.
Bayshore Gardens
Apple Announces Changes to Siri Grading Program
Earlier this month, Apple suspended its Siri grading program, in which third-party contractors listened to small snippets of audio to evaluate Siri’s effectiveness. Today in a press release, Apple explained its Siri grading program and changes the company is making:
We know that customers have been concerned by recent reports of people listening to audio Siri recordings as part of our Siri quality evaluation process — which we call grading. We heard their concerns, immediately suspended human grading of Siri requests and began a thorough review of our practices and policies. We’ve decided to make some changes to Siri as a result.
Apologizing for not living up to the privacy standards customers expect from it, Apple outlined three changes that will be implemented this fall when operating system updates are released:
First, by default, we will no longer retain audio recordings of Siri interactions. We will continue to use computer-generated transcripts to help Siri improve.
Second, users will be able to opt in to help Siri improve by learning from the audio samples of their requests. We hope that many people will choose to help Siri get better, knowing that Apple respects their data and has strong privacy controls in place. Those who choose to participate will be able to opt out at any time.
Third, when customers opt in, only Apple employees will be allowed to listen to audio samples of the Siri interactions. Our team will work to delete any recording which is determined to be an inadvertent trigger of Siri.
This is a sensible plan. It’s clear, concise, and has the benefit if being verifiable once implemented. It’s unfortunate that Siri recordings were being handled this way in the first place, but I appreciate the plain-English response and unambiguous plan for the future.
Support MacStories Directly
Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.
Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.
Join NowThe Best Drones for Photos and Video
After 45 hours of research and test flights of 15 models, we think the DJI Mavic 2 Pro is the best drone for aspiring aerial photographers and videographers thanks to its high-end camera, autonomous obstacle avoidance, long battery life, and portability. Pilots of all skill levels will find it to be exceptionally reliable and easy to fly.
August 2019 security patch rolling out to Samsung Galaxy S7 and S7 edge
Samsung has started rolling out its August 2019 security patch to the Galaxy S7 and S7 edge.
According to Samsung’s security bulletin, the August Security Maintenance Release (SMR) includes patches for seven major high-risk Android vulnerabilities and 17 fixes for Galaxy-specific threats.
So far, the patch only appears to be rolling out to users in Europe. It’s unclear when it will make its way over to Canada. You can manually check if your phone can install the update by going to Settings –> System Updates.
In June, Samsung confirmed that it will be rolling out updates to older phones like the S7 and S7 edge less frequently going forward. Therefore, this may be the only update users will get for some time.
Source: 9t05Google
The post August 2019 security patch rolling out to Samsung Galaxy S7 and S7 edge appeared first on MobileSyrup.
This app saves you storage space by hunting down duplicate files and photos
Hard drive storage comes at a premium these days, but what if you’re nearly out of storage space even after meticulously combing through your entire hard drive? Chances are you have countless duplicate files that are consuming precious storage space and making your computer run slower. Luckily, Cisdem Duplicate Finder will pinpoint all of these excess files for just $26.66 [CAD]
Cisdem Duplicate Finder is an app for MacOS that will help you get rid of unnecessary files. It uses byte by byte and SHA-1 checksum algorithms to analyze your files based on content rather than file name and size. Basically, this means it’ll find duplicate files that are hiding on your system; it’ll even pinpoint near-identical photos, which you can delete to save yourself hard drive space. Finally, you can set advanced scan preference to control what gets scanned and where.
Duplicate and near-identical files take up far more storage than you may be aware of, and deleting these can free up much needed storage space. Cisdem Duplicate Finder will hunt down these files for $26.66 [CAD], or 75% off.
Like this deal? Check out Vault — you’ll get four premium tools, including NordVPN and Dashlane, to supercharge your online security. Try it free for 14 days now!
The post This app saves you storage space by hunting down duplicate files and photos appeared first on MobileSyrup.
Apple Music beta on Android gets Chromecast support and dark mode
The newest version of the Apple Music beta on Android has revealed a slate of new features, including Chromecast support and a dark theme.
The dark mode came in the previous beta that was released on August 7th, according to Android Police.
The latest update builds on that by finally adding support for Google’s Chromecast audio streaming technology. The update notes say you can stream your favourite Music to Chromecast enabled TVs and speakers, but it doesn’t mention the ability to stream video.
There’s also no mention of what the Apple Music interface looks like when you stream it to a TV.
Beyond the Chromecast support Apple has also added in the ability to listen to music with synced lyrics and access to over 100,000 radio stations from iHeartRadio and TuneIn, reports Android Police.
You can join the Apple Music Beta from the app’s page in the Google Play Store.
Source: Android Police
The post Apple Music beta on Android gets Chromecast support and dark mode appeared first on MobileSyrup.