Quantcast
Channel: November 2015 – Michael Tsai
Browsing latest articles
Browse All 70 View Live

Why Is Swift’s String API So Hard?

Mike Ash: Incidentally, I think that representing all these different concepts as a single string type is a mistake. Human-readable text, file paths, SQL statements, and others are all conceptually...

View Article


Flickr for iOS 9

Flickr: On the iPhone 6s and iPhone 6s Plus, we’ve added 3D Touch support, enabling you to preview photos, people, notifications and more with a light press of your screen. […] New in iOS 9, 3D Touch...

View Article


The Java Deserialization Bug and NSSecureCoding

Charles Miller: The problem, described in the talk the exploit was first raised in — Marshalling Pickles — is that arbitrary object deserialization (or marshalling, or un-pickling, whatever your...

View Article

The New Favicon

Craig Hockenberry: The href points to an SVG file and the color is used to draw the vector shape contained in the file (the background color for the tab changes depending on whether the browser window...

View Article

The Mac App Store: With Convenience Comes Compromise

Rob Griffiths: A user may not know what sandboxing is, but they may wonder why a developer “chose” to put up an annoying “please grant permission” dialog box when they try to do something. […] This may...

View Article


Long-Term Exposure to Flat Design

Kate Meyer: Clickable UI elements with absent or weak visual signifiers condition users over time to click and hover uncertainly across pages—reducing efficiency and increasing reliance on contextual...

View Article

George Boole: a 200-Year View

Stephen Wolfram: Today is the 200th anniversary of the birth of George Boole. In our modern digital world, we’re always hearing about “Boolean variables”—1 or 0, true or false. And one might think,...

View Article

Apple’s Beautiful Construction Barriers

Dave Caolo: When I saw these photos of the forthcoming Apple Store in Amsterdam, I noticed how great the construction barriers look. Typically barriers like this are erected simply to discourage prying...

View Article


Apple on Hamburger Menus

Manbolo quoting Apple’s Mike Stern (via Samuel Goodwin): I’m not going to say that there’s no place for these controls categorically. I think there are some apps that could maybe use one. But I will...

View Article


Microsoft Band 2

David Pogue: For decades, Microsoft was considered a company distinguished by copycatting and mediocrity. But today, the company is leading, not following. The latest products, like the Surface Pro 4,...

View Article

On Keyboards and Thinness

Riccardo Mori: The other day, my friend Alex Roddie pointed me to this article on MacRumors: Apple Patents Switch-Less Force Touch Keyboard, Could Lead to Thinner Macs. Alex’s further comments were: I...

View Article

How Apple Is Giving Design a Bad Name

Don Norman and Bruce Tognazzini (via Don Norman, comments): The products, especially those built on iOS, Apple’s operating system for mobile devices, no longer follow the well-known, well-established...

View Article

Sideloading f.lux on iOS

f.lux, the excellent Mac display color adjuster, has not been available for iOS except via jailbreaking. Now, however, there is a way to sideload it (comments): In Xcode 7, you can install apps...

View Article


No One Minding the Store

I woke up to an inbox full of e-mails from customers reporting that my apps wouldn’t launch. This included new customers who had just purchased from the Mac App Store as well as people who had...

View Article

Decoding Old Nibs: a Sad Tale of Vendor Lock-in and Abandonment

Nat!: I have over 200 NIBs of which most of them have EOInterface objects in them. The problem is, that they don’t open in the newer Interface Builders anymore. […] If I redo 200 NIBs manually, I am...

View Article


iPad Pro Reviews

Tim Cook: Yes, the iPad Pro is a replacement for a notebook or a desktop for many, many people. They will start using it and conclude they no longer need to use anything else, other than their phones....

View Article

Castro 1.5

Supertop: Castro is now a free app. Every feature is available without charge. If you like Castro, please consider becoming a patron by contributing $1/month. You will support the work of a small indie...

View Article


Apple Forbids Sideloading f.lux

f.lux (comments): Apple has contacted us to say that the f.lux for iOS download (previously available on this page) is in violation of the Developer Program Agreement, so this method of install is no...

View Article

Gene Amdahl, RIP

Katie Hafnernov (via Slashdot, comments): Dr. Amdahl rose from South Dakota farm country, where he attended a one-room school without electricity, to become the epitome of a generation of computer...

View Article

The Depressing Effect of Bug Bounties

Jacob Torrey (via Gwynne Raskind): By artificially deflating the cost of finding and fixing bugs in operation/shipped product through monopolistic means, bug bounties remove the economic incentive to...

View Article

Git Diff for Binary Property List Files

Christopher Bowns: In the same vein as diffing UTF-16 .strings files in git:It’s easy to set up git to show diffs for binary .plist files. The commands are: git config --global diff.plist.textconv...

View Article


Swiping to Dismiss Safari View Controller

Juli Clover: The first beta of iOS 9.2 introduced some changes for the Safari View Controller within apps, letting it work more like the standard Safari app with support for third-party Action...

View Article


Where “where” May Be Used in Swift

Marcin Krzyżanowski: The fact is you can use where keyword in a case label of a switch statement, a catch clause of a do statement, or in the case condition of an if, while, guard, for-in statement, or...

View Article

What Goes Up

John Gruber: What I don’t get is why Apple gets singled out for its singular success, but other companies don’t. 92 percent of Google’s revenue last year came from online advertising. And more...

View Article

How Facebook’s Safety Check Works

Todd Hoff (comments): How do you build the pool of people impacted by a disaster in a certain area? Building a geoindex is the obvious solution, but it has weaknesses. […] When there’s a disaster, say...

View Article


Beware of Apple Mail Resizing Outgoing Images

Lloyd Chambers: Something to be aware of when sending an image: Apple Mail may mangle the image you sent, recompressing it while greatly reducing it in size. One consulting client kept sending me...

View Article

Saving the iPad

Jared Sinclair: The App Store is designed, from what it features to what it permits, to promote cheap, shallow, candy apps. It discourages developers from ever starting ambitious apps, both passively...

View Article

Ads Use Inaudible Sound to Link Your Devices

Dan Goodin: The ultrasonic pitches are embedded into TV commercials or are played when a user encounters an ad displayed in a computer browser. While the sound can't be heard by the human ear, nearby...

View Article

Nimble Matcher Framework

Nimble: Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar. // Swift expect(1 + 1).to(equal(2)) expect(1.2).to(beCloseTo(1.1, within: 0.1)) expect(3)...

View Article



Interstellar Functional Reactive Framework

Interstellar (via Jonathan Wight): The simplest Signal<T> implementation for Functional Reactive Programming you will ever find.

View Article

Improved App Store Search

Sarah Perez (comments): A number of mobile app developers and industry observers recently noticed a significant change in the way the Apple App Store’s search algorithms are returning results....

View Article

A Look Into Realm’s Core DB Engine

JP Simard: The whole point of Realm, or at least one of its very core ideas, is that it is objects all the way down. That was one of the driving principles that encouraged us to start fresh, rather...

View Article

Not on the Mac App Store

Dan Counsell: The Mac App Store has been around for 6 years, but is still lacking some of the best software the Mac has to offer. You might be wondering why this is. Sandboxing certainly has a lot to...

View Article


Lightroom 6.3 Fixes Import Dialog, Flickr

Sharad Mangalick: Lightroom CC 2015.3 and Lightroom 6.3 are now available on Adobe.com. The goal of this release is to provide additional camera raw support, lens profile support and address bugs that...

View Article

Dangers of NeXTSTEP Plists

Sam Marshall (comments): Most of you are probably familiar with the fact that Xcode uses NeXTSTEP plists for the format when serializing project files. […] Xcode’s implementation of deserializing the...

View Article

How Swift Implements Unowned and Weak References

Joe Groff: Unowned is faster and allows for immutability and nonoptionality. If you don’t need weak, don’t use it. unowned uses a second refcount in the object. weak refs are tracked in a global table....

View Article


Ranchero SpotLight

Brent Simmons: Back in the ’90s I shipped SpotLight, a search engine that ran on Macs running WebSTAR (http server), FileMaker Pro (database), and UserLand Frontier (scripting system). It was the...

View Article


An Ode to Kai’s Power Goo

Christopher Phin: Power Goo’s features—the ability to smear regions of an image around and paint bits of one photo onto another to create composites—seem unexceptional today, but in the ’90s, this was...

View Article

Pushing to the Git Working Copy on a Web Server

Rachel Worthington: With this in mind, the model that I thought would be best for me, would be a git repository on the server, and a git repository on my laptop where I like to write. I could then make...

View Article

Quicken 2015 Switches From Mac App Store to Direct Updates

Craig Hockenberry: To everyone who thinks the Mac App Store makes installing updates quick and easy[…] Intuit: Quicken Mac 2015 updates are no longer distributed via the App Store. To install the...

View Article

Longevity of the Retina MacBook Pro

Mark Alldritt: I’m here to report that I’m still using this machine as my main development system. I think this is now my favourite Mac laptop ever, displacing the Titanium PowerBook which held that...

View Article


The Worst App

Allen Pike (via Federico Viticci): The app’s website link on the App Store went to an unrelated company, and the copyright credit was for another unrelated company. I contacted them, and they were as...

View Article

Covariance and Contravariance

Mike Ash: Covariance is when subtypes are accepted. Overridden read-only properties are covariant. Contravariance is when supertypes are accepted. The parameters of overridden methods are...

View Article


Microsoft’s Astoria Proves Too Complex

Steven Max Patterson (via Hacker News): Microsoft confirmed this weekend that it has delayed, if not killed entirely, Astoria, a tool designed to make it easy for Android apps to run on Windows 10...

View Article

Using the Old Remote and Keyboard With Apple TV 4

Rob Griffiths: Yes, that’s the third-gen Apple TV’s password entry screen, on my fourth-gen Apple TV. Just how did I get it to appear? Very easily, though it took me a bit to figure out exactly how I...

View Article


Surprising Complexity Inside Apple’s Power Adapter

Ken Shirriff (comments): This is a fantastic quote, but unfortunately it is entirely false. The switching power supply revolution happened before Apple came along, Apple’s design was similar to earlier...

View Article

Favorite Terrible Programming Languages

Fogus: Write about your favorite programming language honestly, but make it sound terrible. Marcel Weiher: Objective-C is a car crash of Smalltalk and C, combining the type-safety of the former with...

View Article

Done With iCloud Photo Library

Stephen Hackett (comments): Over the week of Thanksgiving, I decided to give it another try. I hadn’t really spent any time with Photos.app since OS X El Capitan, and I had heard a lot of good things...

View Article

Swift init()

Krzysztof Zabłocki: With Swift strong typing and immutability, there are rules that prevent you from accesing variables until an object is fully initialized. I do not like having a function do more...

View Article


Optimizing Facebook for iOS Start Time

Natansh Verma: Our instinct was that cold start was dominated by network and that the rest would be mostly response processing. This belief came from the assumption that we spent much less time on the...

View Article

Browsing latest articles
Browse All 70 View Live