Shared posts

26 Jun 18:25

Annotated Shell Script for Counting Blog Posts by the Week

by peter@rukavina.net (Peter Rukavina)

Ton wants to count the number of blog posts he writes per week. I responded with a shell script, but without any documentation.

Here’s the missing manual.

First, the entire script:

curl -s https://www.zylstra.org/blog/feed/ | \
  grep pubDate | \
  sed -e 's///g' | \
  sed -e 's///g' | \
  while read -r line ; do
    date -j -f "%a, %d %b %Y %T %z" "$line" "+%V"
  done | \
  sort -n | \
  uniq -c

The basic idea here is “get the RSS feed of Ton’s blog, pull out the publication dates of each post, convert each date to a week number, and then total posts by week number.” As of this writing, the output of the script is:

   5 23
   6 24
   4 25

Which tells me, for example, that this week, which is week 25 of 2018, Ton has written 4 posts so far.

Here’s a line by line breakdown of how the script works.

curl -s https://www.zylstra.org/blog/feed/ | \

Use the curl command, in silent mode (-s) so as to not print a lot of unhelpful progress information, to get Ton’s RSS feed. This returns a chunk of XML, with one element for each of the most recent 15 blog posts, like this:


    
    https://www.zylstra.org/blog/2018/06/4125/
    https://www.zylstra.org/blog/2018/06/4125/#comments
    Wed, 06 Jun 2018 11:23:08 +0000
    
        
    
    
    https://www.zylstra.org/blog/?p=4125
    
        Frank Meeuwsen describes 5 blogs he currently enjoys following, and in an aside mentions he now follows 250+ blogs. Quick question for him: do you publish your list of feeds somewhere? My list of about a 100 feeds is on the right hand side.
]]>
      https://www.zylstra.org/blog/2018/06/4125/feed/
    2
  4125  
  

Notice that each post has a pubDate element that identifies the date it was published; that’s the date I need to focus on.

The vertical bar (|) at the end of this first line says “take the output of this command, and provide it as the input for the next command” and the backslash (\) says “this script continues on the next line; we’re not over yet.”

grep pubDate | \

This extracts only the lines that have pubDate in them, resulting in:

		Wed, 20 Jun 2018 09:04:14 +0000
		Tue, 19 Jun 2018 19:41:41 +0000
		Tue, 19 Jun 2018 18:06:01 +0000
		Tue, 19 Jun 2018 10:19:59 +0000
		Sun, 17 Jun 2018 18:31:41 +0000
		Sat, 16 Jun 2018 13:02:18 +0000
		Sat, 16 Jun 2018 08:38:42 +0000
		Fri, 15 Jun 2018 13:26:06 +0000
		Fri, 15 Jun 2018 13:05:11 +0000
		Mon, 11 Jun 2018 06:49:12 +0000
		Sun, 10 Jun 2018 19:29:24 +0000
		Sun, 10 Jun 2018 19:02:20 +0000
		Fri, 08 Jun 2018 10:49:14 +0000
		Thu, 07 Jun 2018 19:11:10 +0000
		Wed, 06 Jun 2018 11:23:08 +0000

Now I just have the dates: this is coming along just fine. Next, I need to remove the and from each line; for clarity, I do this in two steps:

  sed -e 's///g' | \
  sed -e 's///g' | \

This uses sed, which you can thing of as an “automated text editor,” to search and replace for those two elements and replace them with nothing; the result is:

		Wed, 20 Jun 2018 09:04:14 +0000
		Tue, 19 Jun 2018 19:41:41 +0000
		Tue, 19 Jun 2018 18:06:01 +0000
		Tue, 19 Jun 2018 10:19:59 +0000
		Sun, 17 Jun 2018 18:31:41 +0000
		Sat, 16 Jun 2018 13:02:18 +0000
		Sat, 16 Jun 2018 08:38:42 +0000
		Fri, 15 Jun 2018 13:26:06 +0000
		Fri, 15 Jun 2018 13:05:11 +0000
		Mon, 11 Jun 2018 06:49:12 +0000
		Sun, 10 Jun 2018 19:29:24 +0000
		Sun, 10 Jun 2018 19:02:20 +0000
		Fri, 08 Jun 2018 10:49:14 +0000
		Thu, 07 Jun 2018 19:11:10 +0000
		Wed, 06 Jun 2018 11:23:08 +0000

Next, I need to convert those dates into weeks. Fortunately the date command has an easy way of doing this. Using a while…do…done loop, I convert each line’s date into a week number:

  while read -r line ; do
    date -j -f "%a, %d %b %Y %T %z" "$line" "+%V"
  done 

The key here is that the format string, which follows -f, needs to match the format of the dates I’m converting: each of the placeholders in that string stand for a different part of the date. For example, %a is the abbreviated three-letter name of the day. The +%V is the format string of the output and it represents the week number of the year of the date. The result is this:

25
25
25
25
24
24
24
24
24
24
23
23
23
23
23

That’s the week number of each of the blog posts, in reverse chronological order. I want the weeks to be in chronological order, so I sort them numerically with:

 sort -n | \

To result in:

23
23
23
23
23
24
24
24
24
24
24
25
25
25
25

And, finally, I used a superpower of the uniq command, the -c option, which, says the man page, will “Precede each output line with the count of the number of times the line occurred in the input, followed by a single space.” That’s exactly what I want:

 uniq -c

Put all that together and you get:

   5 23
   6 24
   4 25

Each week number, preceded by the number of blog posts written that week.

Shell scripting is something I’m so happy to have burned into my muscle memory, as I use it every day to accomplish similar feats. The underlying principle of:

Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.

is one that’s served me well, and dovetails nicely with how I approach the world.

26 Jun 18:19

SotD: It’ll Shine When It Shines

At the end of the day, the pursuit of the divine is supposed to offer up wisdom and, practically speaking, teach you how to live life better. But for me, the sacred scriptures are songs; not that I listen to them looking for life lessons, but sometimes they’re there anyway. It’ll Shine When It Shines is by the Ozark Mountain Daredevils, and it’s up-front about its message; one that I feel good about passing along.

It’ll Shine When It Shines

Let’s hand the mike over the Daredevils for a moment:

Seems like everyone is out looking for the sun
singing rain and pain on he who hesitates.
But it'll shine when it shines
you might think I’m wasting time
but I’m just a good old boy who’s learned to wait.

That’s the chorus, and there are a bunch of verses in between, talking about life and never actually saying Be here now; they don’t need to, it’s hiding between the lines and between the words.

Oh, and it’s a beautiful soft melody, beautifully sung by relaxed male voices in a gentle rich harmony. I can’t ever listen to it without smiling. Me, I’m as guilty as anyone of overfilling the space life offers but, all these decades in, I’m mostly learned not to fret while I’m waiting for that which must be awaited. It’s very helpful.

While you’re waiting for the sun, you can always listen to a song, or write one, or write a computer program, or maybe just tell other people about a good song.

This is part of the Song of the Day series (background).

Links

Spotify playlist. This tune on Spotify, iTunes, Amazon. And here are the Daredevils, singing it live.

26 Jun 18:19

US politics

by Andrea

Deutsche Welle: US withdraws from UN Human Rights Council. “The Trump administration has yet again pulled the United States out of a major global body — this time the UN Human Rights Council. The move comes a day after the UNHRC criticized Trump’s immigration policies.”

Deutsche Welle: US Attorney General Jeff Sessions claims Nazis did not deport Jews. “The Nazis “were keeping Jews from leaving the country,” Jeff Sessions has claimed. Meanwhile, US President Trump doubled-down on false claims about rising crime in Germany due to immigration.”

“The comments by Sessions came just one day after President Trump wrote on Twitter: “The people of Germany are turning against their leadership as migration is rocking the already tenuous Berlin coalition. Crime in Germany is way up. Big mistake made all over Europe in allowing millions of people in who have so strongly and violently changed their culture!”

As many have gone to lengths to point out, crime in Germany is currently at its lowest rate since 1992.

