Shared posts

22 May 22:40

Using SQL to find my best photo of a pelican according to Apple Photos

According to the Apple Photos internal SQLite database, this is the most aesthetically pleasing photograph I have ever taken of a pelican:

A pelican

Here's the SQL query that found me my best ten pelican photos:

select
  sha256,
  ext,
  uuid,
  date,
  ZOVERALLAESTHETICSCORE
from
  photos_with_apple_metadata
where
  uuid in (
    select
      uuid
    from
      labels
    where
      normalized_string = 'pelican'
  )
order by
  ZOVERALLAESTHETICSCORE desc
limit
  10

You can try it out here (with some extra datasette-json-html magic to display the actual photos). Or try lemur or seal.

I actually think this is my best pelican photo, but Apple Photos rated it fifth:

A pelican

How this works

Apple Photos keeps photo metadata in a SQLite database. It runs machine learning models to identify the contents of every photo, and separate machine learning models to calculate quality scores for those photographs. All of this data lives in SQLite files on my laptop. The trick is knowing where to look.

I'm not running queries directly against the Apple Photos SQLite file - it's a little hard to work with, and the label metadata is stored in a separate database file. Instead, this query runs against a combined database created by my new dogsheep-photos tool.

An aside: Why I love Apple Photos

The Apple Photos app - on both macOS and iOS - is in my opinion Apple's most underappreciated piece of software. In my experience most people who use it are missing some of the most valuable features. A few highlights:

  • It can show you ALL of your photos on a map. On iOS go to the "Albums" tab, scroll half way down and then click on "Places" (no wonder people miss this feature!) - on macOS Photos it's the "Library -> Places" sidebar item. It still baffles me that Google Photos doesn't do this (I have conspiracy theories about it). This is my most common way for finding a photo I've taken - I remember where it was, then zoom in on that area of the map.
  • It runs machine learning models on your phone (or laptop) to identify the subject of your photos, and makes them searchable. Try searching for "dog" and you'll see all of the photos you've taken of dogs! I love that this runs on-device: it's much less creepy than uploading your photos to the cloud in order to do this.
  • It has a really great faceted search implementation - particularly in the phone app. Try searching for "dog", then add "selfie" and the name of a city to see all of the selfies you've taken with dogs in that place!
  • It has facial recognition, again running on device, which you can use to teach it who your friends are (autocompleting against your contacts). A little bit of effort spent training this and you can see photos you've taken of specific friends in specific places and with specific animals!

As with most Apple software, Photos uses SQLite under the hood. The underlying database is undocumented and clearly not intended as a public API, but it exists. And I've wanted to gain access to what's in it for years.

Querying the Apple Photos SQLite database

If you run Apple Photos on a Mac (which will synchronize with your phone via iCloud) then most of your photo metadata can be found in a database file that lives here:

~/Pictures/Photos\ Library.photoslibrary/database/Photos.sqlite

Mine is 752MB, for aroud 40,000 photos. There's a lot of detailed metadata in there!

Querying the database isn't straight-forward. Firstly it's almost always locked by some other process - the workaround for that is to create a copy of the file. Secondly, it uses some custom undocumented Apple SQLite extensions. I've not figured out a way to load these, and without them a lot of my queries ended up throwing errors.

osxphotos to the rescue! I ran a GitHub code search for one of the tables in that database (searching for RKPerson in Python code) and was delighted to stumble across the osxphotos project by Rhet Turnbull. It's a well designed and extremely actively maintained Python tool for accessing the Apple Photos database, including code to handle several iterations of the underlying database structure.

Thanks to osxphotos the first iteration of my own code for accessing the Apple Photos metadata was less than 100 lines of code. This gave me locations, people, albums and places (human names of geographical areas) almost for free!

Quality scores

Apple Photos has a fascinating database table called ZCOMPUTEDASSETATTRIBUTES, with a bewildering collection of columns. Each one is a floating point number calculated presumably by some kind of machine learning model. Here's a full list, each one linking to my public photos sorted by that score:

I'm not enormously impressed with the results I get from these. They're clearly not intended for end-user visibility, and sorting them might not even be something that makes sense.

The ZGENERICASSET table provides four more scores, which seem to provide much more useful results:

My guess is that these overall scores are derived from the ZCOMPUTEDASSETATTRIBUTES ones. I've seen the best results from ZOVERALLAESTHETICSCORE, so that's the one I used in my "show me my best photo of a pelican" query.

A note about the demo

The demo I'm running at dogsheep-photos.dogsheep.net currently only contains 496 photos. My private instance of this has over 40,000, but I decided to just publish a subset of that in the demo so I wouldn't have to carefully filter out private screenshots and photos with sensitive locations and suchlike. Details of how the demo work (using the dogsheep-photos create-subset command to create a subset database containing just photos in my Public album) can be found in this issue.

Automatic labeling of photo contents

Even more impressive than the quality scores are the machine learning labels.

Automatically labeling the content of a photo is surprisingly easy these days, thanks to convolutional neural networks. I wrote a bit about these in Automatically playing science communication games with transfer learning and fastai.

