Dave DeLong:
Survey: what non-apple dev tools are you still using, 6+ months after you first got them?
I’m currently using: BBEdit, FogBugz (in Google Chrome), Git and Tower, LaunchBar, Dash, make, Python, VMware Fusion, Hopper, Kaleidoscope, Hex Fiend, xScope, Deploymate, RB App Checker Lite, Script Debugger, SourceTree, Base, Paw, Soulver, and OmniFocus. I plan to switch from Xcode bots to a third-party continuous integration solution.
For the non-code parts of my apps, I also use reStructuredText, pdfLaTeX, Counterparts Lite, Acorn, Icon Slate, and Opacity.
And for deployment: DropDMG and rsync.
Update (2016-08-06): Vadim:
So Dash is the absolute champion!
Counterparts Lite Developer Tool Hex Fiend iOS Mac Mac App Programming
Sergei Danielian (via Hacker News):
Each Python’s type implementation (PyIntObject
, PyFloatObject
or PyDictObject
) has PyObject_HEAD
located as its first member (or the first member of its first member, and so on). This member sub-object is guaranteed to be located at the same address as the full object.
The PyObject_HEAD
refers at that member sub-object, but could be cast to the full type once ob_type
has been inspected to get knowledge of what the full type is.
Philip Guo:
Here are nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from a dynamic programming languages course that I taught in Fall 2014 at the University of Rochester. The format isn’t ideal, but I haven’t seen this level of detail about CPython presented online, so I wanted to share these videos.
Jake Vanderplas:
We saw above the extra type info layer when moving from a C integer to a Python integer. Now imagine you have many such integers and want to do some sort of batch operation on them. In Python you might use the standard List
object, while in C you would likely use some sort of buffer-based array.
A NumPy array in its simplest form is a Python object build around a C array. That is, it has a pointer to a contiguous data buffer of values. A Python list, on the other hand, has a pointer to a contiguous buffer of pointers, each of which points to a Python object which in turn has references to its data (in this case, integers).
C Programming Language Language Design Programming Python
@glyph:
In addition to injecting malware into their downloads (a practice they claim,
hopefully truthfully, to have stopped), Sourceforge also presents an initial
download page over HTTPS, then redirects the user to HTTP for the download
itself, snatching defeat from the jaws of victory. This is fantastically
irresponsible, especially for a site offering un-sandboxed binaries for
download, especially in the era of Let’s Encrypt
where getting a TLS certificate takes
approximately thirty seconds and exactly zero dollars.
Previously: What Happened to SourceForge?
Security SourceForge Web
Cara McGoogan (via MacRumors, Hacker News):
A British keyboard app that uses artificial intelligence to predict the next word you want to write has suspended part of its service after users reported receiving predictions meant for other people, including email addresses and phone numbers.
[…]
“A few days ago, I received an email from a complete stranger asking if I had recently purchased and returned a particular model of mobile phone, adding that not one but two of my email addresses (one personal and one work address) were saved on the phone she had just bought as brand-new,” said the user.
The stranger with the new phone went through each letter of the alphabet and told the user the suggested words. They included names of the user’s friends and addresses for private servers they connect to for work.
Previously: iOS 8 Keyboards.
Update (2016-07-29): Rosyna Keller:
But congratulations to Microsoft’s SwiftKey for proving exactly why you should heed the full access warning!
Android Bug iOS Keyboard Microsoft Privacy SwiftKey