Not one to be deterred in the face of facts, Trump doubled-down on this claim on Tuesday:

While refugee crime has risen slightly with the increase in refugees, nearly all of these crimes are minor, such as not paying for a bus ticket. There is no data suggesting that people not born in Germany are more likely to commit crimes than those that are.

Rebuffing Trump’s assertion, German Chancellor Angela Merkel said the official statistics that showed a 10 percent fall in crime across Germany last year “speak for themselves.””

Deutsche Welle: USA treten aus UN-Menschenrechtsrat aus. “Es hatte sich schon länger abgezeichnet – jetzt ist es offiziell: Die USA haben ihre Mitgliedschaft im Menschenrechtsrat der Vereinten Nationen gekündigt. Sie sind unzufrieden mit der Arbeit des Gremiums.”

Deutsche Welle: Migrantenkinder: Druck auf Republikaner wächst. “Der Proteststurm gegen die Trennung von Migrantenfamilien an der Grenze zu Mexiko zeigt Wirkung. Die Republikaner und US-Präsident Trump suchen eine rasche Lösung des Problems. Fortschritte sind bisher nicht in Sicht.”

“Die Republikaner geraten wegen der vielen Bilder von weinenden und verzweifelten Kindern zunehmend unter Druck – was sie sich vor den wichtigen Kongresswahlen im Herbst nicht erlauben können. Sie sind daher um Schadensbegrenzung bemüht. Mehrere Vertreter der Konservativen gingen auf Distanz zu dem Präsidenten. Trump verteidigte gleichwohl seine umstrittene Politik: Sie sei notwendig, um eine “massive Krise” zu meistern. Er sagte, er werde den Kongress zu einer Lösung auffordern, mit der Einwanderer ohne Papiere gemeinsam mit ihren Kindern inhaftiert werden könnten.

[…]

Derweil kritisierten Guatemala und Mexiko die zwangsweisen Trennungen von Familien an der US-Grenze. Das Vorgehen der US-Regierung sei grausam und unmenschlich, sagte Außenminister Luis Videgaray in Mexiko-Stadt. Von den rund 2000 betroffenen Kindern sei nur ein Prozent aus Mexiko. Der Großteil der Kinder stamme aus den mittelamerikanischen Staaten Guatemala, Honduras und El Salvador. Der Minister kündigte für Freitag ein Treffen mit Behörden aus den betroffenen Ländern an.

Die Regierung Guatemala verurteilte ebenfalls das Vorgehen an der US-Grenze. Dieses zerstöre die Einheit der Familie und verletzte die Menschenrechte. Nach Angaben von Außenministerin Sandra Jovel befinden sich 465 Kinder aus Guatemala in Herbergen in Texas und Arizona. Guatemala forderte die USA auf, die Einwanderungspolitik zu überdenken. Nach Schätzungen leben in den USA rund drei Millionen Menschen aus Guatemala – der Großteil von ihnen als illegale Einwanderer.”

26 Jun 18:19

Who Likes Vancouver’s Arbutus Greenway Plans?

by Ken Ohrn

Who likes Vancouver’s plans for the Arbutus Greenway? A lot of people, it seems.  Including me, it must be said.

The City of Vancouver released this 40-page Consultation Summary Report on public responses to their spring 2018 proposed design concept.

I count 2,015 people who commented via the usual methods: online survey, Open House events (4), Advisory Committee meetings (5), and Stakeholder meetings (ongoing).

You can review my thoughts on the Greenway’s proposed design concept here; a snapshot of the results follows.


Overall, the results are pretty clear: people who “really like it”, or “like it” comprise roughly 70-75% of the total.

People like the proposed design

I’m in the “really like it” group. Transportation, destinations and connections work for me as design elements, and earned my applause. My major concerns at this stage are strength and accessibility of all ages and abilities (AAA) connections south to the Canada Line Bridge, and north to the Seaside Greenway, Granville Island and Burrard Bridge.

I also really like the idea of a streetcar along the Greenway — but likely I won’t be around to ride it.

A demographic description of the participants providing comment is on page 37 of the Consultation Summary Report. (The first misanthropic commenter to claim that they’re all a bunch of stinkin’ bike people will reap well-deserved and fetid heaps o’ scorn.)

The next steps for the Greenway are:

  • Proposed Design to Council: Summer 2018
  • Master Plan: Early 2019
  • Phase 1 Detailed Design & Construction (next Capital Plan)

I note that the City of Vancouver’s draft 2019-2022 Capital Plan includes $5M for the first phase of the Arbutus Greenway (page 51).

The Arbutus Greenway project is like a ship sailing steadily forward, bringing treasure to everyone who visits Vancouver, or calls it home.

26 Jun 18:18

More Than Archiving, Organizing Your Shared Stuff Begins at Home

files/images/cabinet-334128_640.jpg

Alan Levine, CogDogBlog, Jun 23, 2018


Icon

I have learned from experience never to trust third-party services to be the primary storage for anything I create. I organize at home then distribute. As Alan Levine says "The cloud should never be the primary place to store / manage what you create; it should always be the exhaust." It may be a lot easier to take a photo on your phone and upload to Instagram, but then your photo is stuck in Instagram and at the mercy of their search engine and download policies. "Once you find yourself endless scrolling to find your own photos, that quick to post convenience factor evaporates."

Web: [Direct Link] [This Post]
26 Jun 18:18

How three disruptive technologies can work together to change the world as we know it

files/images/VRheadset-825x500.jpg

K.R. Sanjiv, ReadWrite, Jun 23, 2018


Icon

I think this basic proposition is correct: "In the digital journey, AI, IoT, and VR are all significant levers to redefine processes for both businesses and consumers. But it’s the combination of the three that will be the most disruptive." The acronyms stand for artificial intelligence (AI), internet of things (IoT) and virtual reality (VR). The question is, how will they be combined. Here's a sense of it: "IoT, for example, doesn't work on a hub-and-spoke model. Currently, the technology operates mostly on the IFTTT model — i.e., 'if this, then that' — but relying on AI instead will create smarter, more granular connectivity."

Web: [Direct Link] [This Post]
26 Jun 18:18

A new gig

After four years of working on to-dos, tasks, and lists of various sorts, I’m changing jobs. I’m joining the Microsoft ScaleUp program as a CTO in Residence. Even better, I’ll be working with Chad Fowler again.

What does “CTO in Residence” mean? Good question. The most defined part of my job will be to act as a “CTO on loan” for startups that are in Microsoft’s ScaleUp program in Europe and around the world. I’ll have peers in London, Beijing, Tel Aviv, Shanghai, Bangalore, Sydney, and Seattle, each of whom works with startups in their general area. Not only will this role let me reconnect with the world of startups in a big way, but I’ll also be a lot closer to parts of the company that have been embracing Open Source in a big way to implement Microsoft’s “Intelligent Cloud + Intelligent Edge” vision.

This transition also marks three years at Microsoft for me. Given history, that’s something that’s still really strange for me to contemplate. But it’s working well so far, and the kinds of changes that make Microsoft plausibly a good home for GitHub are the same ones that keep me interested in sticking around. It’s weird, but exciting!

26 Jun 18:18

The Enemy in the White House

Stefan Kuzmany in Der Spiegel Online writes about Trump:

His open support for German right-wing populists is nothing less than a blatant attack by a foreign power on this country’s government. It is a direct attempt by the White House to destabilize the Federal Republic of Germany.

Fear, uncertainty, doubt all around.

⚓︎
26 Jun 18:18

The USA needs to get immigration right

Politics is a tricky place for big corporations to tread. It’s really hard to make a nuanced position that can represent a company with over a hundred thousand employees, a large and diverse set of shareholders from the entire spectrum of political backgrounds, and a responsibility to serve customers. It’s really hard, right up until it’s really easy.

Somehow, this week, we got there.

Brad Smith is Microsoft’s Chief Legal Officer and considers his words carefully. His post on the Microsoft blog today starts with a set of calls that represent Microsoft’s needs in the immigration debate: namely fixing the visa process for Microsoft’s employees. Rational enough. But then, he goes further (emphasis mine):

