mjtsai + numist   37

Twitter
I’m baffled that the Arduino ecosystem continues to thrive when every year a new version breaks source compatibility and the previous version was broken by an operating system update.

— Scott Perry (@numist) July 28, 2018
FavoriteTweet  numist 
20 days ago by mjtsai
Twitter
The real problem is now how do you know when your dirty data *has* been flushed to disk? Currently the only way to know for sure is “reissue all the writes and fsync again” which is… not great.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
The more time I spend with kernel people on this topic, the more I wonder if advisory locking behaviour around close() was less “designed” and more “documentation of the simplest possible implementation”, which in general is probably why syscalls are universally bad API :/

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
Excellent corollary! My other main source of bugs is people using filesystem operations (like `mv` Or `ln`) while the database is open which—surprising no one—is hilariously bad for your data. https://t.co/DFOdxXoYNB

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
As far as I can tell POSIX allows for the retroactive error (and the one-time delivery) so I guess I’ll keep blaming the 70s for all of my problems.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
Oh and the error only gets returned on the first fsync after the failed write. What if some other code called fsync on the fd first? Sucks to be you! Now you won’t find out until you open the file with a cold fs cache to find that the contents are totally inconsistent.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
One or more of the writes you had didn’t make it, but good luck figuring out which one(s) because the dirty data is still in the filesystem cache!

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
I could go on and on about how POSIX-defined behaviour is terrible, but this month I learned that pwrite (and normal write probably, but you and I already agreed not to use that) can fail *retroactively* via an fsync failure.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
Ok, another example is file locks. If you flock a file and *any other code in your process* closes a *different fd* for the same file, the operating system will drop all your locks. As with dup, this is correct behaviour according to the POSIX spec!

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
The dup thing is Tuesday night trivia material though. It’s basically solved by using pread and pwrite which I assume stand for “pointer read” and “pointer write” which is dumb but not as doofy as oread for “offset read” I guess.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
Like, if you dup a file descriptor? Both the original and the copy share seek offsets which can lead to sad times awfully quickly when fds get passed around. This behaviour is stupid, but at least it’s documented (and required!) by the POSIX spec.

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
I’m increasingly convinced that SQLite isn’t popular because people need databases so much as they’re tired of dealing with the operating system’s filesystem interfaces and the utterly hostile ways they behave (and fail).

— Scott Perry (@numist) July 24, 2018
FavoriteTweet  numist 
25 days ago by mjtsai
Twitter
“Show Less” should be “Show Fewer”. Fight me.

— Scott Perry (@numist) June 4, 2018
FavoriteTweet  numist 
10 weeks ago by mjtsai
Scott Perry on Twitter: "Hey @amazon what was the point of paying extra for a cellular Kindle if it doesn’t work for things like marking books as read on goodreads? https://t.co/sNeumIsAxR"
Hey @amazon what was the point of paying extra for a cellular Kindle if it doesn’t work for things like marking books as read on goodreads? pic.twitter.com/sNeumIsAxR

— Scott Perry (@numist) December 16, 2017
FavoriteTweet  numist 
december 2017 by mjtsai
Scott Perry on Twitter: "Like, I never dropped a phone more than once a year and I’ve dropped this thing six times in the last week."
Like, I never dropped a phone more than once a year and I’ve dropped this thing six times in the last week.

— Scott Perry (@numist) November 1, 2017
FavoriteTweet  numist 
november 2017 by mjtsai
Scott Perry on Twitter: "For any of you buying glass-back phones that are used to leaving them on your lap or bag or whatever know they are REAL slippery on textiles"
For any of you buying glass-back phones that are used to leaving them on your lap or bag or whatever know they are REAL slippery on textiles

— Scott Perry (@numist) November 1, 2017
FavoriteTweet  numist 
november 2017 by mjtsai
Scott @ WWDC on Twitter: "NSPersistentHistory is going to be huge for people running multiple processes against the same Core Data store."
NSPersistentHistory is going to be huge for people running multiple processes against the same Core Data store.

— Scott @ WWDC (@numist) June 7, 2017
FavoriteTweet  numist 
june 2017 by mjtsai
Scott Perry on Twitter: "There are two types of person: Lisp programmers, and people that aren't horrified by autocorrupt offering 'car' as a replacement for 'cdr'."
There are two types of person: Lisp programmers, and people that aren't horrified by autocorrupt offering 'car' as a replacement for 'cdr'.

— Scott Perry (@numist) March 10, 2017
FavoriteTweet  numist 
march 2017 by mjtsai
Scott Perry on Twitter: "@ameaijou: they were getting lucky until Apple SQLite started using dispatch to track files, and that’s how I learned. Now there are hacks."
@ameaijou: they were getting lucky until Apple SQLite started using dispatch to track files, and that’s how I learned. Now there are hacks.

— Scott Perry (@numist) February 17, 2017
FavoriteTweet  numist 
february 2017 by mjtsai
Scott on Twitter: "For reproducible problems, debugging is simply the process of making something fail earlier and earlier until you understand what's broken."
For reproducible problems, debugging is simply the process of making something fail earlier and earlier until you understand what's broken.

— Scott (@numist) October 20, 2016
FavoriteTweet  numist 
october 2016 by mjtsai
Scott on Twitter: "Spent five minutes feeling bad for wanting `or die()` in Swift before realizing I could use `try!`. Now I'm not sure how I should feel."
Spent five minutes feeling bad for wanting `or die()` in Swift before realizing I could use `try!`. Now I'm not sure how I should feel.

