What is a JSON feed? Learn more

JSON Feed Viewer

Browse through the showcased feeds, or enter a feed URL below.

Now supporting RSS and Atom feeds thanks to Andrew Chilton's feed2json.org service

CURRENT FEED

Stuart Breckenridge

Made with ones and zeros.

A feed by Stuart Breckenridge

JSON


Lackluster HomePod Sales

Permalink - Posted on 2018-04-15 08:24

Joe Rossignol, via MacRumors:

HomePod shipments “could be far below market expectations” this year, according to reputable KGI Securities analyst Ming-Chi Kuo.

[…]

Kuo believes the “major miss” in HomePod shipments could be attributable to the speaker’s design and pricing, among other factors.

[…]

More importantly, Kuo believes Apple needs to improve Siri, support more languages, and make other improvements to the HomePod to stay competitive against Amazon and Google in the smart speaker market. Premium audio quality alone may not be enough for customers to justify dropping $349 on the speaker.

In recent trips to Apple stores, I’ve seen the HomePod but I’ve not seen a single person trying one out.


High Sierra Storage Space Woes

Permalink - Posted on 2018-04-08 19:15, modified on 2018-04-10 14:00

High Sierra is an unforgivable mess when it comes to communicating free storage space.

What exactly are you meant to do when Boot Camp tells you that you need 39GB free space, Finder tell you that 126.14GB is available, and About This Mac tells you that 207.69GB is available?

Storage Space Woes

Update 2018-04-10: Here’s what worked for me after a bit of digging on Stack Overflow:

sudo tmutil thinlocalsnapshots / 999999999999

I’m still left with Finder and About this Mac communicating storage values that are about 80GB apart.


Apps of a Feather

Permalink - Posted on 2018-04-06 16:47, modified at 18:55

After June 19th, 2018, “streaming services” at Twitter will be removed. This means two things for third-party apps:

  1. Push notifications will no longer arrive
  2. Timelines won’t refresh automatically

If you use an app like Talon, Tweetbot, Tweetings, or Twitterrific, there is no way for its developer to fix these issues.

We are incredibly eager to update our apps. However, despite many requests for clarification and guidance, Twitter has not provided a way for us to recreate the lost functionality. We’ve been waiting for more than a year.

Either Twitter fix this, or I’m off the platform.

Update 2018-04-06:
Stephen Hackett:

If this comes to pass, I think I’ll be on Twitter far less than I am today, and while that may be a good thing for me personally, it’s bad for the developers of these apps, and bad for Twitter itself. The company should fix this.

Manton Reece:

Dieter Bohn:

Juli Clover:

The developers behind Tweetbot, Twitterrific, Talon, and Tweetings are asking customers to contact the @TwitterDev account to correct the situation and to use the #BreakingMyTwitter hashtag to spread awareness.


macOS 10.13.4 eGPU Support

Permalink - Posted on 2018-04-06 00:30, modified at 18:55

The 10.13.4 release of macOS includes full support for eGPUs. As detailed in the support note:

With eGPU support in macOS 10.13.4, you can:
• Accelerate applications that use Metal, OpenGL, and OpenCL
• Connect additional external monitors and displays
• Use virtual reality headsets plugged into the eGPU
• Charge your MacBook Pro while using the eGPU
• Use an eGPU with your MacBook Pro while its built-in display is closed
• Connect an eGPU while a user is logged in
• Connect more than one eGPU using the multiple Thunderbolt 3 (USB-C) ports on your Mac
• Use the menu bar item to safely disconnect the eGPU
• View the activity levels of built-in and external GPUs. Open Activity Monitor, then choose Window > GPU History

What you cannot do with a connected eGPU, and which is major disappointment, is accelerate the internal display of an iMac or MacBook.


Encapsulating Table View Row Functions in a Struct

Permalink - Posted on 2018-04-05 05:21, modified on 2018-04-06 18:55

During a recent refactor of a table view data source, I created a struct for table view row data that would encapsulate both UI data and any necessary function to perform when the row is selected. It looks like this:

struct TableViewRowData {
    var title: String
    var performingFunction: (() -> Void)?
}

Adding a few TableViewRowData entries to an array:

let dataSource: [TableViewRowData] = [
    TableViewRowData(title: "Row 1", performingFunction: {
		print("Row 1")
	}),
    TableViewRowData(title: "Row 2", performingFunction: {
		print("Row 2")
	})
]

Then, in the UITableViewDataSource:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return dataSource.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    guard let cell = tableView.dequeueReusableCell(withIdentifier: "rowCell", for: indexPath) as? TableViewCell else {
        return UITableViewCell()
    }

    cell.titleLabel.text = dataSource[indexPath.row].title

    return cell
}