There’s been a lot of political rhetoric this week about who is responsible for this separation of kids from their families. But there is one thing that no one can dispute: something changed in April. And it wasn’t the discovery of some new legal scroll that suddenly said the law should be interpreted in a different way. Instead it was a departure from the practice of prior administrations and a new surge in the separation of children from their families. As individuals and groups across the country have spoken up to recognize, this practice violates the fundamental humanitarian principles that define us as a people. It needs to end. And if the administration will not end this on its own, Congress needs to do so.

Translation: Congress needs to get its shit together.

Disclaimer: I work at Microsoft. I can’t imagine that Brad’s personal politics line up exactly with mine, and I know that the company I work for can’t and won’t pursue all of the agendas I’d like to see them pursue. But, I’m glad that Brad and the senior leadership (including Satya) have decided to take a public stand.

⚓︎
26 Jun 18:17

Keep Moving, Stay in Touch, Head for Higher Ground

by Jim

High GroundWe are imitative creatures. We are happier copying someone else’s approach than inventing solutions based on the actual problem at hand. How often do you encounter situations where change is called for and the first response to any suggestion is “where has this been done before?” For all the talk of innovation, I often wonder how anything new ever happens.

Leaders and change agents have been fond of looking to the military for design ideas to emulate in their organizations. One all too persistent model was best captured by novelist Herman Wouk;

The Navy is a master plan designed by geniuses for execution by idiots. If you are not an idiot, but find yourself in the Navy, you can only operate well by pretending to be one. All the shortcuts and economies and common-sense changes that your native intelligence suggests to you are mistakes. Learn to quash them. Constantly ask yourself, “How would I do this if I were a fool?” Throttle down your mind to a crawl. Then you will never go wrong.

– Herman Wouk, The Caine Mutiny

This is a compelling image and in 1951 it likely represented a pretty accurate description of the Navy. Too many organizational leaders operate as if it were still 1951 and that military was an exemplar of good organizational practice. If you also believe that the military organize to fight the last war, what war are organizations fighting when they copy their designs from that military?

If we insist on copying ideas, perhaps we should at least update our mental models. If you want to draw lessons from the military, do it intelligently. If you look in the right places, the modern military has been more innovative about organization and leadership than other institutions because their consequences can mean the difference between life and death – something just a bit more compelling than making your quarterly budgets.

While business organizations remain fond of command and control, the military has had to cope with the disconnects between the view from headquarters and ground truth. Regardless of what TV and the movies suggest, orders do not flow from the Situation Room to the troops on the ground. Commanders spend their time articulating “commander’s intent,” not on developing detailed orders; they worry about making sure that all concerned understand “why” and what finished looks like first.

If the job at the top is to articulate why, what does that enable at the front lines? It grants those with first hand knowledge of the situation the freedom to exercise initiative and adapt action to the circumstances. It also eliminates “I was just following orders” as an excuse for failure.

This model places much greater responsibilities on the front lines, so you had better staff those lines accordingly. Perhaps put a better way, you must trust that they are capable of what they may be called on to do. Wouk was reminding us that those on the line only behave like idiots if you treat them so.

If you make the transition to starting from commander’s intent and trusting that you’ve put capable people in place, then orders become much simpler to devise. In the volatile world that constitutes today’s environment for most of us, you can offer a default set of orders to cover the unexpected; keep moving, stay in touch, head for higher ground.

The post Keep Moving, Stay in Touch, Head for Higher Ground appeared first on McGee's Musings.

26 Jun 18:17

BBC on the World Cup: Japan fans impress by cleaning up stadium

by colinmstein

Following Japan’s 2-1 win Tuesday night over Colombia, BBC News posted the following:

After a heated World Cup match, the stands are usually left with food waste, cups and wrappers scattered in the heat of the moment.

But after the team swept Colombia off the pitch, Japanese fans also did their share of sweeping: meticulously cleaning up their rows and seats in the stadium.

Equipped with large rubbish bags they brought along, the fans marched through the rows picking up rubbish, to leave the place just as neat as they had found it.

Gordon Price adds to the sentiment: “Not at all surprised by this. In two weeks, not an exaggeration to say I have seen no litter.”

“I’ve started to take wrappings with me (no real option; no litter containers, even in malls). I took the wrapping on a plastic spoon from the take-out restaurant I patronized, with a sense I’d feel shamed if I didn’t.”

“It’s all about the culture, folks.”

Lastly, from Australian football journalist Scott McIntyre:

You often hear people say that football is a reflection of culture. An important aspect of Japanese society is making sure that everything is absolutely clean and that’s the case in all sporting events and certainly also in football.

…it may sound bland and boring, but this is the reality of a country that’s built on respect and politeness…this simply extends to doing respectful things in football.

…the World Cup brings so many nations and people together…to learn and exchange these kinds of things. That’s the beauty of football.

26 Jun 18:17

The Icepick is Back

by Gordon Price

In 2015, Toronto-based developer Cadillac Fairview attempted to get approval for a 26-storey office building at 555 Cordova. Dubbed “The Icepick”, the iconoclastic development would have been shoe-horned up against the east side of Waterfront Station in Vancouver.

Cadillac Fairview owns Waterfront Station, and since it opened in 1914, the proposed remnant building site has been the station’s eastern access and parking lot.

The proposed site is not a separate building lot, and far too small to accommodate a giant office building. The Icepick was turned down by City Hall in 2015, following wide-spread objections from neighbours and the public.

Now Cadillac Fairview is back, this time with Icepick 2, a slightly revised version of the original.
Responding to the objections of the Urban Design Panel, the developer rotated and pushed the building a little further west, slightly reduced its footprint, and made it possible to see and walk through the ground floor. With these changes, the developer seems intent on getting approval for Icepick 2 in the lead up to the civic election in October 2018.

The timing is odd indeed. The proposed building is not consistent with the existing 2009 Council-endorsed Central Waterfront Hub Framework. In October 2017, Council approved a program to update the Framework and resolve implementation issues. This work has only just begun.

Does it make sense to put approvals before planning? Is this another case of civic leaders caving in to developers? Neither version of the Icepick conforms to planning guidelines for the area. The most recent proposed building is more than twice the recommended height of 11 stories, and six times the recommended floor space. It ignores parking requirements, and overwhelms heritage buildings next door.

Most disturbing, Cadillac Fairview has not agreed to an extension of Granville Street to the waterfront. The developer owns the parkade at the foot of Granville. Removing part of the parkade’s top level was a central concept of the original Hub Framework. It would open the street to the waterfront, and provide an opportunity to build a public walkway connecting Stanley Park, the central waterfront, Gastown, Chinatown and False Creek.

This site is critical to the future of the city. It is the most the most important transportation hub in the region, a heritage precinct and the gateway to Gastown. Surely Vancouver, which prides itself on progressive planning, can find a better solution for this site. Waterfront access, respect for what is there now, and a focus on place-making can be the fruits of the current planning review.

A quick yes to Cadillac Fairview’s latest proposal will preclude the review and seriously undermine future options for the city’s waterfront.

Icepick 2 has to be stopped.

26 Jun 18:17

Rising Housing Costs, Less Migration in British Columbia

by Sandy James Planner

map-canada-brand2

Jock Finlayson and Ken Peacock have reported in Business in Vancouver on another startling casualty of rising housing prices.

Late last year, British Columbia started to experience a surprising drop in people moving here from other provinces. While migration across Canada has historically risen and fallen with economic swings and employment potential, this drop in the influx of new residents may be more directly attributable to the increasing cost of housing in British Columbia.

This province has Canada’s lowest unemployment rate, and “by mid-2014, interprovincial migration was adding more than 5,000 people to B.C.’s population every quarter – upwards of 20,000 annually. Over the subsequent three years, net interprovincial migration ranged between 4,000 and 6,000 per quarter. But in the third quarter of 2017, the net inflow plummeted to 500, and it stayed low (at 800) in Q4.”
In examining the reasons why there is less migration to British Columbia, Finlayson and Peacock feel that good labour markets in other provinces are available as baby boomers retire. In Alberta, which has just gone through an economic crisis, the unemployment rate dropped from 8.7 per cent to 6.3 per cent in one year, suggesting that potential interprovincial migrants were able to find work in their own home province.