Apple download a machine learning model to your device and do the label classification there. After quite a bit of hunting (I ended up using Activity Monitor's Inspect -> Open Files and Ports option against the photoanalysisd process) I finally figured out where the results go: the ~/Pictures/Photos\ Library.photoslibrary/database/search/psi.sqlite database file.

(Inspecting photoanalysisd also lead me to the /System/Library/Frameworks/Vision.framework/Versions/A/Resources/ folder, which solved another mystery: where do Apple keep the models? There are some fascinating files in there.)

It took some work to figure out how to match those labels with their corresponding photos, mainly because the psi.sqlite database stores photo UUIDs as a pair of signed integers whereas the Photos.sqlite database stores a UUID string.

I'm now pulling the labels out into a separate labels table. You can browse that in the demo to see how it is structured. Labels belong to numeric categories - here are some of my guesses as to what those mean:

  • Category 2024 appears to be actual content labels - Seal, Water Body, Pelican etc.
  • Category 2027 is more contextual: Entertainment, Trip, Travel, Museum, Beach Activity etc.
  • Category 1014 is simply the month the photo was taken. 1015 is the year, and 2030 is the season.
  • Category 2056 is the original filename.
  • Category 12 is the country the photo was taken in.
Here's a query that shows the labels (from every category) next to each photo.

Geography

Photos taken on an iPhone have embedded latitudes and longitudes... which means I can display them on a map!

My photos on a map

Apple also perform reverse-geocoding on those photos, resolving them to cities, regions and countries. This is great for faceted browse: here are my photos faceted by country, city and state/province.

Hosting and serving the images

My least favourite thing about Apple Photos is how hard it is to get images from it onto the internet. If you enable iCloud sharing your images are accessible through icloud.com - but they aren't given publicly accessible URLs, so you can't embed them in blog entries or do other webby things with them.

I also really want to "own" my images. I want them in a place that I control.

Amazon S3 is ideal for image storage. It's incredibly inexpensive and essentially infinite.

The dogsheep-photos upload command takes ANY directory as input, scans through that directory for image files and then uploads them to the configured S3 bucket.

I designed this to work independently of Apple Photos, mainly to preserve my ability to switch to alternative image solutions in the future.

I'm using the content addressable storage pattern to store the images. Their filename is the sha256 hash of the file contents. The idea is that since sensible photo management software leaves the original files unmodified I should be able to de-duplicate my photo files no matter where they are from and store everything in the one bucket.

Original image files come with privacy concerns: they embed accurate latitude and longitude data in the EXIF data, so they can be used to reconstruct your exact location history and even figure out your address. This is why systems like Google Photos make it difficult to export images with location data intact.

I've addressed this by making the content in my S3 bucket private. Access to the images takes place through s3-image-proxy - a proxy server I wrote and deployed on Vercel (previously Zeit Now). The proxy strips EXIF data and can optionally resize images based on querystring parameters. It also serves them with far-future cache expire headers, which means they sit in Vercel's CDN cache rather than being resized every time they are accessed.

iPhones default to saving photos in HEIC format, which fails to display using with the <img src=""> tag in the browsers I tested. The proxy uses pyheif to convert those into JPEGs.

Here's an example HEIC image, resized by the proxy and converted to JPEG: https://photos.simonwillison.net/i/59854a70f125154cdf8dad89a4c730e6afde06466d4a6de24689439539c2d863.heic?w=600

Next steps

This project is a little daunting in that there are so many possibilities for where to take it next!

In the short term:

  • Import EXIF data from the images into a table. The Apple Photos tables give me some of this already (particularly GPS data) but I want things like ISO, aperture, what lens I used.
  • Load the labels into SQLite full-text search.
  • I'd like other people to be able to play with this easily. Getting it all up and running right now is a fair amount of work - I think I can improve this with usability improvements and better documentation.
  • The system only handles static images at the moment. I'd like to get my movies and more importantly my live photos in there as well.

And in the longer term:

  • Only iPhone photos have location data at the moment - I'd like to derive approximate latitude/longitude points for my DSLR images by matching against images from my phone based on date.
  • Running my photos through other computer vision systems like Google's Cloud Vision APIs could be really interesting.
  • For better spotting of duplicate images I'm interested in exploring image content hashing.
  • The UI for all of this right now is just regular Datasette. Building a custom UI (running against the Datasette JSON API) could be a lot of fun.
22 May 22:40

Don’t Poison The Well

by Richard Millington

If you knew there was a little poison in a well, would it matter how big the well was?

I worry that in our excitement to come up with data to measure and prove the value of communities, there’s a lot of poison slipping into the well.

Sometimes it’s clearly bogus stats, other times it’s rather suspect measures of ROI. Often it’s simply a biased interpretation of existing data.

It might feel like you’re doing a good thing to spread positive data about the industry, but if that data is suspect or poorly interpreted it simply poisons the well for good data.

No-one believes video views or ad impression data anymore. Advertising and social platforms have poisoned that well forever. Let’s not go down that path.

So how do we balance the need to build up a body of evidence of our community success without poisoning the well?

A few suggestions…

First, maintain a healthy skepticism about claims of a community’s success from the people running the community. If the community did achieve a remarkable ROI, you should also see an expansion of the community team, further investment in the platform etc…If that’s not happening (and they’re not providing the underlying data or methodology), treat these claims as propaganda.

Second, go looking in Google Scholar. There are thousands of peer-reviewed papers on almost every conceivable topic of communities. Go looking for evidence of what is and isn’t working. You might be surprised how rich this information is. Better yet, hire someone to do a literature review for you on your topic. I’ve done this for both of my books in the past.

Third, commit to genuine inquiry of the value of your community. Hire an outside consultant if you want the right methodology and an unbiased approach. This isn’t cheap, but you’ll get rock-solid data.

This isn’t as fun as participating in the hype cycle, but it’s a lot more value in the long run.

22 May 22:40

"It does not have to be like this". But it is

by Chris Grey
This week the UK government, belatedly, made public its draft legal texts for an agreement with the EU, for the first time authorising them to be communicated to EU Member States. They are, necessarily, lengthy and highly technical documents which have already begun to be picked over by numerous independent trade experts such as David Henig, Sam Lowe, Dr Anna Jerzewska, Dmitry Grozoubinski, and Iana Dreyer. No doubt more will appear as they and others digest the contents of these documents.

They were accompanied by a covering letter - described by Daniel Boffey of The Guardian as “extraordinary” - from David Frost to Michel Barnier which gives much insight into how the UK is approaching the negotiations. Much of it is not surprising. Repeatedly, it invokes arguments which are now familiar and which I have discussed in several previous posts.

First, it envisages a “suite of agreements” rather than the kind of over-arching Association Agreement sought by the EU. Secondly, it constantly invokes supposed “precedents” based upon a variety of other agreements that the EU has with third countries. As I discussed in my recent blog, this is profoundly unrealistic. However, what I didn’t say there and which has only become clear (to me, at least) with the publication of the draft texts, and the commentary of those listed and linked to earlier, is the cumulative effect of these two things.

For, despite being predicated on the idea that the UK is not asking for anything that other third countries don’t have, stitching them together creates what overall is an unprecedented ask (£), without apparently offering much, if anything, in return. There’s nothing wrong with trying that, of course, but it is disingenuous to suggest at the same time that it is a modest, minimal or straightforward demand, and absurd to complain if it gets rejected.

It’s not fair!

That brings us to the third feature of the letter, which was more surprising and, indeed, extraordinary. For it reads as, first, a letter of complaint, in which the EU is ‘told off’ for having taken an unsatisfactory stance and, second, as a submission to an academic seminar on political theory in which various “arguments” are discussed and (supposedly) refuted. However the overall tenor is, more than anything else, like the familiar refrain of childhood: ‘but it’s not fair’. In that last respect it is very much in line with what Bobby McDonagh, writing in the Irish Times but before the letter appeared, described as Britain’s “Brexit tantrum”.

Thought of in these terms, a useful question to ask is – what reaction from the EU is anticipated? If a letter of complaint – ‘we’re sorry, we got it wrong’? If an academic seminar – ‘good point, we hadn’t thought of that’? If a childish lament – ‘there, there, mummy’s here now’? What, precisely, is envisaged? In the event, the response from Barnier was to point out that such posturing “cannot be a substitute for serious engagement and detailed negotiations”. Well, quite.

For those who insist, as many Brexiters do, on the dignity and indeed the pride of the British nation it was a remarkably undignified and petulant statement. More to the point, it’s simply irrelevant as regards an international (trade) negotiation. For such negotiations are not about winning arguments or making complaints. They are about cold, hard power, interests, and trade-offs. Not only do argument and complaint cut no ice, but they show that you have already lost. It’s as simple and as brutal as a playground fight – the person who wants to reason with their opponent is the one who has already lost.

Does that make the EU a bully, administering ‘punishment beatings’? It’s a meaningless question. Power is just power. What is surprising is that Brexiters who have spent decades saying how awful the EU is are now pearl-clutching about its ‘viciousness’, as if what they expected was charity, or special treatment. And that is the more surprising since they have spent those decades insulting the EU, and yet now imagine that they will be the recipient of its kindness. What, for example, did Brexit Party MPs who last July were childishly turning their backs when the European anthem was played in the European Parliament think? That it would endear Britain to the EU? Did those repeatedly comparing the EU to Nazi Germany or the USSR think doing so would make securing a good deal easier?

So at one level the letter is an expression of the continuing naivety of Brexiters. At another, of course, it’s not about negotiations with the EU at all. Instead, it’s part of a concerted campaign to depict the EU, to the UK domestic audience, as unreasonable. And, indeed, the claim that Barnier is “losing the argument” is now being deployed routinely in support of this. It is as silly as Jeremy Corbyn’s widely-mocked claim that Labour ‘won the argument’ in the 2019 General Election in that, whether or not it’s true, it’s irrelevant to the only issue that matters.

Yet it has a serious implication to the extent that it will morph into blaming the EU if there is no deal, and all the attendant chaos of that, come next January. And if that happens then, no doubt, many will buy that line and forget all the promises made by Brexiters about how Britain ‘held all the cards’. What will matter, politically, is how many do so, if fresh chaos is heaped on a nation still reeling from coronavirus. If it’s, say, 50% or more then the gamble will have worked (in a political sense – of course the economic damage will be unaffected by where the blame goes). If it’s, say, 30% or less then the gamble will have failed. No doubt the question of where, within that kind of range, public opinion might land is what Boris Johnson will be calculating over the next month or so as the decision on transition period extension has to be reached.

The extension debate

With respect to that, fierce debate continues to rage. The Brexit Ultras associated with Patrick Minford et al - in yet another incarnation, this time the “Centre for Brexit Policy” – produced a predictable call against extension. Based, as usual, on the discredited ‘Cardiff model’, it recycled all the usual Ultra lines of which perhaps the most egregious is that whereas, if necessary, ‘WTO terms’ are perfectly viable for UK-EU trade, the key to post-Brexit prosperity is negotiating preferential trade terms with non-EU countries. (And if the predictable recycling of discredited arguments is your thing, look no further than David Davis’ suggestion on Radio 4 this week that – yes - ‘German car makers’ are about to ride to the UK’s rescue, as well as his prognostications about the trade negotiations. But always remember that Davis is the man who invariably  gets everything about Brexit wrong).

On the other side of the argument, warnings about the impossibility of completing a deal without an extension abound, both from (pro-Brexit) columnists (£) and health experts, whilst Nicole Sykes of the CBI tweeted eloquently about the problems for businesses of preparing for a December end to transition whilst dealing with the coronavirus crisis. However, in general terms, businesses have been remarkably quiet about this, perhaps because in the current situation they are so heavily dependent upon government support. But several business-savvy journalists are speaking up, including Martin Wolf in a powerfully argued FT column yesterday (£). I’ve made my own arguments for extending the transition before, and won’t repeat them here.

One interesting intervention in the extension debate came this week from Raoul Ruparel – formerly Theresa May’s Special Advisor on Europe – in an article in Politico. It is a serious piece from a serious author, and proposed a ‘conditional extension’ to be agreed by the end of June, effectively to implement any deal agreed by, say, October. One merit lies in its recognition, often absent from this debate, of the key problem of business preparedness. Another lies in the implication – correct, I think – that the most likely route to extension in terms of UK political realities would be some form, even if not this form, of re-badging and re-designing.

That said, Ruparel’s proposal has several problems, both of timing (a deal by October) and of its legal basis (which he questionably suggests that Article 50 provides) but the one which I think is particularly important, because it has a wider implication, is the suggestion that such a conditional extension could be preceded by a UK parliamentary vote “to indicate that initial political agreement has been reached between the two sides on what their future relationship will be”.

The obvious problem here is that there has already been a not dissimilar kind of vote, when parliament approved the Political Declaration on, precisely, the outlines of the future relationship. This included a commitment to Level Playing Field conditions, specifically linked in the text to geographical and economic closeness, that the UK now openly disavows. It is therefore difficult to see what confidence could be placed in a parliamentary vote of the sort proposed.

A country that can no longer be trusted

For the bitter truth – bitter, that is, to have to say it about one’s own country – is that the way the UK has conducted itself these last four years means that the EU has very little grounds for confidence in us. That is both because we – or more accurately our governments - have repeatedly shown ourselves to be untrustworthy but also to be incompetent – either reneging on, or apparently failing to understand the implications of, what has been agreed to, for example, but also especially, as regards Northern Ireland. It doesn’t need a PhD in textual analysis to realise that when Michel Barnier wrote in his reply to Frost’s letter this week that “I would not like the tone you have taken to impact the mutual trust … that is essential between us” it was diplomatic code for the fact that it already has done so.

But this is not just a matter of a single letter £). The shrivelling of national reputation has been long in the making and, again, for this we must thank the Brexit Ultras such as Jacob Rees-Mogg who over a year ago proposed that the UK should use an (Article 50) extension period to make things “as difficult as possible” for the EU. Or David Davis who disowned the phase 1 agreement within hours of the UK signing it. Or the entire legion – Andrew Bridgen, John Redwood, Nigel Farage - who have made it clear that they regard the financial settlement as illegitimate.

