- The Poisoned NUL Byte, 2014 Edition (Project Zero) — from Google’s public security efforts, this detailed public description of how an exploit was constructed from a found vulnerability. They’re helping. Kudos!
- Myths About the Coming Robot Economy (Eric Sofge) — the entire discussion of the so-called robot economy, with its predictions of vast, permanent employment rates and glacial productivity gains, is nothing more than a wild guess. A strong pushback on the Pew Report (PDF): Frey and Osborne’s analysis is full of logical leaps, and far-reaching conclusions drawn from cursory observations about robots that have yet to replace humans.
- Content for Sensitive Situations (Luke Wroblewski) — People have all kinds of feelings when interacting with your content. When someone’s needs are being met they may feel very different then when their needs are not being met. How can you meet people’s needs?
- Urban Villages (Senseable City at MIT) — People who live in a larger town make more calls and call a larger number of different people. The scaling of this relation is ‘superlinear,’ meaning that on average, if the size of a town doubles, the sum of phone contacts in the city will more than double – in a mathematically predictable way. Surprisingly, however, group clustering (the odds that your friends mutually know one another) does not change with city size. It seems that even in large cities we tend to build tightly knit communities, or ‘villages,’ around ourselves. There is an important difference, though: if in a real village our connections might simply be defined by proximity, in a large city we can elect a community based on any number of factors, from affinity to interest to sexual preference. (via Flowing Data)
Adding consistency to Kivy's Python UI tools
Kivy has a wonderful set of built-in widgets that can be extended in numerous ways. They have very useful behaviors, but their look and feel may not integrate well with your App or the platforms you are targeting. Kivy doesn’t support theming out of the box right now, but if you poke around enough, there are a range of options you can use to customize the default look of widgets without having to define your own inherited versions of them.
I’ll first introduce you to Kivy’s image atlases, which are less mysterious than they sound, and are important groundwork for understanding theming in Kivy. Then you’ll learn two different ways to do manual theming in Kivy, with an eye to future automation.
To understand theming, you must first understand atlases. An atlas is essentially a collection of distinct images combined into a single image file for loading efficiency. A JSON file describes the location of the separate images inside that master image file so that Kivy can access them directly. If you’ve ever worked with CSS sprites, you know exactly what I’m talking about. If you haven’t, the following example should explain everything.