Out-migration of workers from British Columbia to other provinces has also increased. While a good job market could be one reason, ‘push factors’ were also identified, “notably the high cost of housing in B.C.’s urban centres, are probably more important. The combination of unusually steep local housing costs and brighter job prospects in other regions may be prompting more British Columbians to pick up sticks. High housing costs are also discouraging some potential migrants from other provinces from relocating to B.C.”

This brings up two issues for British Columbia — if good labour markets exist in other provinces, labour mobility from across Canada to B.C. may continue to be low. The provincial government has assumed a net migration of 10,000 to 15,000 annually over the next ten years.

If this does not happen, “B.C. is poised to become even more reliant on international immigration to meet its future labour needs.” In a future scenario where workers will be “in short supply across the country” affordable housing stock will be needed.

Christopher Cheung noted in The Tyee that high housing prices are already making it challenging to attract new recruits to the Vancouver Police Department, which reports that 83 per cent of officers don’t live in the city. The Hospital Employees Union and the Secondary Teachers Association report similar challenges.

Once again, access to affordable housing appears to be key to addressing labour shortages and keeping people in British Columbia cities.

canadian-van-lines

Photos: 2 Burley CBC.ca

26 Jun 18:17

Apple Is Figuring Out What's Next

by Neil Cybart

"If you do something and it turns out pretty good, then you should go do something else wonderful, not dwell on it for too long. Just figure out what's next." - Steve Jobs

Apple used this year's WWDC to demonstrate a number of areas in which it is playing offense. This isn't a company content with letting others control the user experience found with its devices. However, one of the major takeaways from the WWDC keynote was found with something not announced on stage. Apple finds itself announcing new technologies that make more sense on form factors that don't yet exist. Management is increasingly focused on what comes next, and the answer is smart glasses. 

WWDC 2018

The features and software unveiled at WWDC 2018 could be split into two categories. The first group included items targeting the way we use and consume content on Apple devices. This included everything from empowering users with information regarding how devices are used to improving the way we consume content via:

  • An updated Apple News app.
  • Apple Podcasts on Apple Watch.
  • A completely redesigned Stocks app.
  • A revamped (and rebranded) Apple Books.

Apple knows it holds a lot of power when it comes to content distribution given a user base of a billion people and 1.4 billion devices. 

The other group of announcements was related to new technologies designed to make the cameras and screens in our life smarter.

  • ARKit 2 introduces new ways of transforming smartphone and tablet cameras into smart eyes.
  • Siri Shortcuts continue Apple's efforts to customize Siri to better suit a user's lifestyle.
  • New machine learning (ML) capabilities are powering Memoji and various other applications made possible by smarter cameras. 

There is a drawback found with most of the cameras and screens that stand to benefit from these new technologies: We still have to hold them. While AR makes for a cool on-stage demo, having to hold an iPhone or iPad up as an AR viewfinder for long periods of time isn't ideal. Items like Siri Shortcuts and Siri Suggestions are interesting on iPhone and iPad although they are incredibly more appealing on mobile displays worn on our bodies. ML applications on iPhone and iPad are useful, but the predictive and proactive nature of the technology can work wonders when combined with mobile cameras and screens that we don't have to hold. Apple is announcing new technologies that make more sense on form factors that currently don't exist.

My full WWDC 2018 review is available for subscribers here (major themes) and here (full notes). 

What's Next? 

While Apple management will never admit it, the company has been thinking and looking beyond iPhone for years. The Apple Watch's ongoing march to iPhone independency is clear evidence of this post-iPhone thinking. This isn't to say that the iPhone will lose its spot as the most valuable computer in hundreds of millions of lives anytime soon. In addition, the iPhone will likely remain Apple's top revenue-generating product for some time. However, those realities don't determine Apple's post-iPhone product strategy. Management isn't driven by the goal to come up with something that is more profitable than iPhone. Instead, the focus is on coming up with something that makes technology more personal and handling new workflows that were never able to be handled by iPhone.

Last month, Mary Meeker presented the latest edition of her Internet Trends presentation. Narrowing 294 slides into one major takeaway isn't easy, but such a task was possible this year - the smartphone industry is mature, and it's time to figure out what's next. Smartphone sales are flat as the average consumer is OK with holding on to his or her smartphone for longer before upgrading. 

As seen in the chart below, Apple hasn't been immune to this trend as iPhone sales have plateaued. Apple is currently selling approximately 215 million iPhones per year, and sales are likely to remain in that ballpark in the near term.

Screen Shot 2018-06-20 at 2.35.00 PM.png

When thinking about what comes next, it's difficult to miss the rising yellow line in the preceding chart. Apple is seeing significant sales momentum in its battle for our wrists with Apple Watch and our ears with AirPods. These new form factors are successful in making technology more personal for tens of millions of people. When combining Apple Watch and AirPods sales, Apple's wearables segment will soon outsell iPad in terms of unit sales.

The next wearables battle will be for our eyes. This battle will revolve around a product that benefits from technologies currently found with ARKit, Siri, and Apple's ML efforts. Apple is setting the stage for smart glasses. A pair of smart glasses will essentially boil down to an ML playground cool looking and light enough to wear throughout the day. There's one problem for Apple: The world isn't quite ready for such a product. As Jony Ive put it a few months ago, "there are certain ideas that we have, and we're waiting for the technology to catch up."

Biding Time?

It's easy to think that Apple may simply be biding its time until the world is ready for AR glasses. However, WWDC gave us a glimpse of how Apple is busy behind the scenes, preparing for what comes next. With ARKit, Apple is using hundreds of millions of iPhone and iPads to inspire 20 million developers with the potentials found with AR. A similar dynamic is at play in getting customers comfortable with items like Animoji and Memoji - items that will likely one day be available via a pair of smart glasses. 

In many ways, Apple is doing more than any other company to prepare the world for AR. Startups like Magic Leap have positioned themselves as being ambitious for wanting to control everything needed to develop a pair of mass-market AR glasses. However, Magic Leap is missing a few crucial ingredients needed for success. Unlike Apple, Magic Leap doesn't have a few hundred million devices for seeding early technologies that will eventually power a pair of smart glasses. Instead, Magic Leap is forced to conduct a portion of its R&D in public, releasing early prototype versions of AR goggles in an attempt to capture AR mind share that is increasingly flowing to Apple. 

Another item that Magic Leap doesn't have, but which will prove to be incredibly useful for AR glasses, is Apple Watch. Apple has learned a significant amount about how personal technology can be worn on the body by having nearly 40 million people wear an Apple Watch on any given day. In addition, Apple Watch serves as a test bed for learning about proactive digital assistants. However, the most important aspect of Apple Watch is how the device will likely end up playing a key role in serving as a place to put tech on the body that will help power smart glasses. In fact, an argument can be made that Apple Watch will become more instrumental to Apple Glasses' success than any other Apple product. 

Apple's Game to Lose

We see Apple pulling away from the competition when it comes to grabbing real estate on our wrists and ears. The company has a good shot at doing the same in the battle for our eyes. Consider the various ways Apple is well-positioned for AR glasses:

  1. Hardware and software integration. Apple has a few decades worth of experience while competitors have only recently realized that hardware/software integration is essential when it comes wearables. 
  2. Controlling core technology. Apple's silicon efforts and broader ambition to control the core technologies powering its devices are giving the company a head start that will likely be measured in decades. 
  3. Wearables manufacturing. Apple is learning a great deal about miniaturization with Apple Watch and AirPods. No other company is close to Apple in this area.
  4. AR technology. In just over a year, Apple has announced two major versions of its AR platform with hundreds of millions of supported devices. Years of extensive M&A activity in the AR arena is beginning to pay dividends.  
  5. Developers. Apple has 20 million iOS developers focused on coming up with new experiences for a billion people. Companies like Magic Leap and Microsoft lack this critical piece of the equation. 
  6. Fashion and luxury. Apple has learned a great deal about selling fashion with Apple Watch. 
  7. Health/Medical. What may have started as an interest for Apple is turning into a strategic mission. A pair of smart glasses stand to improve the well-being of hundreds of millions of people as one of the key use cases for such a device is enhanced vision.
  8. Retail demoes. Apple has 502 retail stores around the world with plenty of space for glasses demoes. 