— Scott (@numist) October 14, 2016
FavoriteTweet  numist 
october 2016 by mjtsai
Scott on Twitter: "New feature in iOS 10: keyboard suggestions attempt to improve your communication skills https://t.co/HRF2RUVPuL"
New feature in iOS 10: keyboard suggestions attempt to improve your communication skills pic.twitter.com/HRF2RUVPuL

— Scott (@numist) September 16, 2016
FavoriteTweet  numist 
september 2016 by mjtsai
Scott @ xoxo on Twitter: "@steipete: CI should always test what you ship, but I run with ASAN enabled for almost all manual test runs."
@steipete: CI should always test what you ship, but I run with ASAN enabled for almost all manual test runs.

— Scott @ xoxo (@numist) September 11, 2016
FavoriteTweet  numist 
september 2016 by mjtsai
Scott Perry on Twitter: "The value Dropbox provides is being able to keep using your favourite native apps."
The value Dropbox provides is being able to keep using your favourite native apps.

— Scott Perry (@numist) July 14, 2016
FavoriteTweet  numist 
july 2016 by mjtsai
Scott Perry on Twitter: "What Dropbox seems to be missing is that if people wanted to use different apps, they would go to Google."
What Dropbox seems to be missing is that if people wanted to use different apps, they would go to Google.

— Scott Perry (@numist) July 14, 2016
FavoriteTweet  numist 
july 2016 by mjtsai
Scott Perry on Twitter: "@ksuther: I think I mentioned this in the lab, but threading assertions are exclusive to the system SQLite (don't exist building your own)"
@ksuther: I think I mentioned this in the lab, but threading assertions are exclusive to the system SQLite (don't exist building your own)

— Scott Perry (@numist) June 28, 2016
FavoriteTweet  numist 
june 2016 by mjtsai
Scott Perry on Twitter: "If your app is seeing SQLITE_IOERR_VNODE (6922) returned from SQLite on the seeds, you want to watch the Core Data talk on Friday."
If your app is seeing SQLITE_IOERR_VNODE (6922) returned from SQLite on the seeds, you want to watch the Core Data talk on Friday.

— Scott Perry (@numist) June 15, 2016
FavoriteTweet  numist 
june 2016 by mjtsai
Scott Perry on Twitter: "Implemented a performance improvement, found an extremely rare race condition. A computer programming double play."
Implemented a performance improvement, found an extremely rare race condition. A computer programming double play. — Scott Perry (@numist) April 22, 2016
FavoriteTweet  numist 
april 2016 by mjtsai
Scott Perry on Twitter: "@steipete: Don’t worry, Objective-C++ was never on the list ;)"
@steipete: Don’t worry, Objective-C++ was never on the list ;)

— Scott Perry (@numist) March 8, 2016
FavoriteTweet  numist 
march 2016 by mjtsai
Scott Perry on Twitter: "I wrote an I/O optimization today that was so effective it broke four tests. No, really, the tests measured the # of pages written to disk."
I wrote an I/O optimization today that was so effective it broke four tests.
No, really, the tests measured the # of pages written to disk.

— Scott Perry (@numist) February 18, 2016
FavoriteTweet  numist 
february 2016 by mjtsai
Scott Perry on Twitter: "Even after disabling ATS it's impossible to connect to a [local] server that's using a self-signed certificate?! More like certifican't."
Even after disabling ATS it's impossible to connect to a [local] server that's using a self-signed certificate?! More like certifican't.

— Scott Perry (@numist) November 8, 2015
FavoriteTweet  numist 
november 2015 by mjtsai
Scott Perry on Twitter: ".@JonXP: 1.5s on either side of still capture. Early on there are a lot of Live Photos that start and end with pants >_<"
.@JonXP: 1.5s on either side of still capture. Early on there are a lot of Live Photos that start and end with pants >_<</p>— Scott Perry (@numist) September 9, 2015
FavoriteTweet  numist 
september 2015 by mjtsai
Scott Perry on Twitter: "Another day lost due to a combination of RAII and a dearth of autorelease pools."
Another day lost due to a combination of RAII and a dearth of autorelease pools.

— Scott Perry (@numist) March 27, 2015
FavoriteTweet  numist 
march 2015 by mjtsai
Scott Perry on Twitter: "Walt's book seemed based on http://t.co/IWqNyXQyJU, which tells nothing of the Steve people wanted to know, the one that brought Apple back."
Walt's book seemed based on http://t.co/IWqNyXQyJU, which tells nothing of the Steve people wanted to know, the one that brought Apple back.

— Scott Perry (@numist) January 6, 2015
FavoriteTweet  numist 
january 2015 by mjtsai
Scott Perry on Twitter: "@gparker @optshiftk @cbarrett @rgm @rob_rix @bbum: Sadly using dtrace on an iOS device is also a no-go. Got no answers there."
@gparker @optshiftk @cbarrett @rgm @rob_rix @bbum: Sadly using dtrace on an iOS device is also a no-go. Got no answers there.

— Scott Perry (@numist) October 12, 2014
FavoriteTweet  numist 
october 2014 by mjtsai
Twitter / numist: My master password takes a ...
My master password takes a laughably long time to enter on a touch keyboard, but stubbornly I keep typing it in.

— Scott Perry (@numist) July 30, 2014
FavoriteTweet  numist 
july 2014 by mjtsai
Twitter / numist: Please file Radars on Swift, ...
Please file Radars on Swift, including (especially!) syntax and features you'd like to see. You are part of this language's evolution.

— Scott Perry (@numist) June 2, 2014
FavoriteTweet  numist 
june 2014 by mjtsai

Copy this bookmark:



description:


tags: