Chris Welch (MacRumors):
A couple of weeks after Apple shipped its second-generation AirPods, the company’s Beats division is finally making its own entrance into the true wireless earbuds market. The new $249.95 Powerbeats Pro ship in May and are Beats’ most significant product in years. I get the feeling that, for many people, these are going to prove even more compelling than AirPods. They offer longer battery life, they seal fully in your ears without letting in outside noise, they include the same Apple H1 chip as the latest AirPods for hands-free “Hey Siri” voice commands, and yes, to my ears, the Powerbeats Pro sounded better during my brief introduction to them.
This sounds great. They’re also water-resistant and have physical volume controls. Downsides: the case is too large for a pocket, no Qi charging. I wonder whether the isolation is good enough for airplane use.
Previously:
Update (2019-04-08): Rene Ritchie:
Play pause can happen when you put Powerbeats Pro in or take them out, just like AirPods, but where AirPods are all stealth and you can tap invisible quote-unquote buttons to do one thing of your choosing, Powerbeats Pro have legit physical hardware controls. There's volume up and down, right on the top, and the big B button on the outside, which you can even long-press to pass on a call.
Matt Birchler:
How much bigger could the PowerBeats charging case be than AirPods?
*checks it out*
Mother of god…
Airplane Audio Beats Bluetooth Earbuds iOS Mac Powerbeats Qi Charging Siri
Paulo Andrade:
In my case, my source code comes down to Objective-C, C, and Swift files. So I just create a code that search for any file with the .m, .h, .c and .swift extensions.
[…]
But most of the time when searching for localized strings I’m just interested in the Base localization. I never touch the translated files inside Xcode, these are synced with my translation service. So by using this scope, whenever I’m searching for a localized string I just get back the base localization files.
[…]
Last but not least, when your working on a given feature it’s usual to have a set of modified files you’re working on. Sometimes you’ll want to search for something on only this set of related files.
Update (2019-10-31): Erica Sadun:
Now, interestingly enough, this list fails to offer “does not contain” but that’s fairly easy to work around. Since Xcode supports regex matching, you can easily replicate “does not contain” with an appropriate regex.
You can also do a regular contains match and put it inside a None of the following conditions are met group.
Localization Mac macOS 10.14 Mojave Programming Version Control Xcode
Marcel Weiher (tweet):
Every single attribute of every single class gets its own accessor or accessor pair, again with the action
(get/set) mushed together with the name of the attribute to work on. The solution is the same as for
the directions in Nat’s example: there are
only two actual messages, with reified identifiers.
These, of course, correspond to the GET and PUT HTTP verbs. Properties, now available in a number of mainstream languages, are supposed to address this issue, but they only really address to 2:1 problem (getter and setter for an attribute). The much bigger N:2 problem (method pair for every attribute) remains unaddressed, and particularly you also cannot pass around, store or perform calculations on the identifier.
Craft Language Design Programming Smalltalk
Rob Pike:
What happened was this. We had used the original UTF from ISO 10646
to make Plan 9 support 16-bit characters, but we hated it. We were
close to shipping the system when, late one afternoon, I received a
call from some folks, I think at IBM - I remember them being in Austin
- who were in an X/Open committee meeting. They wanted Ken and me to
vet their FSS/UTF design. We understood why they were introducing a
new design, and Ken and I suddenly realized there was an opportunity
to use our experience to design a really good standard and get the
X/Open guys to push it out. We suggested this and the deal was, if we
could do it fast, OK. So we went to dinner, Ken figured out the
bit-packing, and when we came back to the lab after dinner we called
the X/Open guys and explained our scheme. We mailed them an outline
of our spec, and they replied saying that it was better than theirs (I
don’t believe I ever actually saw their proposal; I know I don’t
remember it) and how fast could we implement it? I think this was a
Wednesday night and we promised a complete running system by Monday,
which I think was when their big vote was.
So that night Ken wrote packing and unpacking code and I started
tearing into the C and graphics libraries. The next day all the code
was done and we started converting the text files on the system
itself. By Friday some time Plan 9 was running, and only running,
what would be called UTF-8. We called X/Open and the rest, as they
say, is slightly rewritten history.
Why didn’t we just use their FSS/UTF? As I remember, it was because
in that first phone call I sang out a list of desiderata for any such
encoding, and FSS/UTF was lacking at least one - the ability to
synchronize a byte stream picked up mid-run, with less that one
character being consumed before synchronization. Becuase that was
lacking, we felt free - and were given freedom - to roll our own.
Ken Thompson:
Below are the guidelines that were used in defining the UCS
transformation format:
1) Compatibility with historical file systems:
Historical file systems disallow the null byte and the ASCII
slash character as a part of the file name.
2) Compatibility with existing programs:
The existing model for multibyte processing is that ASCII does
not occur anywhere in a multibyte encoding. There should be
no ASCII code values for any part of a transformation format
representation of a character that was not in the ASCII
character set in the UCS representation of the character.
3) Ease of conversion from/to UCS.
4) The first byte should indicate the number of bytes to
follow in a multibyte sequence.
5) The transformation format should not be extravagant in
terms of number of bytes used for encoding.
6) It should be possible to find the start of a character
efficiently starting from an arbitrary location in a byte
stream.
Rich Felker:
Not only do ASCII bytes never appear in multibyte UTF-8 chars; NO character is ever a substring of another character.
UTF-8 was really a work of brilliance, guaranteeing what’s pretty much a maximal set of important desirable properties like this.
Of course the desirable properties necessitate one property that’s hard to like: not all byte sequences can be legal/valid.
See also: The History of Unix (via Hacker News).
Previously:
Update (2019-04-04): See also: Hacker News.
C Programming Language History IBM Programming Unicode Unix