There's an elephant in the AR room. This is Apple's game to lose. 

Creating Tools

Five years ago, Apple management was facing growing pressure to announce something new. Wall Street and Silicon Valley were eager to see Apple unveil a new product category in the post-Steve Jobs era. To this group, the lack of a new product category from Apple meant that management was either struggling with innovation, or worse, suffering from a lack of imagination. The intense pressure to come up with something new likely played a role in Apple giving Apple Watch a huge product unveiling in September 2014. 

Fast forward a few years, and Apple faces a dramatically different environment. There aren't as many calls for Apple to come up with something new following Apple Watch. Instead, Apple's ability to monetize the iPhone experience beyond hardware sales has made people think Apple is a different kind of company - one that is more focused on monetizing existing users instead of dreaming about what's next. In a way, many market observers are the ones now suffering from a lack of imagination when it comes to Apple. 

Apple is a design company focused on creating tools for people. While some of those new tools may be positioned as accessories to existing products, other tools will be capable of ushering in paradigm shifts. The only way for Apple to remain relevant in the future is to disrupt itself by coming up with new tools consisting of a combination of hardware, software, and services. Such groundbreaking tools won't likely be released every two or three years. In fact, Apple may go more like five, six, or even seven years between announcing major new product categories. The point is that such paradigm shifts are needed.

Screen Shot 2018-06-10 at 5.44.17 PM.png

Steve Jobs' quote calling for figuring out what's next and not dwelling on current success for too long was from a 2006 interview in which Jobs was asked where he sees himself within history's famous thinkers and inventors. Jobs was describing where the motivation for coming up with so many new products originated. For Apple, Jobs' quote serves as inspiration for not resting on its laurels and instead coming up with the next "pretty good" thing.  

Receive my analysis and perspective on Apple throughout the week via exclusive daily updates. To sign up, visit the subscription page

26 Jun 18:15

The outrageous photo of a suffering child

by Josh Bernoff

Have you seen this photo? What an outrage. Trump’s Border Patrol is separating families at the border and putting children in cages. I’ve seen this photo all over my Facebook feed, on posts filled with rage. But there’s a problem. This photo is not what people think it is. According to snopes.com, this photo is … Continued

The post The outrageous photo of a suffering child appeared first on without bullshit.

26 Jun 18:15

Urbanist Abroad: Day 16 – Kyoto

by colinmstein

On Wednesday, a visit to The National Museum of Modern Art, Kyoto (known as MOMAK, naturally).

In addition to familiar names like Braque, Chagall, Chihuly, Hockney, Kindinsky and Lloyd Wright, our tireless, urbanist documentarian Gordon Price took in some renowned Japanese artists, likely unknown to many Westerners, but worth some investigation:

  • Léonard Tsugouharu Foujita, Japanese–French painter and printmaker, whose Book of Cats (1930) is one of the highest-priced rare books ever sold; it is ranked by dealers as “the most popular and desirable book on cats ever published” (take that, GIPHY)
  • Kaii Higashiyama, writer and artist particularly renowned for his Nihonga style paintings, and one of the most popular artists in post-war Japan.
  • Hishida Shunsō, pseudonym of Japanese painter Hishida Miyoji from the Meiji period, he played a role in the innovation of Nihonga.
  • Oda Kaisen, who specialized in landscapes, figures and kachoga (bird/flower-paintings); known especially for the Suiboku-ga style of Japanese monochrome ink painting, a technique first developed in China during the Sung dynasty (960–1274).
  • Tomioka Tessai, the pseudonym for painter and calligrapher Yusuke, whose early early works followed the bunjinga styles of the early 19th century, often featuring Chinese landscapes. It is estimated he painted approximately 20,000 paintings in the course of his career

Just a few photographs today, and a compelling video — peeking down lanes and alleyways into another world…

Instagram Photo
Instagram Photo
Instagram Photo

26 Jun 18:15

A Few Tips for Mob Programming

by Tim Ottinger

Mob programming is great stuff! We have found it to be the best way (so far) to teach technical skills to teams of programmers, and the best way for them to continue developing and teaching their skills well beyond our workshops.

Here are a set of tips that help us to make mobbing more successful in organizations:

Mobster

Mobster

Mobster is a tool developed by Dillon Kearns to help teams manage to swap “drivers” during mob programming sessions. It also helps them remember to take disciplined breaks. A team can customize the timing and randomize the pattern of drivers if they like. It’s been a helpful tool for us.

7-Minute Timer

Timer

We find that there is a timing tradeoff to be made, especially when teams are new at mobbing.

If the drivers’ session is too long, then people not driving sometimes have trouble maintaining attention. After all, it might be over an hour before they are driving again. This should not be a problem since all the non-drivers are the ones actually programming, but turns out to be a problem for enough people.

Likewise, if the session is too short, drivers feel like they didn’t really contribute anything and the overhead time for switching partners feels like waste.

Some teams like 5 minutes, some like 15. We find that 7 minutes works out pretty well, and often is pretty close to the sweet spot for many teams.

One interesting variation was to take 60 minutes (as a session length), then subtract 10 minutes for our disciplined break, and divide the remainder by the number of people in the room. You can do a similar calculation and end up with driving sessions short enough that everyone gets a turn every hour. There is no reason you can't plan your session lengths and breaks first, and subdivide the remainder.

Regular Breaks

Taking a Break

Tools like Pomodoro and mobster help remind teams to take breaks, but sometimes team members are accustomed to having to always be at their desks so they feel guilty not programming during the course of a normal day.

We find that disciplined break-taking keeps us fresh all day. A few minutes here or there to check email, wander the halls, fill our water bottles and the like can be refreshing and leave room for new ideas to incubate. Sadly, a lot of people have been trained to think of programming like factory work, and want everyone to keep their noses to the grindstone for a full 8 hours a day -- a system that doesn’t really work for knowledge workers, especially those in group settings.

We take breaks. It works.

No Running Away

running bunny

In a mob, there is one “driver” at the keyboard, and the driver’s job is to do what the navigator(s) say. In a strict driver/navigator mob, there is one navigator and everyone else is an advisor.

Either way, the driver is not in charge. The driver’s job is to operate the machine only. The rest of the group decides what to type, what to move, what to delete. The driver executes the will of the team so that every idea “goes from one person’s brain through another person’s hands” (says Woody Zuill).

When the driver starts to execute their own vision, we call that “running away.” Nothing the driver types should be the driver’s idea, because that would leave one person programming while N people watch -- clearly a wasteful practice.

We call out “no running away” when a driver starts to “run away” with the machine. It’s a reminder of the promise we have to observe proper mob programming and vet each others’ ideas as we work.

Find The Driver’s Level

Driver""

When mobbing, some people are very familiar with programming, refactoring, testing, and navigating the IDE. Complex commands can be delivered in shorthand like “reorganize the imports,” “extract this to a field initialized in the constructor,” and “move this block to a function in class Z.”

Other drivers may have to be told specifically what hot keys to press (“press command-alt R”) or what text to type.

It’s important for the navigators to not direct an experienced driver as if she were a novice, or a novice as if she were expected to operate as an expert.

We tell drivers to lean back with arms crossed when they are overwhelmed or micromanaged, and likewise when the room is deliberating and not giving instructions. Then when the room takes notice, to ask for what they need from the room.

Sometimes a driver's time will lapse without the driver entering anything into the computer. This is okay. Sometimes 7-15 minutes of thinking will help the team make a better decision, but seeing the driver with arms crossed is a sign that we need to get to a point of action soon.