And this is also relevant to the Ruparel proposal (or similar ones that may be made in the future) more generally. For whilst, as I agree, some re-badging and indeed repackaging is likely to be a politically necessary for the UK to agree to any form of extension, the question is – why is this so? The answer is solely in order to once more dance around the sensibilities of the Brexit Ultras – the same old dance that has driven the entire Brexit saga from the decision to hold a Referendum onwards. Again, it’s rather as with a spoiled child who is constantly indulged and, of course, whose behaviour gets ever worse the longer the indulgence goes on.

It is a national tragedy for us but, more importantly in the present context, it is a game the EU is no long willing and no longer needs to play. Having for decades offered compromises and opt-outs to satisfy British Euroscepticism, our domestic political poison is, luckily for the EU, no longer its problem. I don’t sense any appetite within the EU to indulge Britain further.

The brutal truth is that neither Britain, nor Brexit, really matter very much anymore for the EU. Except, to an extent, for Ireland, Brexit is scarcely discussed in the European media, doesn’t figure in the political debates of the member states, and is well near the bottom of EU priorities. The passage of time and the press of coronavirus means that almost no one outside the UK cares now. Yes, the EU would much prefer a deal, but not at any price. So there’s going to be little flex from the EU side because it cares so little about Brexit and, apparently, none from the UK government because it cares too much about Brexit.

For these various reasons, and despite my previous opinion that an extension would probably end up happening because of the overwhelming rationality of the case for it, I agree with Tom Hayes’ excellent discussion in his latest BEERG Brexit Blog which suggests that the transition period will almost certainly end as scheduled, and with no future terms deal in place.

Post-Brexit Britain is coming in to view

Whether or not that proves right, we are now seeing more and more detail of what kind of post-Brexit Britain is envisaged by the government. This is being revealed by, for example, the ongoing parliamentary passage of legislation such as the Agriculture Bill, the dangers of which for animal welfare and product standards were analysed by veterinary surgeon Anna Bramall in Prospect this week. It is also revealed by the Immigration Bill which gleefully cements the end of freedom of movement rights. Though it is rarely stated, this includes the end of those rights for British people - on the other hand, they are awarded the special Brexit bonus of having the lowest paid jobs reserved specially for them! There’s even now a dedicated ‘pick for Britain’ website to facilitate this.

This has been an unusually busy week for Brexit-related stories, and also a busy one for me, so there are several important developments and reports that I have not been able to discuss in this post. So I will just briefly mention some of them.

First, the UK announced the new Global Tariff schedule it will apply to countries with whom it does not have a trade agreement from the end of the transition period. If that includes the EU, then the cost of food and cars imported to the UK from there “will rise sharply” (£). At the same time, the new Customs Academy – set up to train the estimated 50,000 new customs agents that will be needed after Brexit – is reported to have neither the money nor anything like enough trainees to deliver them.

Second, there was a good BBC report on the complex issue of fishing quotas, where all the Brexiter promises are unravelling. Third, there was an analysis of the intricacies of the Irish Sea border by Dr Katy Hayward and Tony Smith on the LSE Brexit site, plus a wider discussion of Brexit and Irish border issues by Dr Andrew Blick at Federal Trust. That is the same Irish border that, before the Referendum, Boris Johnson said would be unaffected by Brexit and about which, since, he denied the consequences of what he signed up to with EU.

Disparate as these and the other stories in this post are, they all point towards what is emerging for Britain. A country that is poorer and meaner, in antagonistic relation with its neighbours and natural friends. A country mired in complex and intractable problems that are entirely of its own making. A country that in the name of taking back control and animated by nationalist chauvinism is now reduced to childish whining when the world outside does not do its bidding and scarcely even registers its complaints.

What makes us “so unworthy”? “It does not have to be like this”, David Frost caterwauled in his letter to Barnier, like a spurned teenager berating the intransigence of a lost first love. Well, certainly, it did not need to be like this and wouldn’t have been – without Brexit, of course, but also without the utterly cack-handed way in which Brexit has been pursued. But it is like this, and it will go on being like this. As indeed the Brexiter faux-patriots were warned from the start and throughout these years of negotiations in which they have, by their own choices and incompetence, dragged our country into internal distress and external disrepute.