And in the UITableViewDelegate:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    dataSource[indexPath.row].performingFunction?()
    tableView.deselectRow(at: indexPath, animated: true)
    tableView.reloadData()
}

This approach keeps the UITableViewDataSource and UITableViewDelegate a bit tidier.


■ Announcing SG Transit

Permalink - Posted on 2018-04-03 01:25, modified on 2018-04-06 18:55

SG Transit is a simple yet powerful app that gives you up to date arrival times at all bus stops in Singapore. Using your location, the app can determine nearby bus stops, or you can search for any bus stop in Singapore. Not only do you get the estimated arrival time, you can also see the location of arriving buses on the map. Subtle colour changes also let you know whether you’ll be able to grab a seat on an arriving bus.

That’s not all, though! SG Transit also allows you to view the latest MRT service status and any available public bus or MRT shuttle serivces that are in operation. The app also supports English or Chinese station names.

With a clean, modern design, and all of the above features, what are you waiting for?

SG Transit is available for free on the App Store.


Dashlane Love Marketing of Anonymous Information

Permalink - Posted on 2018-03-14 14:37, modified on 2018-04-06 18:55

Killian Bell, Cult of Mac:

Password management service Dashlane today published its 2018 City Security Rankings, revealing the state of password security in America’s most populous cities — and those that are home to some of the biggest companies and government agencies.

This is covered under their Privacy Policy:

Creation of Anonymous Information. If we have any information that is identifiable with a particular person, we may create Anonymous Information records from such Information by excluding information that makes the information personally identifiable to you. We reserve the right to use Anonymous Information for any purpose and disclose Anonymous Information to third parties. “Anonymous Information” means information that does not, by itself, permit the identification of individual natural persons.

However, three things are worth mentioning:

  1. Why are Dashlane collecting password strength data of their users? (Hint: marketing.)
  2. Why are they sharing it? (Hint: marketing.)
  3. Use 1Password. (Why? This is why.)


Limitations of MapKit Direction Requests

Permalink - Posted on 2018-03-06 10:45, modified on 2018-04-06 18:55

I’m trying to use MKDirection and MKDirectionsRequest to draw a bus route, but I am running into limitations with the API. I have an array of coordiantes of all 72 bus stops along the route, so my first task was to create an array of MKMapItems from those coordinates:

for item in coords {
    let mapItem = MKPlacemark(coordinate: item)
    mapItems.append(MKMapItem(placemark: mapItem))
}

So far, so good. The next step was to configure the the MKRoute and MKDirectionsRequest:

var busRoute = MKRoute()
let directionsRequest:MKDirectionsRequest = {
    let request = MKDirectionsRequest()
    request.transportType = .automobile
    request.requestsAlternateRoutes = false
    return request
}()

Finally, iterate through the array of MKMapItems and calculate directions from the first stop to the last stop along the route:

for (count, item) in mapItems.enumerated() {
    if count < mapItems.count - 1 {
        directionsRequest.source = item
        directionsRequest.destination = mapItems[count+1]
        let directions = MKDirections(request:directionsRequest)
        directions.calculate(completionHandler: { (response, error) in 
            if error == nil {
                // Add the route to the map
                OperationQueue.main.addOperation {
                    busRoute = response!.routes[0]
                    self.busRouteMapView.add(busRoute.polyline, level: .aboveRoads)
                } else {
                    print(error!.localizedDescription)
                }
            }
        })
    }
}

This worked as advertised, but only to a point: 50 direction calculations. When I hit 50 API calls, the error returned is Directions Not Available and it restricts any further API calls for about one minute, preventing any opportunity to chain requests together.1 Left as-is, MapKit would return directions for just under 70% of the route, which is obviously not acceptable.

As a test, I tried to use the first and last set of coordinates and then every second set of coordinates in between. Zoomed out, it looked promising. Zoomed in, not so much — it lead to cut corners.

I don’t want to use MKPolyline to draw a waypoint-to-waypoint look that would ignore the roads. For the moment, I am stuck.

  1. Unhelpfully, I’ve found no mention of this API limitation in the documentation. ↩︎


Vlogger Received Rocks and Bricks Instead of the Canon DSLR He Ordered

Permalink - Posted on 2018-02-25 00:17, modified on 2018-04-06 18:55

Michael Zhang, for Petapixel:

A popular YouTube personality with over 780,000 subscribers has caused a stir by claiming that he ordered a $6,000 DSLR from Amazon but received a camera box filled with rocks instead. And when he was sent a replacement from Amazon, the second box was filled with bricks.

Chaseontwowheels, a motorcycle vlogger, documented his experience in the 12-minute video above. He says that he originally ordered a $6,000 Canon 1D X Mark II from Amazon — it’s unclear whether the order was sold directly by Amazon or was placed with a 3rd party — and received a legitimate camera box filled with heavy rocks instead (you can watch his original rant here).