Argue IN Code

Arguing

Developers think in abstract ways about problems. It’s a super-power of programmers. We also have a tendency to have our own views and opinions, and to weight our values and practices differently and so we deliberate as a group. We do this quite a lot. It’s a good part of the process and ensures that our best ideas make it into the code.

However, sometimes we deliberate/argue about the abstract nature of the problem, and we have trouble relating to each other. We try to never argue abstracts for more than 5-10 minutes. The best way to avoid pointless, wasteful arguments it to get down to concrete examples.

This is why we “argue in code, not about code.” When we see non-abstract implementations, we usually either agree outright, or can come to agreement quickly. Concrete cases are usually simpler and more obvious. Sometimes when we “get down to brass tacks” we can see that we were arguing the wrong abstracts to begin with.

Marick says “this is a good place for an example.” We say that when mob programming, any time a discussion goes meta, stalls on abstracts, or lasts more than a few minutes.

Waste Snake

waste snake

The “waste snake” is a mechanism for tracking the instances when some technical or organizational problem has caused team members to lose time (wait, start over, etc).

When people work solo, they tolerate delays and drudgery. After all, it’s one person and it’s only a few hours, it’s not worth undertaking a mission to eliminate the delay. Sometimes the individual wanders off and reads some web articles, or checks social media for a while, or switches to some other task. They’re not blocked overall, just on the one thing… they can increase the Work In Progress or take a break until the blockage clears. If it’s dull, repetitive work, they can just gut through it.

When a team is working together, then each outage or delay becomes obviously expensive. Waiting for someone to do dull, repetitive work is painful. Waiting until a server is back up, or a request is processed, or someone completes a pull request review? Impossibly painful. The secret? This has always been N people waiting for X hours per week, but with the people split up nobody noticed it. Now it’s too obvious.

You record delays and drudgery on the waste snake. When time allows, or when you get fed up, some of the people split off and go attack the problem. The resulting fix saves everyone time. As a result the whole team (and sometimes the whole org) becomes more efficient.

Learnings Board

A similar feature to the Waste Snake, where we record delays, we keep a Learnings Board, where we record each important thing we learn, or each thing we learn how to do.

It’s common that a mob will discover a technique that saves each person several minutes a day, or several hours a week. This goes on the learnings board.

Sometimes the team learns something about the domain that would otherwise have resulted in building the wrong product. This goes on the learnings board.

Other times, the team learns something about their technical stack (language, libraries, etc) that makes them more proficient, efficient, or effective. This goes up on the board.

The learnings from the learning board are celebrated and shared.

Promise Debt

IOU

One more Big Visible Display we like to use is a Promise Debt board. Any time the team comes across a task that they defer or a promise that they need to keep, they list it on the Promise Debt board. By the end of the day, they intend to “pay down” the promise debt by keeping promises and completing deferred work.

Invite the Experts

Einstein

When the team is stuck (see “waste snake” above) one of the best ways to solve a problem is to invite some outside experts from other teams or organizational structures to join the mob for a little while. The experts will become advisors who help navigate the driver.

I’ve seen teams stuck for ½ a day invite in an expert and be doing productive work within an hour.

Of course the things we learn from the expert goes to the Learnings Board.

Invite the Boss

A mob programming team should invite the boss. Or the grandboss. Or the great-grandboss. Maybe the CFO or CIO. Certainly the director of software development. Maybe the product management people from the other floor of the other building. Sales? Customer support?

Often inviting people who don’t participate in the team’s daily work, and possibly don’t even understand it, will result in new appreciation and empathy between the teams and the other business units or levels.

I’ve only seen good come from this so far. It’s a strategy worth pursuing.

Credits

As much as I would have liked these ideas to have been all from my own imagination and experience, they are not. I received much direct help from Mike Rieser, Anthony Sciamana, Nicke Goede, Mike Rizzi, and Bill Wake ... and possibly others whose names I didn't record at the time. And, of course, the influence of many in the mobprogramming.org world.

The post A Few Tips for Mob Programming appeared first on Industrial Logic.

26 Jun 18:15

Memorial Ride for Dalia Chako

by jnyyz

Tonight was the memorial ride for Dalia Chakos, a 58 year old grandmother who moved to Toronto from the US two years ago and loved riding her bike in the Annex neighbourhood. She was killed by a flatbed truck at he corner of St. George and Bloor. Even before tonight’s ride, people had left flowers in her memory.

A very large crowd gathered at Bloor and Spadina.

DSC05953

Geoffrey talks to the media.

DSC05948

Dalia’s son, Skylor Brummans, flew in from Minnesota to attend the ride. He was determined to use the news of his mother’s untimely death to press for more safety for cyclists.

DSC05950

Joey makes the usual announcements to get us rolling.

DSC05951

We start lining up on Spadina in preparation for heading north.

DSC05954

Here we go.

DSC05955

DSC05956

DSC05959

DSC02784

Pause at Lowther.

DSC02786

Right turn on Bernard.

DSC05961

DSC02792

DSC02794

Pause for a regroup before turning south on St. George.

DSC05962

DSC02795

DSC02797

The ghost bike arrives at the crash site.

DSC02798

The crowd is so large that we block the intersection.

DSC05964

DSC05968

Setting up the ghost bike.

DSC05965

DSC05966

Joey calls for a minute of silence.

DSC05970

DSC05971

Afterwards, people come forward to decorate the bike.

DSC05980

DSC02800

We own the intersection for a brief period of time. It was striking that after an initial bit of honking, many cars waited patiently for us to finish.

DSC05973

Skylor thanks everyone for attending, and says that his mother would not have believed that hundreds of strangers would ride in her honour.

DSC05976

Believe me, this is the very least we could do in her memory.

As the crowd disperses, the banner is still held across one lane.

DSC05982

The decorations.

DSC05983

Deepest condolences to Dalia’s family and friends. The presence of Skylor and his wife was highly appreciated.

DSC05981

Thanks to everyone who rode with us tonight.

Note: a few of these pictures have been cross posted to a separate blog post at Dandyhorse Magazine.

Update:

26 Jun 18:14

A beautiful reflection on the Art of Hosting on Bowen Island

by Chris Corrigan

Bowen Island is where I live and work.  Since 2004 there has been an annual Art of Hosting learning event offered by a really solid team of my most deeply experienced and connected friends and colleagues.

Last year Scott Macklin came and made a beautiful video capturing the experience we craft here.  Enjoy it and if you would like to experience it for yourself, please join us this November.

26 Jun 18:14

WordPress in Uber

by Matt

I really love this thread and the replies sharing stories about Val Vesa’s experience talking about WordPress in an Uber / Lyft ride:

26 Jun 18:13

The Role of Resources in Data Analysis

When learning about data analysis in school, you don’t hear much about the role that resources—time, money, and technology—play in the development of analysis. This is a conversation that is often had “in the hallway” when talking to senior faculty or mentors. But the available resources do play a significant role in determining what can be done with a given question and dataset. It’s tempting to think that the situation is binary—either you have sufficient resources to do the “right” analysis, or you simply don’t do the analysis. But in the real world there are quite a few shades of gray in between those two endpoints. There are many situations in data analysis where the optimal approach is not feasible, but it is nevertheless important to do some sort of analysis. Thus, a critical skill for a data analyst to master is the ability to reconcile conflicting ideas while still producing something useful.

All analyses must deal with constraints on time and technology and that often shapes the plan for what can be done. For example, the complexity of the statistical model being used may be constrained by computing power available to the analyst, the ability to purchase more computing power, and the time available to run complex Markov chain Monte Carlo simulations. The analysis that is needed tomorrow will be different from the analysis that is needed next week. Yet the only thing different between the two is the time available to do the work.