22 May 22:40

Microsoft Open-Sources GW-BASIC

by Rich Turner

We are excited to announce the open-sourcing of Microsoft GW-BASIC on GitHub!

Yes, seriously 😀

Why?

Since re-open-sourcing MS-DOS 1.25 & 2.0 on GitHub last year, we’ve received numerous requests to also open-source Microsoft BASIC.

Well, here we are! 😁

The Source

These sources, as clearly stated in the repo’s readme, are the 8088 assembly language sources from 10th Feb 1983, and are being open-sourced for historical reference and educational purposes. This means we will not be accepting PRs that modify the source in any way.

A little historical context

The GW-BASIC source code being published is dated Feb 10th 1983. That was quite a while ago, so just to set a little historical perspective:

The week this source was created Men At Work topped the US and UK singles charts with “Down Under”, Dustin Hoffman starred in the #1 US box-office movie, “Tootsie”. In 1983, “Star Wars Episode VI – Return of the Jedi” was released, as was “War Games”! And, Emily Blunt, Kate Mara, Jonah Hill, Chris Hemsworth, and Henry Cavill, were born! Ronald Reagan was President of the USA, and Margaret Thatcher was the UK’s Prime Minister.

That same year, Bjarne Stroustrup was in the middle of developing the first version of the C++ programming language, ARPANET standardized TCP/IP. Borland announced Turbo Pascal, created by Anders Hejlsberg (who went on to join Microsoft, and create J++, C# and TypeScript).

1983 was also the year AT&T released UNIX System V R1, and BSD 4.2 was released, introducing the pseudoterminal for the first time (the progenitor to Windows’ ConPTY we introduced to Windows in 2018 😁)

I was 13, and spent every spare second that I wasn’t finishing my homework or doing my chores, writing BASIC and assembly code on one of the hottest home computers of the time – the BBC Micro sporting 32KB RAM (yes, 32,768 bytes, total!), powered by a 6502 processor running at a BLAZING 2MHz. When not coding, I was usually playing one of the most groundbreaking games of all time: “Elite” by David Braben & Ian Bell.

In 1983, Apple launched the 1MHz 6502-powered Apple IIe for US$1,395 (> $3,500 in 2020). Apple also launched the first retail-available computer with a GUI – the Apple Lisa. The Lisa contained a staggering 1MB RAM, and ran the awesome Motorola 68000 processor at an astounding 5MHz, but it cost $9,995 (> $25,000 in 2020 dollars), so all I could do was peer at it through the window of the one computer store in our town authorized to sell Apple’s products … and dream.

And, in 1983 Microsoft released MS-DOS 2.0 (source here), and GW-BASIC for the IBM PC XT and compatibles.

What IS GW-BASIC?

GW-BASIC was a BASIC interpreter derived from IBM’s Advanced BASIC/BASICA, which itself was a port of Microsoft BASIC.

Microsoft’s various BASIC implementations can trace their origins all the way back to Bill Gates & Paul Allen’s implementation of Microsoft’s first product – a BASIC interpreter for the Altair 8800.

During the late ’70s and 80s, Microsoft’s BASIC was ported to many OEM’s specific platform and hardware needs, and for several processors popular at that time, including the 8088, 6502, 6809, Z80, and others.

FAQ

Wait – where’s the C source code?

There is no C source code!

Like much software from the 70s and 80s, and just like the source for MS-DOS, the source code of GW-BASIC is 100% assembly language.

Why assembly? Why didn’t developers use higher-level languages like C, or Pascal?

When developing on/for mainframes and minicomputers of the day, developers were sometimes able to use higher-level languages like FORTRAN, LISP, COBOL, RPG, CPL/BCPL, C, etc. but the compilers for such languages were often hugely expensive, rarely generated efficient code, and were generally unavailable for the space and performance constrained home and personal computers of the day.

When writing software for early PCs, every single byte and every single instruction mattered, so developers often wrote code entirely in assembly language simply to be able to physically fit their software into the available memory, and to be able to access the computer’s resources and internal workings.

Thus, all the source code for GW-BASIC is pure assembly code, translated on a per-processor/per-machine basis from core/master sources.

This source was ‘translated’?

Each of the assembly source files contains a header stating This translation created 10-Feb-83 by Version 4.3

Since the Instruction Set Architecture (ISA) of the early processors used in home and personal computers weren’t spectacularly different from one another, Microsoft was able to generate a substantial amount of the code for a port from the sources of a master implementation. (Alas, sorry, we’re unable to open-source the ISA translator.)

What about other ports?

Many have asked if we can also open-source implementations for processors other than the 808x. Alas, we’re unable to provide sources for these ports and/or customizations.

Enjoy!

We hope you enjoy exploring this fascinating snapshot of what software development looked like during the glorious, exciting, heady days of the ’70s and early ’80s at the dawn of “the personal computer” 😁

Many thanks to Amy, Julia Liuson, Amanda Silver, and our awesome CELA team for their approval and help finding, reviewing, and open-sourcing GW-BASIC.

The post Microsoft Open-Sources GW-BASIC appeared first on Windows Command Line.

22 May 22:40

Twitter Favorites: [skinnylatte] I’m writing an essay “why I moved to San Francisco and why I’m not leaving”

Adrianna Tan @skinnylatte
I’m writing an essay “why I moved to San Francisco and why I’m not leaving”
22 May 22:39

Reclaiming Vimeo

by Reverend

I’m hoping to catch up on some blogging about stuff I have been doing with ds106.tv over the last month or so, but before that I wanted to quickly share an awesome tool that Chris Lott pointed me to a couple of years back called youtube-dl. Youtube-dl is a script you install on your computer (using Homebrew on the Mac) and once you do it allows you to effectively download all the videos associated with a Youtube account using a command such as:

youtube-dl https://vimeo.com/USERNAME -o "/Users/YOURUSER/Movies/%(title)s.%(ext)s"

As you can see from the command line above, this tool is not limited to Youtube, in particular it works just as well with Vimeo. And special thanks to Andrew Gormley for this guide that documents the process making installing everything from installing youtube-dl to backing-up all your videos dead simple. And just like that I was backing up all 266 videos to my hard drive.

Having lost 240 videos when my Youtube account was deleted in 2012 (something that still pains me 8 years later), I’ve done my best to avoid inviting the copyright ghouls to my content. Although, back in 2014 I did upload several Wire episodes to my Vimeo account for the Wire106 course, and I got 2 of 3 allowed copyright strikes by Vimeo, so I stopped uploading to that platform for quite a while. I did use it here and there again over the last 5 years, and after the return to ds106.tv my needs for a video platform seem more pressing. I’ve already written about presenting about The Girl Who Knew Too Much with Paul Bond for Antonio Vantaggiato’s Italian Culture course, but that was the instance that returned me to the conundrum I had avoided for years of not teaching: how do I share clips of a film I think are crucial to creating an argument as part of a course? Doing this led to issues on Youtube and then again in 2014 with Vimeo, so I was gun shy to say the least. That said, I believe sharing these clips as embedded links in my blog or as part of a recorded course lecture should be fair use, but Youtube (and most likely Vimeo) will never let it get to the point of such a defense given they’ll often cow to the entity claiming copyright and either take it down or delete your account.†

In this regard, video remains one of the hardest pieces of one’s digital life to truly Reclaim given it is still relatively expensive to stream technically, but as we continue to see that cost of storage and server CPU falling significantly, it’s not hard to imagine sometime soon it will be feasible to run your own video streaming service. I personally look forward to that day, because it will truly be a multi-headed hydra for bullshit DMCA copyright claims. So, in preparation for a liberated future for video, I now can upload my fair use clips of films I will be discussing in the coming months with the understanding that my account could go away at any point. And while it’s not just the videos that would deleted, I’ll also lose any metadata like views, comments etc., but luckily I have next to no metadata on that system because that platform is not the context for my discussion, it’s purely a means to an embedded end on my blog.

Back in 2013-2014 in the wake of my Youtube account getting deleted I uploaded a decent number of videos up to UMW’s media server Andy Rush was playing around with at the time. It worked well for a while but between the lack of institutional commitment and institutional knowledge moving on, those videos were relegated to a backup drive. A long-term solution for reclaim video online remains an issue (although the Internet Archive still reigns supreme in this regard), and the Reclaim Media idea I had back in 2017 when the Reclaim Hosting team was in NYC still is something I’d love to help build.* This is effectively a tool where you can Reclaim your media from sites like Youtube, Vimeo, Instagram, Flickr, Twitter, etc. and brought into your own ecosystem whether as HTML for archival purposes, or into a comparable open source tool. Anyway, this is a small thing, but this project of having all my Vimeo files regularly backed up makes me feel freed up to actually blog the way I want and figure out the where and how of video as I continue down the road to full digital-self actualization 🙂


*All of which really stems from the Reclaim Your Domain conversation that led to the direction and name of Reclaim Hosting.

†In this regard I read an interesting post on TorrentFreak the other day wherein copyright folks were trying to get the source code for the open source bittorrent streaming platform Popcorn taken off Github given it is used by pirates to share and watch pirated films. And while the code was initially taken down by Github, after an appeal it was re-instated given the actual source code neither links to nor automatically downloads copyrighted material.

22 May 22:39

Logitech Zone Wireless Plus :: Erste Eindrücke

by Volker Weber

2fdbb638d03553ec8315cba9c02f0469

Nach meinem Spiegel Review meldeten sich mehrere Agenturen, um mir die Konkurrenzprodukte ihrer Kunden zum Test anzubieten. Herzlichen Dank dafür! Das erste Headset aus dieser Reihe ist das Logitech Zone Wireless Plus, das eine pfiffige Lösung für das Laden des Headsets bietet. Nachts legt man es einfach auf einen Qi-Lader, auf den man dann am nächsten Morgen sein Handy ablegt. Das tröstet über den veralteten MicroUSB-Anschluss hinweg.

f2cf7ef629a8d9ca36bcc201067b21d9

Das Zone Wireless ist ein On-Ear-Stereoheadset mit klappbarem Mikrofonarm. Diesen Arm kann man in beide Richtungen drehen und damit entweder am linken oder rechten Ohr tragen. Nach oben getragen schaltet er die beiden Mikrofone stumm. Alternativ kann man während eines Meetings auch einen Mute-Knopf an diesem Arm drücken.

01810e264e7c16dd2bedd23ca6b3441b

Der Kopfbügel hat zwei Gelenke, so dass man das zusammgeklappte Headset in einem mitgelieferten Stoffbeutel schützen kann. Der hochgeklappte Mikrofonbügel liegt dabei sehr dicht an. Auch wenn man nur Musik hört, fällt er kaum auf. Das sehr sanfte ANC lässt sich über einen länglichen Button ausschalten.

Hält man den Einschalter länger gedrückt, geht das Headset in den Pairing Mode und fordert auf dem Smartphone nach erfolgreicher Verbindung automatisch zur Installation der Logi Tune App auf. Der Einrichtungsprozess ist vorbildlich, inklusive dem Opt-Out für die Übermittlung von Diagnosedaten. Die App ist sehr übersichtlich und hilft bereits beim ersten Start, den Sidetone richtig einzustellen. Das ist die Lautstärke, bei der man sich selbst hört.

e7c4c0e4867b5adc2cdafdd1ac61b1b0

Bedient wird das Headset über sechs Knöpfe: Einschalter, ANC, Lauter, Leiser, Stummschalter und einen Multifunktionsknopf für Anrufe annehmen/auflegen oder Wiedergabe starten/stoppen. Sehr ungewöhnlich ist die Kombination, einen Track nach vorne oder zurück zu springen. Dazu muss man den Multifunktionsknopf und die Lautstärketasten gleichzeitig drücken und halten.

1ed094e1347e7ca4eb558cf23b9503ab

Das Zone Wireless würde ich im besten Sinn als OK bezeichnen. Man kann ordentlich damit telefonieren, die Nebengeräusche aus dem Raum werden unterdrückt. Aber es muss sich dem Jabra Evolve2 65 in jeder Hinsicht geschlagen geben. Die Musik klingt deutlich schlechter, der Frequenzgang stimmt trotz Equalizer nie. Es fehlen tiefe Bässe und spritzige Höhen. Und bei mir stimmt die Passform nicht, weil die Ohrpolster sich nur sehr begrenzt drehen. Sagen wir mal so: Obama könnte seine Ohren niemals dahinter verstauen. Und ohne eine ordentliche Abdichtung ist die Nebengeräuschunterdrückung eines Over-Ear mangelhaft.

Ein bisschen verwirrt bin ich bei den beiden verschiedenen Versionen dieses Headset. Das Logitech Zone Wireless Plus (981-000806) hat einen Unifying+ Audio Adapter, mit dessen Hilfe man am PC das Headset, aber auch andere Logitech Peripherie anschließen kann. Mir ist unklar, welchen USB-Adapter das Logitech Zone Wireless (981-000798) hat. Mit oder ohne Adapter hält es zwei Verbindungen etwa mit Smartphone oder PC/Mac. Die Erfahrung mit den Bluetooth-Stacks von Windows und macOS, auch mit anderen Headsets, zeigt, dass man diese Adapter in jedem Fall verwenden sollte. Die theoretische Reichweite beträgt dabei 30 Meter (100 Fuß).

22 May 22:38

Can Air Conditioning Transmit the Coronavirus?

by Thom Dunn
Can Air Conditioning Transmit the Coronavirus?

In early April, the CDC posted a draft of a scientific paper titled “COVID-19 Outbreak Associated with Air Conditioning in Restaurant, Guangzhou, China, 2020,” which a number of news outlets (including The New York Times, Wirecutter’s parent company) quickly picked up, leading to the headline-grabbing and unsettling idea that an air conditioner may increase your chance of catching the coronavirus and developing COVID-19. All of that has prompted some follow-up research and a lot of (understandable) concern.

22 May 22:38

"For the past 40 years there has been a concerted attack on government and on unions and on holding..."

“For the past 40 years there has been a concerted attack on government and on unions and on...
22 May 22:38

The pod exclusion

Wendy M. Grossman, net.wars, May 22, 2020
Icon

This is more commentary about Spotify's attack on open podcasting. "it will be much harder for their creators to find audiences and revenues as Spotify becomes the primary gatekeeper. This is what happened with blogs between 2008 and 2015 as social media took over." I'd like to think that there will be a way for the podcasting community to respond, but the key to success isn't just in depending RSS, it is in providing a way for podcasts to show up on podcasting applications like iTunes, TuneIn Radio, Player FM, and the like.

Web: [Direct Link] [This Post]
22 May 22:38

Calls to end BBC’s lockdown lessons will hit poor hardest

John Dickens, Schools Week, May 22, 2020
Icon

We see this from time to time, but it's always worth highlighting because there are still people who pretend it doesn't happen. Specifically, what we have here is yet another instance in which commercial education providers are lobbying against open online learning resources because of "fears they will squeeze commercial curriculum providers out of the market." I would think that the needs of the poor are more important than the needs of commercial publishers. But in Britain, the publishers will probably prevail. I know a lot of people are calling for a social equity reset after the pandemic, but we must always remember that organizations like the British Educational Suppliers Association are there to stand opposed.

Web: [Direct Link] [This Post]
22 May 22:36

Using SQL to Look Through All of Your iMessage Text Messages

Using SQL to Look Through All of Your iMessage Text Messages

Dan Kelch shows how to access the iMessage SQLite database at ~/Library/Messages/chat.db - it's protected under macOS Catalina so you have to enable Full Disk Access in the privacy settings first. I usually use the macOS terminal app but I installed iTerm for this because I'd rather enable full disk access to a separate terminal program than let anything I'm running in my regular terminal take advantage of it. It worked! Now I can run "datasette ~/Library/Messages/chat.db" to browse my messages.

Via Adam Kalsey

22 May 22:34

My Life During The Pandemic, Day 60

by Rob Campbell
Hi! I hope you’re doing well. I’ve been chewing on writing something like this for over a month now. A small textual recording of what life has been like for me, living through the COVID-19 pandemic in rural New Brunswick while underemployed. I posted my initial reaction to the COVID-19 outbreak back in March. At […]
22 May 22:33

Protecting Search and Browsing Data from Warrantless Access

by Alan Davidson

As the maker of Firefox, we know that browsing and search data can provide a detailed portrait of our private lives and needs to be protected. That’s why we work to safeguard your browsing data, with privacy features like Enhanced Tracking Protection and more secure DNS.

Unfortunately, too much search and browsing history still is collected and stored around the Web. We believe this data deserves strong legal protections when the government seeks access to it, but in many cases that protection is uncertain.

The US House of Representatives will have the opportunity to address this issue next week when it takes up the USA FREEDOM Reauthorization Act (H.R. 6172). We hope legislators will amend the bill to limit government access to internet browsing and search history without a warrant.

The letter in the link below, sent today from Mozilla and other companies and internet organizations, calls on the House to preserve this essential aspect of personal privacy online.

Read our letter (PDF)

 

The post Protecting Search and Browsing Data from Warrantless Access appeared first on The Mozilla Blog.

22 May 22:33

The USA Freedom Act and Browsing History

by Eric Rescorla

Last Thursday, the US Senate voted to renew the USA Freedom Act which authorizes a variety of forms of national surveillance. As has been reported, this renewal does not include an amendment offered by Sen. Ron Wyden and Sen. Steve Daines that would have explicitly prohibited the warrantless collection of Web browsing history. The legislation is now  being considered by the House of Representatives and today Mozilla and a number of other technology companies sent a letter urging them to adopt the Wyden-Daines language in their version of the bill. This post helps fill in the technical background of what all this means.

Despite what you might think from the term “browsing history,” we’re not talking about browsing data stored on your computer. Web browsers like Firefox store, on your computer, a list of the places you’ve gone so that you can go back and find things and to help provide better suggestions when you type stuff in the awesomebar. That’s how it is that you can type ‘f’ in the awesomebar and it might suggest you go to Facebook.

Browsers also store a pile of other information on your computer, like cookies, passwords, cached files, etc. that help improve your browsing experience and all of this can be used to infer where you have been. This information obviously has privacy implications if you share a computer or if someone gets access to your computer, and most browsers provide some sort of mode that lets you surf without storing history (Firefox calls this Private Browsing). Anyway, while this information can be accessed by law enforcement if they have access to your computer, it’s generally subject to the same conditions as other data on your computer and those conditions aren’t the topic at hand.

In this context, what “web browsing history” refers to is data which is stored outside your computer by third parties. It turns out there is quite a lot of this kind of data, generally falling into four broad categories:

  • Telecommunications metadata. Typically, as you browse the Internet, your Internet Service Provider (ISP) learns every website you visit. This information leaks via a variety of channels (DNS lookups), the IP address of sites, TLS Server Name Indication (SNI), and then ISPs have various policies for how much of this data they log and for how long. Now that most sites have TLS Encryption this data generally will be just the name of the Web site you are going to, but not what pages you go to on the site. For instance, if you go to WebMD, the ISP won’t know what page you went to, they just know that you went to WebMD.
  • Web Tracking Data. As is increasingly well known, a giant network of third party trackers follows you around the Internet. What these trackers are doing is building up a profile of your browsing history so that they can monetize it in various ways. This data often includes the exact pages that you visit  and will be tied to your IP address and other potentially identifying information.
  • Web Site Data. Any Web site that you go to is very likely to keep extensive logs of everything you do on the site, including what pages you visit and what links you click. They may also record what outgoing links you click. For instance, when you do searches, many search engines record not just the search terms, but what links you click on, even when they go to other sites. In addition, many sites include various third party analytics systems which themselves may record your browsing history or even make a recording of your behavior on the site, including keystrokes, mouse movements, etc. so it can be replayed later.
  • Browser Sync Data. Although the browsing history stored on your computer may not be directly accessible, many browsers offer a “sync” feature which lets you share history, bookmarks, passwords, etc. between browser instances (such as between your phone and your laptop). This information has to be stored on a server somewhere and so is potentially accessible. By default, Firefox encrypts this data by default, but in some other browsers you need to enable that feature yourself.

So there’s a huge amount of very detailed data about people’s browsing behavior sitting out there on various servers on the Internet. Because this is such sensitive information, in Mozilla’s products we try to minimize how much of it is collected with features such as encrypted sync (see above) or enhanced tracking protection. However, even so there is still far too much data about user browsing behavior being collected and stored by a variety of parties.

This information isn’t being collected for law enforcement purposes but rather for a variety of product and commercial reasons. However, the fact that it exists and is being stored means that it is accessible to law enforcement if they follow the right process; the question at hand here is what that process actually is, and specifically in the US what data requires a warrant to access — demanding a showing of ‘probable cause’ plus a lot of procedural safeguards — and what can be accessed with a more lightweight procedure. A more detailed treatment of this topic can be found in this Lawfare piece by Margaret Taylor, but at a high level, the question turns on whether data is viewed as content or metadata, with content generally requiring a more heavyweight process and a higher level of evidence.

Unfortunately, historically the line between content and metadata hasn’t been incredibly clear in the US courts. In some cases the sites you visit (e.g., www.webmd.com) are treated as metadata, in which case that data would not require a warrant. By contrast, the exact page you went to on WebMD would be content and would require a warrant. However, the sites themselves reveal a huge amount of information about you. Consider, for instance, the implications of having Ashley Madison or Stormfront in your browsing history. The Wyden-Daines amendment would have resolved that ambiguity in favor of requiring a warrant for all  Web browsing history and search history. If the House reauthorizes USA Freedom without this language, we will be left with this somewhat uncertain situation but one where in practice much of people’s activity on the Internet  — including activity which they would rather keep secret —  may be subject to surveillance without a warrant.

The post The USA Freedom Act and Browsing History appeared first on The Mozilla Blog.

22 May 22:33

A Vaccine With a Poison Pill

by Matt Levine
Also open outcry trading, oil ETFs, no coupons and a big statue.
22 May 22:33

Boris Johnson refused to fight the virus. He's not Churchill. He's Chamberlain. (Location: Kentish Town. See appeasement.org for a fully sourced timeline of failure) pic.twitter.com/sxyq72WTuE

by ByDonkeys
mkalus shared this story from ByDonkeys on Twitter.

Boris Johnson refused to fight the virus. He's not Churchill. He's Chamberlain.
(Location: Kentish Town. See appeasement.org for a fully sourced timeline of failure) pic.twitter.com/sxyq72WTuE




8402 likes, 3270 retweets
22 May 22:32

Osmo to kick off month-long sale on May 24 on camera, accessories

by Bradly Shankar
Osmo Action

DJI has announced that it will offer a special sale on a select Osmo products from May 24th to June 23rd.

Specifically, the Osmo Action mini motion-tracking camera and Osmo Pocket smartphone stabilizer are set to go on sale.

Here’s a breakdown of the deals.

It’s important to note that the Osmo Action Charging Combo includes a charging kit with the Osmo Action at no additional cost.

Learn more about Osmo’s devices here.

The post Osmo to kick off month-long sale on May 24 on camera, accessories appeared first on MobileSyrup.

22 May 22:32

Facebook launches ‘Workplace Rooms’ to take on Zoom, Microsoft Teams

by Aisha Malik

Facebook launched Messenger Rooms earlier this month, and now it has added video-conferencing capabilities to Workplace, which is its Slack alternative.

With Workplace Rooms, the social media giant is looking to take on Zoom and Microsoft Teams. Messenger Rooms is aimed towards video calling with friends and family, while Workplace Rooms is meant for professional video conferencing with up to 50 people.

“We’re using the same technology from the recent Messenger Rooms announcement and adapting it to the enterprise, transforming video collaboration for businesses,” Facebook stated in a blog post. 

Users don’t need a Workplace account to join a video call. For instance, someone with an account can share links for video calls in emails or chat messages, and anyone with the link can enter the meeting.

There’s also an option to share your screen, and users can lock a room to prevent unauthorized people from joining it. This is an important feature, since Zoom faced severe backlash due to “Zoombombing,” which refers to unauthorized users entering a meeting and sharing hateful or pornographic images.

Workplace Rooms also lets you remove meeting participants if needed, which means that if an unauthorized person manages to enter the meeting, they can be booted out at any point.

To address possible security concerns, Facebook notes that a new link is created each time a user creates a meeting room, and that links can expire.

There also isn’t a time limit on how long a meeting can be on Workplace Rooms, unlike on Zoom, which has a 40 minute time limit on free calls.

Facebook says that Workplace has reached five million paid customers, which is a two million increase since October. It’ll be interesting to see if Workplace sees an uptick in users due to its new video conferencing capabilities, or if it is too late in the game as people may already be used to another service.

Image credit: Facebook

Source: Facebook

The post Facebook launches ‘Workplace Rooms’ to take on Zoom, Microsoft Teams appeared first on MobileSyrup.

22 May 22:32

Trudeau says government working with Apple and Google regarding COVID-19 contact tracing app

by Aisha Malik
Justin Trudeau Prime Minister

Prime Minister Justin Trudeau says the government is “working closely with Apple and Google” in regards to a COVID-19 contact tracing app.

Trudeau stated the notification system Apple and Google are working on will be extremely important as a base for an effective contract tracing or exposure notification app.

“One of the challenges that contact tracing apps have encountered is that it has to sit in the foreground of your phone and drains the battery. That’s why the fix that Apple and Google are talking about will be extremely important,” he stated during his daily briefing on May 22nd.

Trudeau notes that the government is working with several different partners for contact tracing apps, which indicates that it is collaborating with other organizations and companies too. This also outlines that if the government releases a contact tracing app, it may not necessarily use Apple and Google’s system.

“We’re working closely with Apple and Google on the update that they will be bringing forward, and it is our expectation that when the time comes for that to be released, we will be able to recommend strongly to Canadians a particular app that will help us manage the spread of COVID-19,” he said.

Apple and Google recently announced that their Exposure Notification System would be released publicly through software updates starting May 20th. The companies said that with the updates, public health agencies around the world can start deploying apps that make use of the system. Apple’s contact tracing API went live with the release of iOS 13.5.

The Exposure Notification System uses Bluetooth technology to share randomized codes with other nearby smartphones, which can’t identify users. When someone tests positive for COVID-19, they upload their codes through the app provided by their government’s health authority.

Other smartphones are then able to access these codes and check for matches against the codes stored on devices. The system then notifies the user if it has confirmed a match and then provides the users with details about what to do next.

Trudeau did not offer a timeline regarding when a potential COVID-19 contact tracing app may be released, but indicated that Canadians would be strongly advised to download it once it is available.

The post Trudeau says government working with Apple and Google regarding COVID-19 contact tracing app appeared first on MobileSyrup.

22 May 22:32

Amazon is trying to regain customers with a reported upcoming ‘Summer Sale’

by Dean Daley

Due to the overwhelming demand caused by the COVID-19 pandemic, Amazon has lost some of its customers.

The company’s inability to keep up with all of its orders has caused it to lose eight percent of its hold on the online shopping market in the United States. Typically, Amazon accounts for 42 percent of all online sales in the U.S., but by mid-April, it dropped to 34 percent, according to data from the analytics firm, Rakuten Intelligence.

Companies like Target and Walmart saw online sales shoot up — 141 percent for Target and 74 percent for the latter — in the last quarter, but now it seems like Amazon is ready to regain its position in the market.

Even though the company’s annual Prime Day is reportedly delayed, Amazon is preparing for an earlier ‘Summer Sale’ that will let brands sell excess inventory, as reported by The New York Times. The publication says it received the information from an audio recording of an internal meeting that discussed the promotion.

While Amazon did struggle at first to keep up with demand, and though it seems it may not be ready for its full Prime Day event, the Summer Sale might be enough to help it regain traction with the online shopping market.

On May 1st, Amazon stopped allowing unlimited unpaid time off, forcing many employees back to work. The company also hired and trained 175,000 new employees, which will allow the retail giant to replenish its warehouses quickly. The new employees will be able to help with the upcoming sale as well.

Amazon is also taking back the measures it put in place to throttle customer demand.  For example, the ‘Today’s Deals’ page has returned to the site’s homepage and the variety of products listed has increased.

Additionally, in early April, the company stopped banning brands from selling on the site if they had numerous late or cancelled orders. However, starting June 1st, the company will restart tracking and enforcing accounts that have a high cancellation rate and late shipment rates.

Source: The New York Times

The post Amazon is trying to regain customers with a reported upcoming ‘Summer Sale’ appeared first on MobileSyrup.

22 May 22:32

Premier Ford says Ontario would participate in Canada-wide COVID-19 contact tracing app

by Aisha Malik

Ontario Premier Doug Ford says that the province would participate in a Canada-wide COVID-19 contact tracing app.

“It’s so important to have the proper app make sure we do contact tracing and tracking, when people start flying from Vancouver to Toronto to out east, those apps have to be able to talk to each other,” he said during a daily briefing on May 22nd.

Ford outlined that in order for a contact tracing app to be effective, it must be for the entire country. This is the first time that the Ontario government has outlined plans for a using contact tracing app.

This announcement comes a few hours after Prime Minister Justin Trudeau announced that the government has been working with several partners, including Apple and Google, to create a COVID-19 contact tracing app.

Trudeau noted that Apple and Google’s notification system would be important as a base for an app. He went on to state that the government “will be able to recommend strongly to Canadians a particular app that will help us manage the spread of COVID-19.”

As of now, most provinces have been conducting manual contact tracing, which involves public health employees and city staff contacting infected people and then calling each person they came into contact with.

Alberta is the only province to officially launch an app dedicated to preventing the spread of COVID-19 through digital contact tracing.

The federal government has noted that more information regarding an official COVID-19 contact tracing app will be provided in the coming weeks.

Image credit: Premier of Ontario (Screenshot)

Via: CP24

The post Premier Ford says Ontario would participate in Canada-wide COVID-19 contact tracing app appeared first on MobileSyrup.

22 May 22:31

DiscreetAI

Ashwinee Panda, Product Hunt, May 22, 2020
Icon

It's hard to believe that this is only the #2 product of the day on Product Hunt (taking the top spot is a video escape room). Machine learning depends on having enough data to train a neural network model, however, if you don't have enough data (you have, say, only a certain number of bottles in your home) to can send out the application, have people in different places scan their data (the bottles in their homes, say) and collect the results (not all the training data) to create a single output (a bottle-recognizing network, say). Via Reddit.

Web: [Direct Link] [This Post]
22 May 22:31

What the ‘Park’ in Park Board really means

by Gordon Price

Why isn’t there a Kits Flow Way – an allocation of street space that both takes the pressure off the overcrowded mixed-use paths through Hadden and Kits Park, and provides a designated, separated space to accommodate the dramatically increased amount of bike traffic in these days of the pandemic?  In other other words, a Kits equivalent of the Beach Flow Way.  (More discussion here.)

The answer I heard from City Hall insiders is that there really isn’t a need to have a traffic-calmed reallocation on parts of the adjacent streets because, with the pandemic and the closure of the parking lots in Kits and Hadden, there isn’t much traffic anyway.

Well, guess what.

Let’s not criticize the Park Board for failing to make quick decisions or not responding to demand.  (Rationale: cars are safer than transit, they’re needed by seniors and the disabled, and gas is cheap.)

Sooo … what is the likelihood that there will now be a designated flow way around and through parks like Kits and Jericho, or along Spanish Banks?  That the Park Board and City will quickly mark out, separate and sign those routes?  That they will, above all, ensure that it’s safe for people of all ages to cycle through the newly opened parking lots to the beaches?

Especially here:

Unfortunately, it’s pretty safe to assume that there won’t be a designated active-transportation alternative.  (Even though, on the board of park commissioners, the majority is held by Green and COPE members.)  They’ve had over half a decade to resolve the issue in Hadden and Kits, and essentially done nothing.  Why would they start now?

Oh yeah, a pandemic.

 

22 May 02:46

Twitter Favorites: [brentsimmons] @emiliopavia @chriseidhof Feedly syncing will be included in NetNewsWire 5.1 for Mac. 👍 https://t.co/qAqI8cgLCW

Brent Simmons @brentsimmons
@emiliopavia @chriseidhof Feedly syncing will be included in NetNewsWire 5.1 for Mac. 👍 ranchero.com/netnewswire/fr…
22 May 02:45

Twitter Favorites: [glynbowerman] An issue with this “Digital by Default” concept is not just the loss of receptionist, site management, mailroom job… https://t.co/HQwBFQQF6y

Glyn Bowerman @glynbowerman
An issue with this “Digital by Default” concept is not just the loss of receptionist, site management, mailroom job… twitter.com/i/web/status/1…
22 May 02:45

Twitter Favorites: [skinnylatte] I’m on team apartment, mega city, and transit too. I will go stir crazy in any other setting. https://t.co/fTWXIgc181

Adrianna Tan @skinnylatte
I’m on team apartment, mega city, and transit too. I will go stir crazy in any other setting. twitter.com/sararahmcb/sta…
22 May 02:44

Seaside Redesigned: Why Seaside won’t go back to the way it was

by Gordon Price

Seaside Greenway: all the paths along the waterfront, from Coal Harbour to Spanish Banks.

One of the best continual waterfront pathways in the world. The result of a century and a half of political commitment and constant addition.

In the 1990s, separated routes were state-of-the-art design as the Seaside enveloped False Creek.  Vancouverism at its best.  (Examples in the video above.)

Certainly a new standard for active transportation.

David Lam Park Seaside Extension – 1998

Vancouver loved it.  A generation of cyclists, runners, walkers was raised on it, of every age and agility.

But the road-like design was not a standard some park board commissioners were comfortable with, reflecting the general anxiety Vancouverites feel when it  comes to paving paradise.  In Kitsilano Park, they stopped trying.

Nonetheless, Seaside was connecting up. More kilometres opened every year in the nineties, the region was building a network in the 2000s, the Bikeway Network was in full bloom. Add in downtown bike lanes, Burrard Bridge, Point Grey Road.  Growth was inevitable.

Like any attractive and free transportation option, it began to fill up.  But we weren’t anywhere near incoherent congestion.  Wheel and feet got along pretty well on Seaside – except in some of the parks.  And there was still room for tourists.

Then, March of 2020.  Overnight we found out what our very own latent demand was when Park Drive and Beach Avenue became Flow Ways*.

Vancouver immediately experienced the difference, and they liked it.

Best of all, it took the pressure off the seawall. If the Beach Flow Way didn’t exist, those bicycles would be back in places like this:

 

How could deliberately doing that be defended? It probably can’t.

Basically, there’s no status quo to return to.  Now we have to design successfully for the world we are believe we are in.

As the awareness of the future of Seaside is developing, the summer will progress. And it will be just us Vancouverites on Seaside  There are no tourists.

By fall, if we’re responsive and there’s a will for more change, we’ll have essentially designed the next stage of Seaside.

 

22 May 02:44

Seaside Redesigned: Why Seaside won’t go back to the way it was

by Gordon Price
mkalus shared this story from Price Tags.

Seaside Greenway: all the paths along the waterfront, from Coal Harbour to Spanish Banks.

One of the best continual waterfront pathways in the world. The result of a century and a half of political commitment and constant addition.

In the 1990s, separated routes were state-of-the-art design as the Seaside enveloped False Creek.  Vancouverism at its best.  (Examples in the video above.)

Certainly a new standard for active transportation.

David Lam Park Seaside Extension – 1998

Vancouver loved it.  A generation of cyclists, runners, walkers was raised on it, of every age and agility.

But the road-like design was not a standard some park board commissioners were comfortable with, reflecting the general anxiety Vancouverites feel when it  comes to paving paradise.  In Kitsilano Park, they stopped trying.

Nonetheless, Seaside was connecting up. More kilometres opened every year in the nineties, the region was building a network in the 2000s, the Bikeway Network was in full bloom. Add in downtown bike lanes, Burrard Bridge, Point Grey Road – expansion of bikeways throughout the city.  Growth was inevitable.

Like any attractive and free transportation option, it began to fill up.  But we weren’t anywhere near incoherent congestion.  Wheel and feet got along pretty well on Seaside – except in some of the parks.  And there was still room for tourists.

Then, March of 2020.  Overnight we found out what our very own latent demand was when Park Drive and Beach Avenue became Flow Ways*.

Vancouver immediately experienced the difference, and they liked it.

Best of all, it took the pressure off the seawall. If the Beach Flow Way didn’t exist, those bicycles would be back in places like this:

 

How could deliberately doing that be defended? It probably can’t.

Basically, there’s no status quo to return to.  Now we have to design successfully for the world we are believe we are in.

As the awareness of the future of Seaside is developing, the summer will progress. And it will be just us Vancouverites on Seaside  There are no tourists.

By fall, if we’re responsive and there’s a will for more change, we’ll have essentially designed the next stage of Seaside.

 

22 May 00:55

CROQUEMBOUCHE (Profiterole Tower) Recipe Relay Challenge!! | Pass It On S2 E8

by sortedfood
mkalus shared this story from sortedfood's YouTube Videos.

From: sortedfood
Duration: 17:18

Let’s whip up a show-stopping croquembouche in 50 minutes... said no one, EVER! In this episode, we’ve taken the ‘pass it on’ game to a new, relentless level and challenged the boys to produce a croquembouche, a French dessert consisting of choux pastry puffs piled into a cone and bound with threads of caramel. What could possibly go wrong?

*This episode was filmed before lockdown*

We used the Crispy Cream Puffs recipe from our Deserts in Duvets book, if you want to look at more recipes from Desserts in Duvets, you can find ‘em all on the Sorted Club: Books app. Find out more here: ​https://bit.ly/3bBGUJs

Ready to live the ultimate food lifestyle?

Come and join the Sorted Club to make use of the smart tools that connect millions of foodies around the world and help you create your ultimate food lifestyle.
- Simplify midweek cooking with smart meal packs and audio guides
- Visit locally recommended restaurants & experiences in major cities around the world
- Listen to weekly podcasts that debate trending food topics
- Enjoy the full collection of Sorted Club Books and build your own cookbook.

Check it out here: http://bit.ly/2SiD6q6