I was recently very close to ordering a new Nikon DSLR from Amazon (US) but decided against it because I was concerned about Fulfilled by Amazon seller ratings and damage in transit. I can’t imagine how angry I would have been if I had ordered the camera and received rocks and bricks.


Trump Proposes Arming of Teachers

Permalink - Posted on 2018-02-21 23:54, modified on 2018-04-06 18:55

David Smith, The Guardian:

Donald Trump has said he will consider a proposal to arm school teachers in an attempt to prevent mass shootings, a move certain to prove fiercely divisive.

[…]

Referring to Aaron Feis, a football coach who used his body as a shield to protect a student during the massacre at Marjory Stoneman Douglas high school in Parkland, the president continued: “If the coach had a firearm in his locker when he ran at this guy – that coach was very brave, saved a lot of lives, I suspect.

“But if he had a firearm, he wouldn’t have had to run, he would have shot him, and that would have been the end of it. This would only obviously be for people who are very adept at handling a gun. It’s called concealed carry, where a teacher would have a concealed gun on them. They’d go for special training and they would be there and you would no longer have a gun free zone.”

Guns in schools is not the solution to school shootings. As other countries have proven, the solution is fewer guns.


HomePod Leaves Prominent Marks on Certain Surfaces

Permalink - Posted on 2018-02-14 23:06, modified on 2018-02-16 01:30

John Chase, Wirecutter:

We quickly discovered through testing that the HomePod leaves prominent white rings on unprotected wood, a potentially disastrous problem for owners of fine furniture. While Apple insists these marks are easily wiped away, it’s still something to consider.

Apple’s HomePod support document:

It is not unusual for any speaker with a vibration-dampening silicone base to leave mild marks when placed on some wooden surfaces. The marks can be caused by oils diffusing between the silicone base and the table surface, and will often go away after several days when the speaker is removed from the wooden surface. If not, wiping the surface gently with a soft damp or dry cloth may remove the marks. If marks persist, clean the surface with the furniture manufacturer’s recommended cleaning process. If you’re concerned about this, we recommend placing your HomePod on a different surface.

It’s not as disastorous as it’s being made out to be by Wirecutter. Just put a cloth under it.

Updated 2018-02-16: This also happens with the Sonos One.


Siri on HomePod Correctly Answered 52.3% of Queries in New AI Test

Permalink - Posted on 2018-02-13 13:03, modified on 2018-02-16 01:30

Mitchel Broussard, Macrumors:

In a new test shared today by Loup Ventures, Apple’s HomePod was put through its paces in categories including Siri, sound quality, and ease of use. For Siri, Loup Ventures’ Gene Munster reported that while the AI assistant understood 99.4 percent of queries asked of it, it answered only 52.3 percent of them correctly. Loup Ventures tested three separate HomePods and asked 782 queries total.

It’s been almost eight years since Apple purchased Siri but it doesn’t feel like there has been eight years of progress. In the above test almost 1 in 2 questions couldn’t be answered correctly! While I’m not sure what questions were asked, below are some examples from my testing:

  • Birthdays: If you have a someone’s birthday recorded in the Contacts app, ask Siri how old that person will be on their next birthday. Siri will respond with said person’s current age. This is Siri working out the age based on data held locally within an Apple app — there is no way this should fail.
  • Localisation: Asking Siri what the next matches are in the Premier League gives two results for the same match. The text states Leicester City vs Stoke City, while the team crests are in the reverse order. This makes no sense as one is Home vs Away while the other is Away vs Home.
    • An additional minor gripe: why am I also told which U.S. TV channel is broadcasting the game? Siri could use my location (Singapore) and language preferences (English, U.K.) to determine this information to be completely unnecessary.
    Siri Localisation Fail

Siri needs some serious improvements.


Delaying iOS Updates Through Mobile Device Management

Permalink - Posted on 2018-02-07 02:17, modified on 2018-02-16 01:30

In the latest iOS 11.3 beta1, Apple has introduced a new Mobile Device Management feature:

Delay the ability to see and install iOS updates for up to 90 days.

Other than giving companies the ability to delay updates in order to ensure compatibility with their own apps, I don’t see a good reason for this. The improved security of each iOS update is, to my mind, more important.

  1. A developer subscription is required to view the release notes. ↩︎


Apple Watch Series 3 with Cellular

Permalink - Posted on 2018-02-05 13:46, modified on 2018-02-16 01:30

Via Channel News Asia:

Singtel will be the first telecommunications provider to offer a new model of the Apple Watch Series 3 with a built-in cellular service from Feb 9, it announced in a news release on Friday (Jan 26).