The key resources of time, money, and technology have different effects on how a data analysis ultimately completed:

  • Time. Time usually serves as the biggest constraint and is obviously related to money. However, even if money is in abundance, it cannot buy more time if none is available. Complex analyses often involve many separate pieces, and complex data must be validated, checked, and interrogated before one can be confident about the results. All of this takes time and having less time leads to doing less of all those things. Similarly some analyses may require multiple people’s time, if one person cannot fit it all into their schedule. If multiple people are not currently available, that will change the nature of the analysis done.
  • Technology. I use the word “technology” broadly to refer to both computing resources and statistical “resources”. Some models may be more optimal than others, but characteristics of the dataset (such as its size) may prevent them from being applied. Better analyses may be done with more computing power, but a constraint on available computing power will determine what models get fit and how much extra work is done. Technological constraints may also be related to the audience that will receive the analysis. Depending on how sophisticated the audience is, one may tune the technology applied to do the analysis.

Approximations

Perhaps the oldest tool that statisticians have in their toolbox for dealing with resource constraints is approximation. Often it is straightforward to write down what the exact or ideal solution to a problem is but the computational burden makes it difficult to compute that solution. For example, many Bayesian computations require calculating complex high-dimensional integrals that were impossible before the invention of the digital computer. For complex non-linear solutions, a classic trick is to use a linear approximation and perhaps combine it with an assumption about asymptotic normality.

In most cases where computation was intractable, statisticians either resorted to (asymptotic) approximations, substituting difficult calculations with (sometimes dubious) assumptions, or chose different methods. A key point is that the harsh reality of the the real world’s resource constraints forced a different approach to analyzing data. While it might be unsatisfying to use a sub-optimal approach, it might be equally unsatisfying to not analyze the data at all.

As computing power has grown in the last century, we have been slowly replacing those old assumptions with computation. There is no need for asymptotic Normality if we can compute a less restrictive solution with a powerful computer. A simple example of this is the two-sample permutation test which is as powerful as a standard t-test but without any distributional assumptions. The problem, of course, is that those old assumptions die hard, and even today it can be cumbersome to code up a solution when a formula is right at hand.

Cheaper Hierarchical Modeling

One example from my own work involves hierarchical modeling of air pollution and health time series data. In the early 2000s, we were looking at national data on mortality and air pollution in the U.S. We had daily data on mortality and pollution (and many other covariates) in 100 major U.S. cities covering a time span of about 14 years. In order to make efficient use of this huge dataset, the goal was to employ a hierarchical model to estimate both a “national” association between air pollution and mortality, as well as city-specific estimates that borrowed strength across cities. It was a familiar approach that worked perfectly well in smaller datasets. The “right” approach would have been to use a Poisson likelihood for each of the cities (to model the mortality count data) and then have Normal random effects for the intercept and air pollution slopes.

But at the time, we didn’t have a computer that could actually compute the estimate from the model (or in our case, the posterior distributions). So the “right” model was not an option. What we ended up doing was using a Normal approximation for the Poisson likelihood, justified by the fairly large samples that we had, which allowed for a Normal-Normal two-stage model that could be computed without having to load all the data into memory (in the simplest case it could be done in closed form). To this day, this is the standard approach to modeling multi-site time series data of air pollution and health because it is fast, cheap, and easy to understand.

Trustworthiness

Ultimately, those resource constraints can affect how trustworthy the analysis is. In a trustworthy analysis, what is presented as the analysis is often backed up by many facts and details that are not presented. These other analyses have been done, but the analyst has decided (likely based on a certain narrative of the data) that they do not meet the threshold for presentation. That said, should anyone ask for those details, they are readily available. With greater resources, the sum total of all of the things that can be done is greater, thus giving us hope that the things left undone are orthogonal to what was done.

However, with fewer resources, there are at least two consequences. First, it is likely that fewer things can be done with the data. Fewer checks on the data, checks on model assumptions, checks of convergence, model validations, etc. This increases the number of undone things and makes it more likely that they will have an impact on the final (presented) results. Secondly, certain kinds of analysis may require greater time or computing power than is available. In order to present any analysis at all, we may need to resort to approximations or “cheaper” methodology. These approaches are not necessarily incorrect, but they may produce results that are noisier or otherwise sub-optimal. That said, the various other parties involved in the analysis, such as the audience or the patron, may prefer having any analysis done, regardless of optimality, over having no analysis. Sometimes the question itself is still vague or a bit rough, and so it’s okay if the analysis that goes with it is equally “quick and dirty”. Nevertheless, analysts have to draw the line between what what is a reasonable analysis and what is not, given the available resources.

Although resource constraints can impair the trustworthiness of an analysis, sometimes the use of approximations to deal with resource constraints can produce benefits. In the example above regarding the air pollution and mortality modeling, the approximation that we used made fitting the models to the data very fast. The benefit of the cheapness of the computation in this case allows the analyst to cycle through many different models to examine robustness of the findings to various confounding factors and to conduct important sensitivity analyses. If each model took days to compute, you might just settle for a single model fit. In other words, it’s possible that resource constraints could produce an analysis that, while approximate, is actually more trustworthy than the optimal analysis.

The Analyst’s Job

The data analyst’s job is to manage the resources available for analysis and produce the best analysis possible subject to the existing constraints. The availability of resources may not be solely up to the analyst, but the job is nevertheless to recognize what is available, determine whether the resources are sufficient for completing a reasonable analysis, and if not, then request more from those who can provide them. I’ve seen many data analyses go astray as a result of a mismatch in the understanding of the resources available versus the resources required.

A good data analyst can minimize the chance of a gross mismatch and will continuously evaluate the resource needs of an analysis going forward. If there appears to be a large deviation between what was expected and the reality of the analysis, then the analyst must communicate with others involved (the patron or perhaps subject matter expert) to either obtain more resources or modify the data analytic plan. Negotiating additional resources or a modified analytic plan requires the analyst to have a good relationship with the various parties involved.

You can hear more from me and the JHU Data Science Lab by subscribing to our weekly newsletter Monday Morning Data Science.

26 Jun 18:13

A Copywriter's Burden

by noreply@blogger.com (BOB HOFFMAN)

There was a time when being a copywriter was a lot simpler. It wasn't simple, but it was simpler.

We would be given a stack of documents about 1,000 pages deep -- primary research, industry information, briefing documents, strategy hypotheses, meeting memos, competitive category ads, focus group transcriptions, and no shortage of opinions and mandatories -- and our job was to turn this mess into 30 seconds of persuasive copy.

It was a rigorous exercise.

There were some copywriters who could never master the art of rummaging through a pile of paper to find the essence of what needed to be said. There were some who were very good at finding the essence, but not very good at finding an interesting way to say it. The very best could do both.

But the burden of being a copywriter today is much less straightforward. Today's copywriter is not really sure what she is. Is she a brand builder, a click maximizer, a storyteller, a community builder, a content provider, a conversation starter, a data interpreter, a three-times-a-day tweet machine? How do you keep true to a brand essence when you are "optimizing" for so many different objectives?

In fact, in the wrong hands, writing copy that is optimized for a ragbag of different media and a variety of different purposes can become antithetical to the idea of a single, simple brand identity. The tactical invariably drives out the strategic.

When that copywriter took a thousand pages of input and reduced it to a simple, singular proposition it became pretty clear how a campaign could spin out of it. In fact, the iconic "1984" spot by Apple started its life as a print ad that never ran. The concept superseded the media tactic.

But how does a focused brand strategy survive an hourly demand for "content?" Just take a look at the drivel that is coming out of McDonald's social media machine and try to find anything resembling a brand strategy.

There is a big difference between a being a novelist and being a copywriter. A novelist starts with a simple idea - "war is hell" - and expands on it to create a sprawling landscape. The copywriter does the opposite. He takes a sprawling landscape and, if he's any good, reduces it to a simple idea. Or at least he used to.

What does a copywriter do today?


26 Jun 18:10

The messy fourth estate

The ever-insightful danah boyd digs deep into the current state of our news ecosystem and how it contributes to the ongoing shitshow of our times.

we have reached a stage in our political climate where there is more power in seeding doubt, destabilizing knowledge, and encouraging others to distrust other systems of knowledge production. Contemporary propaganda isn’t about convincing someone to believe something, but convincing them to doubt what they think they know. And once people’s assumptions have come undone, who is going to pick them up and help them create a coherent worldview?

