Subscribe: The Tao of Mac
Added By: Feedage Forager Feedage Grade B rated
Language: English
amazing  back  canvas  data science  data  javascript  kids  library  make  much  people  science team  science  team  things  work 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: The Tao of Mac

The Tao of Mac

Tales from the Tech Trenches

Updated: 2017-08-19T08:44:34+00:00


Daring Fireball Turns 15



I’ve been meaning to pin down exactly when I started this site (which was initially called, but either way it’s mind boggling to realize fifteen years have gone by.

Computers (and Macs) evolved simultaneously way beyond and not as much as we imagined, and the world outside our little bubble did the same – with a few surprising twists (alas, not always for the better).

Here’s to fifteen years more all around (at least):🍸

Coding for Kids


This is a (very) incomplete list of resources for teaching kids how to program. Date Link Notes /2 Jun’17 Code Club Online courses for kids Thonny A simple Python IDE for beginners May’16 load81 A Lua based programming environment for kids, similar to Codea. Blockly Google’s Scratch-like toolkit for visual programming. Stencyl A Haxe-based IDE that uses a similar approach to Scratch Older Scratch The quintessential reference. The online version is, sadly, not as good as the original, and the iOS version is targeted at smaller children, so 6-8yos have little interest in them. Has a fair (but still very small) set of Portuguese language resources. Codea A Lua IDE for the iPad that has a cheaper “scratchpad” edition. Thonny A simple cross-platform Python IDE for beginners Pythonista Not really focused on kids, but it deserves a spot here. [...]



The ECMA – 262 Standard, ratified after Netscape and Microsoft (mostly) agreed to make JavaScript and JScript interoperable. Ways To Avoid Writing JavaScript I’ve taken to looking for alternative ways to develop in JavaScript that don’t require me to put up with its syntax and overall insanity. Here’s a few I like (mostly compilers, since that’s what makes the most sense for me): Category Date Link Notes Compilers Jun 5 Opal A Ruby transpiler Nov 18th Elm A functional language that compiles to JavaScript wisp A homoiconic LISP dialect with Clojure syntax and macros pythonium A Python 3 to JavaScript translator Resources: Most of these are library-independent. Check my jQuery page for more, since there’s an entire sub-culture that believes it to be JavaScript programming in and by its own… Category Date Link Notes Tools Aug’17 pkg Package Node projects into an executable Aug’16 nodeenv A sane way to install multiple versions of Node in segregated environments. Downloads prebuilt binaries on macOS, Linux and Windows. create-react-app A bootstrap tool for React apps. May’12 javascript.tmbundle An indispensable TextMate add-on (the autocompletion features alone are priceless) Apr’11 PhantomJS A complete WebKit web stack, made scriptable via JavaScript. Awesome for testing, rendering pages to raster formats, etc. UI elements Aug’15 dragula a drag and drop library Jul’15 lazysizes For lazy image loading May’14 Framerjs For designing interactive prototypes Oct’13 Odometer A library for counters with smooth transitions rainbow A slim progress bar nprogress Another slim progress bar Jun’12 Mousetrap a very nice way to handle keyboard shortcuts Feb 26’11 Color Wheel A great color picker component Sep 17 Roar Two Growl-like components done with MooTools Window.Growl 2.0 Timeframe Amazing calendar widget with support for date range selection. Data Binding Aug’17 seamless-immutable Immutable data structures a la Mori Sep 18 knockout.sync A very nice Knockout extension that allows you to sync data among clients and backends Canvas and Graphing Dec’15 smartcrop Content-aware image cropping Jan’14 glsl-transition A library that uses GL shaders for transitions Oct 20’13 GoJS A commercial charting and diagramming library Sep 18’13 svgjs A lightweight library for SVG handling May 7’13 Two An intriguing API that supports a number of back-ends (svg, canvas and WebGL) Feb 17’13 GoJS An amazing charting library with support for flowcharts, swimlanes, and a number of business process diagrams. Sep 25’12 Ejecta A fast GL-backed canvas library for iOS jsPlumb A Yahoo pipes-like library. Jun 25’11 paper Amazing open source vector graphics scripting framework that runs on top of the HTML5 Canvas Apr 21’10 Akibahara A wonderful set of small libraries to clone 8-bit era arcade games, Jan 19’10 Highcharts A very comprehensive charting library. Jan 1’10 Raphael An amazing vector library, with a charting companion that will knock your socks off. Dec 3’09 Parcycle: A Particle System with HTML5 canvas Pretty damn amazing. Nov 6’08 JavaScript Information Visualiz[...]

The Fall


The fountain at the Water Garden in Parque das Nações

The best laptop you can buy, according to The Verge



This is… sobering.

Having played with one for a bit, I can confirm it is quite nice indeed, although I personally prefer the “normal” Surface form factor (I will have some words on the Surface Pro 4 soon, seeing as I have been using one for well over a month, and quite a bit of it translates to this new laptop flavor).

It’s going to be interesting to see how Apple responds to this – and to the increasing number of people (like myself) who think they’ve missed their target audience by investing in the (frilly, but rather useless) Touch Bar and skimping on ports.

For the sake of entertainment


I don’t watch much TV, but when I do, I tend to go about things systematically, which in turn (given my lack of copious amounts of free time) means I am very picky about what I watch.

Being a fan of traditional history arcs, I’ve given Game of Thrones a wide berth (largely because I have this thing about characters outlasting the ice in my tea) and have been catching up on Elementary (which seems to be mostly OK), lining up my Doctors and dosing myself with Dark Matter until The Expanse comes back on.

This has allowed me to fill quite a few of those late night moments when you’re trying to wind down from work but are still bristling with impatience, but it also made me realize that, even as I prepare for my yearly zero-internet reading binge, the nature of the entertainment I seek has been changing of late.

Most notably, I’ve let most of my side projects languish – which is something I need to fix as soon as possible. Looking back, most of the non-work related coding I’ve been doing turns out to be… work related, either because I am not happy with the default approaches to do something and try to fix them for myself or because I come across some hitherto irrelevant piece of technology that I need to master in some way and I end up doing a little skeleton project to figure it out and make it mine.

There are three main things that contribute to this, in increasing order of annoyance:

  • The Mac mini has recently gone past its 1000th day without updates, and I am still typing this on my 7-year-old Mid-2010 mini simply because most of my monitors are plugged into it and there is no alternative that is at least as silent and works as smoothly with all my Bluetooth devices.
  • However much I like building stuff for myself with zero issues on a Mac or Linux, working on Azure solutions for “normal” customers almost invariably involves using Windows and Windows tooling, so I’ve been spending more and more time there and going to and fro is an annoyance (even with the Linux subsystem).
  • The constant context switches from engagement to engagement make it absolutely impossible to do anything else (besides work) with the amount of depth and commitment I’ve been used to in the past, including (ironically) do more research on the data & AI stuff that I need to excel at to do my job properly.

I’m usually pegged as having high standards, so it’s easy enough to understand that this isn’t sitting well with me at the moment – the hard thing is figuring out what my next step is going to be, so I might as well fold that into this summer’s entertainment.

For starters, I’m going to start learning something new.



A view from the walkway near the Público office

The Sunset of Flash



Steve was right, in case you’ve forgotten. And yet, it’s going to stop being supported ten years after he wrote that.

So You’re Going To Manage a Data Science Team


I’ve seen things you people wouldn’t believe. Pivot tables on fire off a dashboard. R scripts glittering in the dark near the Hadoop cluster. But (with apologies to Rutger Hauer for hijacking his amazing monologue) I’ve also seen a lot of data science being done technology-first without taking people or processes into account, and I thought I’d lay down some notions that stem from my experience steering customers and partners through these waters. As a budding corporate anthropologist, (recovering) technical director and international cat herder, I am often amazed at how much emphasis is placed on technical skills and tooling rather than on actually building a team that works. And as an engineer by training (albeit one with a distinctively quantitative bend), I am fascinated by the number of opinions out there on the kind of technology, skill sets and even the kind of data required to make a data science team successful, because there’s actually very little hard data on which of those are the critical factors. So I’m going to take a step back from the tech and science involved and look at the way the process should work, and some of the things you should consider when running a data science team regardless of your background. People, Processes, Technology A few years back I got hammered into me (by a former CTO of mine) that excellence is a process, and the motto stuck with me because he meant “excellence” in the sense of both personal and team growth rather than riding the tech hype or getting aboard the Six Sigma train. Mind you, tooling and technology are critical, but you have to look at the wider picture. Take deep learning, for instance: Tensorflow might be the go-to library at the moment, but Keras will give you a nicer abstraction that also lets you leverage CNTK as a back-end and possibly get faster turnaround when iterating on a problem, so I’d argue it should be the higher-level tool that you (and your team) need to invest in. If you take the long view, running the gamut from purely statistical/regressive approaches to RNNs implies a deep commitment not just in terms of learning the science behind them, but also about understanding where they fit in in the range of challenges you have to address. And believe me, choosing tools is not the one you need to tackle first - what you should tackle first is your team, and then the context in which it operates. The First Mistake The first mistake organizations (and managers) make is thinking that the data scientists reporting to you are your whole team. No matter how much people go on about matrix management and the need for cross-functional teams, there is a natural human tendency to sort out people (and things) into nice, tidy bins, and when you have to motivate and drive people, there’s an added bias involved - after all, as a manager, your primary role is to make sure the team you’ve been assigned works cohesively, and in data science these days (especially in companies new to the field) there’s also a need to prove your worth. And by that I mean the team’s worth - you might be a whiz on your own right, but your job is to make sure your team delivers, and that the goalposts and expectations are clearly defined both inside and outside your direct reports. So your actual team comprises stakeholders of various kinds - product owners, management, and (just as importantly) everyone else in technical roles, because what you do (and the insights you obtain) inevitably impacts the rest of the business and how it’s built/implemented/deployed/etc. You don’t exist in a vacuum, but rather are the conduit between what data you have (or, more often, don’t) and what the business needs to improve (and I’m deliberately avoiding the reverse flow here, which is wh[...]