It’ll cost an extra S$6.90/month, according to Singtel’s site. While this isn’t as bad as the $10 + taxes (USD) that AT&T are charging in the United States, it’s still questionable. The watch uses the data allowance of your phone. Why should you pay twice for that privilege?


When Does the iMac Pro Go On Sale?

Permalink - Posted on 2017-12-13 10:53, modified on 2018-02-16 01:30

There’s been no clear indication from Apple as to which countries will be able to order the iPad Pro from 14th December. However, it appears that Singapore will not be one of them:

It’s strange, normally Singapore is a launch country for new products.


Month 13 is Out of Bounds

Permalink - Posted on 2017-12-06 15:28, modified on 2018-02-16 01:30

After the recent macOS security update I started seeing this message flooding the console:

It’s appearing at least 20 times per second and other than disabling Bluetooth, I haven’t found a way to stop it.

Update: This is wide spread.


Fast Charging Comparison on iPhone X

Permalink - Posted on 2017-12-06 00:18, modified on 2018-02-16 01:30

Fantastic comparison of wired (5W, 12W, 18W, 29W, 30W, 87W), and wireless (5W, 7.5W) charging speeds on iPhone X by Juli Clover, at MacRumors.

via MacRumors

Two things stand out to me:

  • Getting to 50% is noticeably quicker with fast-chargers (30 minutes vs. over 60 minutes with the 5W charger in the box)
  • After an hour of charging, the difference between the 12W iPad charger and the fast-chargers is negligible (~7%)

At work I use a 29W Anker USB-C charger1 and at home I use my iPad’s charger and don’t notice the difference. That said, I can’t help but agree with Juli’s conclusion:

It’s not really worth it using the 5W charger that the iPhone ships with if you can help it, because it’s incredibly slow.

Would a 12W charger in the box have been too much, Apple?

  1. This used to be available on Amazon’s Singapore site but has, for some reason, vanished. ↩︎


iOS 11.1.2 December 2nd Crash Loop

Permalink - Posted on 2017-12-02 07:30, modified at 13:11

Juli Clover, for MacRumors:

A date-related bug in iOS 11.1.2 appears to be causing iPhones and iPads to continually crash or respring when time-based local notifications are received after 12:15 a.m. on December 2, according to reports on Twitter and reddit.

The problem seems to be tied to local notifications received from apps that offer daily or repeat reminders. For example, meditation app Headspace, one of the affected apps, sends daily reminders to users to encourage them to take some time to meditate. Any app using local (as in not pushed from a remote server) notifications that repeat will cause a crash.

I am intrigued as to what is tying December 2nd and repeating local notifications1 together to cause this issue. Regardless, along with #iamroot, this is yet another embarrassing bug for Apple.

Update 2017-12-02: Here’s an oddity: a major point release of iOS being made available on a weekend. It’s probably got something to do with this bug.

  1. I attempted to recreate the bug using a local notification from Todoist but it was unsuccessful, likely because it was a single notification. ↩︎


Why Hasn't Twitter Removed Trump's Retweets?

Permalink - Posted on 2017-12-01 01:57, modified on 2017-12-02 13:11

Ivana Kottasová, writing for CNN:

President Trump has been heavily criticized for his decision to retweet three graphic anti-Muslim videos.

But why did Twitter allow them in the first place?

The anti-Muslim videos were first posted by Jayda Fransen, deputy leader of the far-right party Britain First. They depict violent assaults and the destruction of a statue of the Virgin Mary.

They also appear to violate the terms of use published by Twitter. It warns users: “You may not promote violence against, threaten, or harass other people on the basis of race, ethnicity, national origin, sexual orientation, gender, gender identity, religious affiliation, age, disability, or serious disease.”

Asked why the original tweets have not been deleted, a Twitter spokesperson said:

“To help ensure people have an opportunity to see every side of an issue, there may be the rare occasion when we allow controversial content or behavior which may otherwise violate our rules to remain on our service because we believe there is a legitimate public interest in its availability.”

Twitter knows these tweets violate their rules and by not acting to remove them they show just how spineless they are as an organisation. There is no legitimate public interest in seeing these videos, one of which has already been debunked by the Dutch Embassy.

Twitter have effectively given Trump a blank cheque to say what he wants regardless of impact or truth. Their leadership should be ashamed of themselves.


On Brexit

Permalink - Posted on 2017-10-27 14:38, modified on 2017-12-02 13:11

Alexander Stubb, vice president of the European Investment Bank:

“I have a British heart pumping, I am married to a Brit, my children have dual nationality and I think Brexit is one of the biggest travesties that we have seen in the modern era,” he said.

“So I will do everything in my power to alleviate the pain, but the economic facts are just such that there are no winners in Brexit - apart from perhaps a few lawyers. Unfortunately, we will see this in the coming years.”

I couldn’t agree more.