We all need somebody to catch us when our worldview collapses. The person or group who is there when we need them the most. What danah digs into is the weaponization of this basic need and the manipulation of the conditions to trigger it.

It’s a long read, but worth your time.

⚓︎
26 Jun 18:10

Is Smalltalk a Functional language? Is Lisp Object-Oriented?

by Eric Normand

Alan Kay says there are only 2 Object Oriented languages that he knows of: Smalltalk and Lisp. The deeper I go into the history of Smalltalk, the more functional Smalltalk looks.

Transcript

Eric Normand: Hi. My name is Eric Normand. These are my thoughts on functional programming. I have kind of a weird topic I want to talk about today. Has to do with Smalltalk and functional programming. The more I read about Smalltalk and its history, what early programs in Smalltalk looked like, the more it strikes me as a very functional language.

The abstractions, the little data structures that people created are defined in a very recursive way. I think the paper…the early history in Smalltalk, there is a linked list that’s created that has a little object that has value and then a pointer to the rest of the list.

The method link is defined by adding one to the link of the next, the rest of the list. All the methods are short like that. It’s just some very simple, concise, code that defines this whole linked list. The whole interface of the linked list including the implementation is a note card with the code.

A number of other things where Alan Kay has said…There is a number of other things that has made me think that when we talk about object-oriented programming, what we now call object-oriented programming has missed the point.

That what Alan Kay tries to emphasize is the stuff that is much more like what I’m calling functional programming. Which is kind of ironic. Alan Kay has said that there are only two object-oriented languages in the world — Smalltalk and Lisp.

Eric Normand profile image
Eric Normand
@ericnormand
twitter logo

Alan Kay has said that there are only 2 object-oriented languages — Smalltalk and Lisp. Lisp isn't traditionally thought of as an object-oriented programming language. Does that mean that our definition of object-oriented programming is different?

ed.gr/vju4

Sat Jan 12 16:03:27 +0000 2019
Twitter reply actionTwitter retweet action3Twitter like action12

Lisp is not traditionally thought of as an object-oriented programming language. Does that mean that our definition of object-oriented programming is just different from his and he is the creator?

Obviously, it is different, but is it that different that he would classify Lisp as object-oriented and almost no one else would? The fact that he has a lot of respect for Lisp as an idea…that he was inspired by Lisp to create Smalltalk.

I think that object-oriented programming and functional programming have a lot more in common than we like to think about. The modern practices of organizing these big classes with lots of immutable state and all that stuff that you would in a job of program.

I think that that is not really what, I’m going to call it true object-oriented programming, is all about. Creating these little abstractions that have little interfaces with nice recursive definitions — which is much more like functional programming — that is what the original definition of object-oriented programming was supposed to be.

I’m going to go and say it, I’m going to say it, Smalltalk is a functional language. If Lisp can be object-oriented then Smalltalk can be functional. That’s my short idea of the moment. I do think that the good practices in both of them converge.

That you should be thinking about making your…like in functional programming we think, you need to have short functions in object-oriented programming. You need to have small objects with short methods.

They all kind of converge onto the same principles. There is just good programming at the end of the day. Now, what’s different is the terminology, the ideas, the practices, the approaches to problem solving. But at the end of the day, good code is good code.

Eric Normand profile image
Eric Normand
@ericnormand
twitter logo

OOP and FP converge onto the same principles. There is just good programming at the end of the day. Now, what’s different is the terminology, the ideas, the practices, the approaches to problem solving. But at the end of the day, good code is good code.

ed.gr/vju9

Tue Jul 03 15:00:54 +0000 2018
Twitter reply actionTwitter retweet action1Twitter like action6

If you’re going to make a small or recursive definition of something that should work in both paradigms.

All right. My name is Eric Normand. This has been a thought on functional programming. A weird one about Smalltalk, functional programming and object-oriented programming. Thank you very much.

I’d love to hear your thoughts on this. If you go to Twitter, I’m @ericnormand. You can also email me, eric@lispcast.com. That’s my email address. Love to hear from my listeners. Please let me know, if you disagree, if you agree, anything.

If you like it, if you don’t like it, let me know. All right. See you then. Bye.

The post Is Smalltalk a Functional language? Is Lisp Object-Oriented? appeared first on LispCast.

26 Jun 17:10

SotD: What a Wonderful World

That’s all, folks. Welcome to the last Song of the Day. I knew pretty early what I wanted it to be, because every extended endeavor should endeavor to end on a high note. And What a Wonderful World fits, albeit indirectly, into the exit theme, worship and reverence.

It is of course, a wonderful world, from my point of view. After all, I’m its apex predator, the product of an evolutionary process that’s extended over most of our fair planet’s lifetime. In effect, I’m specifically the organism that is most well-suited to this particular world. Put another way, this world made us, and we should show reverence towards our Creator. Thank you, thank you, thank you, to Sol, to its third planet, and to the working of the Universe, the platform the evolutionary engine runs on.

Earthrise

Disclosure: Yes, I’m perfectly aware that I exude privilege; as a white male technologist and businessman I’ve played life at the lowest difficulty level since I was a kid, and have been lucky on top of that. Obviously, the world is less wonderful for many. But; I try really hard not to be predatory, and on average it’s still pretty wonderful.

Back to the song: Written in 1967 by Bob Thiele and George David Weiss, both music-biz insiders, it was an international hit for Louis Armstrong, but never really caught on in the States until a decade later. It’s been recorded a few times since, but probably remains Louis’ song in most people’s minds. Which is fair enough, he sang it masterfully.

This is the end of the Song of the Day series (background).

Links

Spotify playlist. This tune on Spotify, iTunes, Amazon. Now, as for live performances, here’s Louis back when the song was new. But I have a problem with that and I blame Miles Davis, who admired Louis but just couldn’t handle his locked-in grin. And now, having read Miles, I can’t ether. So, here’s Esperanza Spalding, of whom I know more or less nothing, but who injects more musical depth into the song than anyone else I know of. Wow!

But having sampled the offerings, I have to admit that, somewhat to my surprise, I find my heart most warmed by mouldy, shaggy old Rod Stewart, who milks the song for every microgram of sentiment while by the way delivering a flawless, perfectly-pitched vocal, obviously having a great time and finding the part of the world he’s occupying just then perfectly wonderful.

Over and out

Thanks to anyone who’s read a few of the blogs and listened to a song or two. Doing this has enriched my life. I regret all the great songs I missed, but not too much. Most people have an internal hit parade, and they should cherish it and share it.

And I think to myself… what a wonderful world.

25 Jun 16:31

Opinion: We need to stop equating WeChat with the Chinese internet

by Tianyu Fang
What if, in the future not far away, there will be no other Chinese app besides WeChat? As China’s provincial governments began to roll out electronic travel papers — for their citizens to travel to Hong Kong — in cooperation with Tencent’s WeChat, I had mixed feelings toward this decision. On one hand, I am […]
24 Jun 18:25

Twitter Favorites: [ReneeStephen] Managers everywhere: "huh, sure am getting a lot of vacation requests for the end of October suddenly. Weird." https://t.co/xRepoxBvxu

Renée Stephen @ReneeStephen
Managers everywhere: "huh, sure am getting a lot of vacation requests for the end of October suddenly. Weird." twitter.com/sillygwailo/st…
24 Jun 18:24

Twitter Favorites: [sonyaellenmann] @sillygwailo you are 100% a cannibal, I know your game!

Sonya 🌐 Mann @sonyaellenmann
@sillygwailo you are 100% a cannibal, I know your game!
24 Jun 18:24

Twitter Favorites: [Planta] I want to do a roundup of political podcasts in BC and/or Vancouver, so I can catch up this summer when I'm on brea… https://t.co/OSXzlNwXm3

Joseph Planta @Planta
I want to do a roundup of political podcasts in BC and/or Vancouver, so I can catch up this summer when I'm on brea… twitter.com/i/web/status/1…
24 Jun 18:19

Photo