Rolandt
Shared posts
You Can’t Depend on Free
Tim Stahmer,
Assorted Stuff,
Jul 10, 2016
After events such as the changes to Evernote or the shut-down of Google Reader we get constant reminders like this one, that we cannot depend on free. That's true. But crucially, we cannot depend on paid, either. Like when I bought iMovie from Apple and the first update eliminated the timeline view of my movies. After that, all it ever did was generate thumbnails. Or how about those people who bought WebCT and Angel, counting on continued service and support. Or closer to home, my Windows 8 was almost forceably updated to Windows 10, which obsoleted my laptop. I could go on and on about how undependable the stuff we pay for is. So undependibility has nothing to do with whether the software is free. It has everything to do with the business model behind the software, free or otherwise.
[Link] [Comment]The face they deserve
If you are interested in how people age, a school reunion is ideal for observations – especially if several decades have passed since graduation. The types are quite distinctive, although since my own recent reunion, I am still puzzling over what the physical changes indicate. However, I am starting to believe that George Orwell was correct when he wrote in his journal that, after forty, everyone has the face they deserve.
In my experience, people tend to age in one of two ways: either they continue to look much the same as ever, or there is a drastic change in them. Very few are anywhere in the middle, and those who are likely to have had major upheavals in their lives. Their bodies, for example, may be similar to what they were when they were young, but a stiffness in their walk may indicate knee replacements, or deep-set lines in their faces a prolonged illness or trauma.
Those who continue to look much the same are often those who take exercise and diet seriously. These people are rather strained – threadbare around the edges is the phrase that comes to mind – but usually move well and seem lightly brushed with age, either mentally or physically.
More often, those who look much the same are heavier set than when they were young, but are still recognizable. They may be bald, or have a limp, but you can easily subtract such incidental changes to see their younger selves beneath, and, once you do, they remain unmistakable. Some of them seemed to have grown into their bodies, so that what what seemed like too large a nose now seems to suit them. If they were clumsy, they have developed, if not a grace, but an appropriateness in their movements. Somehow, they have learned to accept themselves.
In contrast, others look so different that you would never recognize them without a name tag. Often, they have gained considerable weight, as people tend to do as they age because few of us realize that our eating and exercise habits need to change as we age. However, those who greatly changed also tend to be more careless in the way they dress. It is not that they are eccentric so much as they no longer worry about the image they present to the world. To my eye, they seem tired and often colorless
Very occasionally, you do find someone who has changed for the better, but, after several decades, they are the rarest type of all. Often, they have overhauled their lives because of a premature heart attack or some other crisis, becoming slim where they were once chunky, and outgoing where they were shy To be honest, this type often disconcerts me, because I feel that I have never known them at all.
These categories are fairly complete in my experience. However, what I am less certain about is what to make of them. I tend to think that those who look basically the same have been true to their natures, while those who have greatly changed have given up on life, and are preparing to follow the chalk marks on the floor for the rest of their lives.
However, this may be my own prejudice. In theory, those who have greatly changed may have matured, and now please themselves instead of doing what every one expects. Yet judging from their conversation, which is all about retirement and their empty nests, that doesn’t seem to be so. Perhaps Orwell was more accurate than I first imagined.
BlackBerry says keyboard is here to stay
If there is one feature that BlackBerry loyal owners love using it’s the physical QWERTY keyboard, which has deep roots in the history and evolution of smartphones.
Earlier this week, BlackBerry announced it will no longer manufacture the BlackBerry Classic, a device it brought back in 2014 to reinvigorate its customer base. “Sometimes it can be very tough to let go. For BlackBerry, and more importantly for our customers, the hardest part in letting go is accepting that change makes way for new and better experiences,” said BlackBerry in a blog post.
The Classic, which is hailed as “an incredible workhorse device” by the company, can still be purchased with various carrier partners around the world and unlocked through its online store. BlackBerry says it will “actively support BlackBerry 10 with software updates and are on track to deliver version 10.3.3 next month with a second update to follow next year.”
Apart from its commitment to its own operating system, BlackBerry is also showing a commitment to producing handsets, specifically noting it’s “committed to the success of both BlackBerry 10 and Android devices.”
On Twitter, Alex Thurber, BlackBerry’s Senior Vice President for Global Device Sales, stated, “In response to some recent press reports, I want to be clear that BlackBerry users have nothing to fear – the keyboard is here to stay…”
As previously reported, BlackBerry is expected to release three new Android devices in the coming months known by the codename of Neon, Argon, and Mercury.
The 5.2-inch Neon and 5.5-inch Argon are expected to be running Android and come with a touchscreen display. The Mercury is tipped to be available later this year or early next year and sport a physical QWERTY keyboard.
Related reading: BlackBerry hires new executive to help resuscitate device sales
Front Loading Basics
Whenever I think about a typical cycle tourist, I always conjure up an image of a mid-80s steel bike, rear rack loaded to the brim with a stuck-in flag happily waving in the breeze. This is close - Scott touring Sweden in 1993 with Canada flagged panniers on a Rocky Mountain Sirrus:
By the way, Scott's bum bag (fanny pack for us in the Colonies) game is on point. |
It is worth mentioning that the Campeur has lower trail than the majority of production touring bikes. This makes for neutral handling when loaded with no wheel flop and downright lively when lightly loaded or unloaded. Bikes with high trail have more difficulty with a heavier front load due to introduced wheel flop when going into corners.
So let's say your bike is designed to handle a front load well. Why should you front load? First, your rear wheel will thank you. It will be much less susceptible to spoke heads breaking, pinched tubes, and uneven tire wear since your carry weight will be distributed to the front wheel.
Second, when making efforts out of the saddle a front load does not introduce any luggage sway. Standing out of the saddle with a heavy rear load flexes the frame and rack side to side causing the front end to wander, which zaps energy during sustained climbs.
Similarly, during high crosswind conditions a loaded rear end has a tendency to make the front end wander if the front isn't loaded. Solution? A front load bias plants the front end and crosswinds have a drastically diminished effect so you expend less energy keeping straight. This is very different to a deep section front wheel in which the extremely lightweight front end wheel acts as a sail.
Fourth, you can monitor your luggage to ensure everything stays put safely. The last thing you want to happen is to hit a bump and lose your flipflops or worse get something stuck in the rear wheel without noticing.
Lastly, your gear and food is more easily accessible while you're in the saddle. Your handlebar bag is right there, ripe for the rummaging. Grabbing stuff out of the pannier while riding is definitely more of an acquired skill, but it is possible with lots of practice and gumption.
Non-drive side to show the tent setup. |
Which method do you prefer: Front, rear, 4 points? Or are you on the side that says, "People still use racks? It's 2016, get out of the Mesolithic Era!"
Apple Releases iOS 10 Public Beta
Joanna Stern reports for the Wall Street Journal (subscription required) that Apple has released the public beta of iOS 10. Apple released a beta version of iOS 10 to developers at WWDC on June 13, 2016. At the time, Apple promised a public beta of iOS 10 would be released in July. A second beta was issued to developers just this past Tuesday. Today, Apple made good on it’s WWDC promise by releasing a public beta of iOS 10 that is available for anyone to download.
However, just because you can download the iOS 10 beta doesn’t mean you should, especially on your primary device. The consensus among people who have tried the first two developer betas seems to be that it is more stable than most early iOS betas, but it still has many bugs and there is no guaranty that your third-party apps will work properly. Nor is it easy to roll back to iOS 9.3 if you have second thoughts after installing iOS 10.
With iOS 10, Apple has made significant changes to notifications and Today widgets, redesigned the Music app, added features to Photos and Messages, and much more. For a complete run-down of what’s new in iOS 10, check out Alex Guyot’s coverage for MacStories during WWDC.
→ Source: wsj.com
Apple Release macOS Sierra Beta
According to the Wall Street Journal (subscription required), in addition to the release of the iOS 10 public beta, Apple released the public beta of macOS Sierra today. As with the iOS 10 beta, it is not advisable to install the Sierra beta on your primary Mac’s drive. Of course, if you decide to download Sierra beta anyway, be sure to back up your data. You can sign up to get access to the Sierra beta at beta.apple.com.
Among other things, Sierra adds Siri to the Mac, Apple Pay on certain websites accessed with Safari, enhancements to Photos, a Universal Clipboard that works between iOS devices and Macs, and Auto Unlock of your Mac with your Apple Watch instead of a password, which requires you also run the iOS 10 and watchOS 3 betas. For more coverage of what’s new in macOS Sierra check out our WWDC coverage.
→ Source: wsj.com
Waiting to be Brexited: Today’s Story
Just in time for the Province’s release of foreign-ownership data, here’s an international story just today that makes it clear how volatile the issue is becoming – and waiting for a flashpoint.
After Canada’s ugly episode of racism in the early 20th century, Vancouverites feel uneasy talking about how this beautiful but unassuming city became one of the least affordable in the world: an unprecedented flood of Chinese capital. …
The lessons of the past go some way to explaining Vancouver’s almost religious embrace of multiculturalism, says David Ley, a UBC geography professor and wealth migration expert. “I think it’s very much part of the Canadian psyche to want to avoid these discussions,” he says. “We’re a polite and tolerant society that has been thoroughly schooled in the virtues of multiculturalism.”
Unfortunately, this also amplifies the uneasiness around the affordability discussion.“It’s frustrating,” says Justin Fung, an activist with Housing Action for Local Taxpayers, a local advocacy group. “[The crisis] is a policy issue, it’s a social justice issue, and up until now, everyone is saying, ‘We’re nice, we can’t talk about this.’ Well, if you can’t even talk about where the money is coming from, you can’t do anything about it.”
My Air Canada United experience
I am going to Chicago tomorrow. Following the advice given on the documents I printed off from the Air Canada booking I made, I went to the Air Canada web site to check in, using my Air Canada booking reference. The documents warn that the flight is a code share with United but nowhere do they inform me of the United flight number or, even more importantly, the booking reference used by United, which is different from the one given me by Air Canada. Both airlines are members of the Star Alliance, but apparently the degree of integration between Alliance members is far from complete, or even adequate. I wait on hold for someone from Customer Care listening to AC tell me all the exciting things I could be doing instead of listening to the adverts.
When I finally get through I am given the United booking code, and the person I am talking to even waits while I use that to log in to United’s check in on line. Once I know that has recognized me, I hang up, and start re-entering the information about my booking that the booking reference ought to have provided and then go through the on line check in process. Now I know that they do like people to use their app and get the boarding pass sent to their cell phones, but since I am not a United frequent flyer I am not really happy with that process. I have used cell phones for such things in the past and frankly the paper document seems to be much more likely to work first time with most gate readers. Though even then I have stood and watched while gate attendants type in my data manually. So I opt to print my boarding pass at home.
No, that won’t be possible. In fact, I get a message to tell me that I am not actually checked in. United says that it doesn’t have my passport number on file. So until a United representative can actually see my passport or I use the self service check in at the airport to scan my passport, I cannot have a boarding pass.
If United actually kept track of who flies on its planes, this might have been avoided. Since I have flown United. In fact my family has a store of United stories. Most recently I flew to New Orleans, via Chicago, on United: that was in May last year. So I would have used my current passport then: and none of my information has changed since. But, once again, because I am not a United Frequent Flyer I get treated like a second class citizen.
I used to think that maybe the treatment I got on United was something to do with how much I paid for the flight. Perhaps there is indeed even more market segmentation that is apparent from their loading preferences. Since my outbound flight on United to New Orleans was so grim, I actually upgraded to “better” seat for the return journey. That seat was actually in the row in front of the emergency exit, and would not recline. I cannot imagine how United could justify charging me the higher price for that seat and no-one has ever even tried to.
There is now a direct Air Canada flight between Vancouver and Chicago – though not at a time which I find acceptable. United, of course, will grimly hang on to its gate slots. There are clearly differences between allies and the extent of their co-operation is limited.
I remember a time when flying was enjoyable. When the journey was a fun part of the trip. When the skies were actually friendly.
POSTSCRIPT After posting this I heard from AirCanada on Twitter – who prefer to keep their conversations with customers private by using Direct Messages. Which I shall respect. But I will note that this DM thread extended back to last year, and I saw then that I raised exactly the same issue. I thought then that it had something to do with me paying for the flight with AirMiles, who of course handled the booking. I had rather expected that if I booked through Air Canada this time the experience would be different. I was wrong about that. I also think the problem lies with United and not Air Canada. I have never had any contact from United other than speaking to their employees during my travels.
Filed under: Transportation
Fujifilm Launches X-T2
Rolandtj
Why launch today? 7/7 baby. Lucky numbers for sure.
Fujifilm today launched the much leaked and long rumored X-T2. In many ways, the new camera incorporates the changes Fujifilm made with the X-Pro2 over the X-Pro1, but in the X-T1 package. …
[D&B 28] The hidden benefits of friction. Why your friends...
[D&B 28] The hidden benefits of friction. Why your friends have more friends than you do. Dead sexy slippers. p.s. we’re on Medium now, too.
Provincial Data on Foreign Nationals Property Purchases
The Sun reports on the just-completed media conference by Finance Minister Mike De Jong:
Main findings include, between June 10 and June 29, 2016:
- 10,148 residential real estate transactions in B.C., totalling more than $7.6 billion.
- 337 transactions (3.3%) involved foreign nationals, worth $390 million (5.1%).
- In Metro Vancouver, there were 5,118 transactions worth nearly $5.4 billion, of which260 involved foreign nationals (5.1%), worth $351 million (6.5%)
- In the City of Vancouver, there were 1,139 transactions, totalling more than $1.6 billion. 47 of these involved foreign nationals (4.1%), worth $64 million (3.9%).
Source: B.C. Government
PT: From watching the conference, one thing was clear: after years of stonewalling, the Liberals finally understood the political imperative of getting information, getting it out and getting some policy response for a very pissed-off public.
UPDATE: From Business in Vancouver:
A provincial government statement that only 3% of B.C. residential sales are made to foreign buyers and that Chinese nationals represent just 2.5% of Metro Vancouver home buyers drew rolling eyeballs and laughter at the packed July 7 Asia Real Estate Association of America (AREAA) conference in downtown Vancouver.
“No. Absolutely not,” said an incredulous Byron Burley, Shanghai-based vice-president of Chinese-language juwaii.com, China’s largest foreign residential real estate search engine. “It is way, way higher than that.” Burley noted that millions of Chinese nationals use his site, which has from 3,000 to 5,000 residential listings from B.C. at any time.
The improbable rise of Jeremy Corbyn
So far this week, Jeremy Corbyn has caused over 100,000 new members to join the UK Labour Party he leads, has apologized for a war he opposed from the beginning and appears to have survived a coup attempt on his leadership. And despite his backstabbing MPs, he’s one of the few party leaders left standing after the Brexit referendum.
Given all this mayhem on the British political scene, I figured it would be a good time to speak with the writer Richard Seymour, author of the recently-released Corbyn: The Strange Rebirth of Radical Politics. Richard regularly publishes in major UK and international media; his previous books include Against Austerity, Unhitched, and The Liberal Defense of Murder. He’s long been one of the best voices on British politics on the left.
Our conversation focused on the roots of Corbyn’s sudden rise to power, both within the Labour Party and politics in the UK more broadly, the failure of today’s Blairite coup plotters and the prospects of a long-term shift in ideology effected by Corbynism.
What’s Up with SUMO – 7th July
Hello, SUMO Nation!
Welcome to the hot-hot-hot July! Wherever you are, remember – don’t melt! It’s a bit hard to achieve that over here (air conditioning only gets you so far), so I hope you’ll have an easier challenge on your side. Speaking of hotness – here are the red-hot-
Welcome, new contributors!
If you just joined us, don’t hesitate – come over and say “hi” in the forums!
Contributors of the week
- The forum supporters who helped users out for the last week.
- The writers of all languages who worked on the KB for the last week.
- wxie2016 (our new Chinese Reviewer) and yfdyh000 (our new Chinese Locale Leader) for their solid contributions to the Chinese KB – thaaaaaaaaaank you!
We salute you!
Most recent SUMO Community meeting
-
You can read the notes here and see the video at AirMozilla.
The next SUMO Community meeting…
- …is happening on the 13th of July!
-
If you want to add a discussion topic to the upcoming meeting agenda:
- Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Wednesday (this will make it easier to have an efficient meeting).
- Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
- If you can, please attend the meeting in person (or via IRC), so we can follow up on your discussion topic during the meeting with your feedback.
Community
-
PLATFORM REMINDER & UPDATE! The Platform Meetings are BACK! If you missed the previous ones, here is the etherpad, with links to the recordings on AirMo. We are closing the sandbox preview – huge thanks to everyone who had the time to take a look around and provide feedback!
- The sandbox is now closed and we’re moving towards discussing more (non-)technical details of a potential migration to Lithium.
- Different approaches to making l10n work in Lithium have been discussed – next week, we will hopefully know more about the option of using Pontoon with Lithium. The initial plan is to roll out an “out of the box” solution with low-level customizations to make it easy for localizers to continue working on the KB.
-
POST-LONDON WORK WEEK UPDATE:
- A second Show & Tell post coming your way… Have you already read the first one?
- Heads up! The Release Report for Firefox 47 is almost here!
-
FINAL REMINDER: help us shape and improve Mozilla’s brand!
- https://blog.mozilla.org/opendesign
- https://medium.com/mozilla-branding
- To quote Tim Murray: We are now open for feedback on these 7 themes—and for new theme ideas covering anything that might be missing—through the comments section of the blog, on Medium, or directly to me or Janis Greenspan. Now’s the time to add your voice.
- Ongoing reminder #1: if you think you can benefit from getting a second-hand device to help you with contributing to SUMO, you know where to find us.
- Ongoing reminder #2: we are looking for more contributors to our blog. Do you write on the web about open source, communities, SUMO, Mozilla… and more? Do let us know!
- Ongoing reminder #3: want to know what’s going on with the Admins? Check this thread in the forum.
Social
- Thanks for rocking Twitter last month, people!
- Also, shout outs to our Brazillian community for their general awesomeness!
- Ongoing reminder: We have a training out there for all those interested in Social Support – talk to Madalina or Costenslayer on #AoA (IRC) for more information.
Support Forum
Knowledge Base & L10n
- Please take a minute to read the great report from the Telugu l10ns, as lead by Dinesh!
- Even more awesomeness from Riri in Indonesia! A report from the very first SUMO sprint in the MozSpace in Jakarta!
- We are going to experiment with Trello boards for organizing l10n community plans around SUMO until the end of this year:
- FINAL REMINDER: Firefox for iOS articles are waiting for L10N. Get to it, l10ns!
- Reminder: L10n hackathons everywhere! Find your people and get organized! If you have questions about joining, contact your global locale team.
- This week Mozilla l10ns are roaring proudly in Ljubljana. Follow Jeff on Twitter for general live coverage.
Firefox
-
for Android
- Version 48 is still on track for release on August 2nd.
-
for Desktop
- Version 47 support discussion thread.
- Version 48 also on track for August 2nd release.
-
for iOS
- 5.0 has been slightly delayed yet again, but we’re expecting a launch next week, for sure!
- Remember, it will be a big update – don’t forget the articles for it are ready to be localized!
So… Are you still following the Euro 2016 cup games? Are you watching cool movies? Know some great music that you think we should all know about? Tell us in our forums!
University websites: The so-so, the bad, and the egregious
Melonie Fullick,
University Affairs,
Jul 10, 2016
It's a pretty easy way to write a story: ask the Twitterverse a question, and then write about the responses. Of course you have to have a Twitterverse to make this work (my network of some 8500 followers is probably too small) and your qquestion has to touch a nerve. And this question touched a nerve: "why are university websites often terrible?" The article lists a number of common deficiencies (such as bad menus) and the oft-observed fact that "site structure reflects what the institution thinks is important, not what site users actually want to know." As well, there is a "conflation of promotional and informational material and approaches." But does this really get to the question of why they are so bad? Not really. Image: XKCD.
[Link] [Comment]Bridging The Political [Polygons] Gap with ggplot2
The @pewresearch folks have been collecting political survey data for quite a while, and I noticed the visualization below referenced in a Tableau vis contest entry:
Those are filled frequency polygons, which are super-easy to replicate in ggplot2, especially since Pew even kind of made the data available via their interactive visualization (it’s available in other Pew resources, just not as compact). So, we can look at all 5 study years for both the general population and politically active respondents with ggplot2
facets, incorporating the use of V8
, dplyr
, tidyr
, purrr
and some R spatial functions along the way.
The first code block has the “data”, data transformations and initial plot code. The “data” is really javascript blocks picked up from the view-source:
of the interactive visualization. We use the V8
package to get this data then bend it to our will for visuals.
library(V8)
library(dplyr)
library(tidyr)
library(purrr)
library(ggplot2) # devtools::install_github("hadley/ggplot2)
library(hrbrmisc) # devtools::install_github("hrbrmstr/hrbrmisc)
library(rgeos)
library(sp)
ctx <- v8()
ctx$eval("
var party_data = [
[{
name: 'Dem',
data: [0.57,1.60,1.89,3.49,3.96,6.56,7.23,8.54,9.10,9.45,9.30,9.15,7.74,6.80,4.66,4.32,2.14,1.95,0.87,0.57,0.12]
},{
name: 'REP',
data: [0.03,0.22,0.28,1.49,1.66,2.77,3.26,4.98,5.36,7.28,7.72,8.16,8.86,8.88,8.64,8.00,6.20,5.80,4.87,4.20,1.34]
}],
[{
name: 'Dem',
data: [1.22,2.78,3.28,5.12,6.15,7.77,8.24,9.35,9.73,9.19,8.83,8.47,5.98,5.17,3.62,2.87,1.06,0.75,0.20,0.15,0.04]
}, {
name: 'REP',
data: [0.23,0.49,0.65,2.23,2.62,4.06,5.02,7.53,7.70,7.28,7.72,8.15,8.87,8.47,7.08,6.27,4.29,3.99,3.54,2.79,1.03]
}],
[{
name: 'Dem',
data: [2.07,3.57,4.21,6.74,7.95,8.41,8.58,9.07,8.98,8.46,8.47,8.49,5.39,3.62,2.11,1.98,1.00,0.55,0.17,0.17,0.00]
}, {
name: 'REP',
data: [0.19,0.71,1.04,2.17,2.07,3.65,4.92,7.28,8.26,9.64,9.59,9.55,7.91,7.74,6.84,6.01,4.37,3.46,2.09,1.65,0.86]
}],
[{
name: 'Dem',
data: [2.97,4.09,4.28,6.65,7.90,8.37,8.16,8.74,8.61,8.15,7.74,7.32,4.88,4.82,2.79,2.07,0.96,0.78,0.41,0.29,0.02]
}, {
name: 'REP',
data: [0.04,0.21,0.28,0.88,1.29,2.64,3.08,4.92,5.84,6.65,6.79,6.92,8.50,8.61,8.05,8.00,7.52,7.51,5.61,4.17,2.50]
}],
[{
name: 'Dem',
data: [4.81,6.04,6.57,7.67,7.84,8.09,8.24,8.91,8.60,6.92,6.69,6.47,4.22,3.85,1.97,1.69,0.66,0.49,0.14,0.10,0.03]
}, {
name: 'REP',
data: [0.11,0.36,0.49,1.23,1.35,2.35,2.83,4.63,5.09,6.12,6.27,6.41,7.88,8.03,7.58,8.26,8.12,7.29,6.38,5.89,3.34]
}],
];
var party_engaged_data = [
[{
name: 'Dem',
data: [0.88,2.19,2.61,4.00,4.76,6.72,7.71,8.45,8.03,8.79,8.79,8.80,7.23,6.13,4.53,4.31,2.22,2.01,1.05,0.66,0.13]
}, {
name: 'REP',
data: [0.00,0.09,0.09,0.95,1.21,1.67,2.24,3.22,3.70,6.24,6.43,6.62,8.01,8.42,8.97,8.48,7.45,7.68,8.64,7.37,2.53]
}],
[{
name: 'Dem',
data: [1.61,3.35,4.25,6.75,8.01,8.20,8.23,9.14,8.94,8.68,8.46,8.25,4.62,3.51,2.91,2.63,1.19,0.74,0.24,0.17,0.12]
},{
name: 'REP',
data: [0.21,0.38,0.68,1.62,1.55,2.55,3.99,4.65,4.31,5.78,6.28,6.79,8.47,9.01,8.61,8.34,7.16,6.50,6.10,4.78,2.25]
}],
[{
name: 'Dem',
data: [3.09,4.89,6.22,9.40,9.65,9.20,8.99,6.48,7.36,7.67,6.95,6.22,4.53,3.79,2.19,2.02,0.74,0.07,0.27,0.27,0.00]
}, {
name: 'REP',
data: [0.29,0.59,0.67,2.11,2.03,2.67,4.12,6.55,6.93,8.42,8.79,9.17,7.33,6.84,7.42,7.25,6.36,5.32,3.35,2.57,1.24]
}],
[{
name: 'Dem',
data: [6.00,5.24,5.11,7.66,9.25,8.25,8.00,8.09,8.12,7.05,6.59,6.12,4.25,4.07,2.30,1.49,0.98,0.80,0.42,0.16,0.06]
}, {
name: 'REP',
data: [0.00,0.13,0.13,0.48,0.97,2.10,2.73,3.14,3.64,5.04,5.30,5.56,6.87,6.75,8.03,9.33,11.01,10.49,7.61,6.02,4.68]
}],
[{
name: 'Dem',
data: [9.53,9.68,10.35,9.33,9.34,7.59,6.67,6.41,6.60,5.21,4.84,4.47,2.90,2.61,1.37,1.14,0.73,0.59,0.30,0.28,0.06]
}, {
name: 'REP',
data: [0.15,0.11,0.13,0.46,0.52,1.18,1.45,2.46,2.84,4.15,4.37,4.60,6.36,6.66,7.34,9.09,11.40,10.53,10.58,9.85,5.76]
}],
];
")
years <- c(1994, 1999, 2004, 2001, 2014)
# Transform the javascript data -------------------------------------------
party_data <- ctx$get("party_data")
map_df(1:length(party_data), function(i) {
x <- party_data[[i]]
names(x$data) <- x$name
dat <- as.data.frame(x$data)
bind_cols(dat, data_frame(x=-10:10, year=rep(years[i], nrow(dat))))
}) -> party_data
party_engaged_data <- ctx$get("party_engaged_data")
map_df(1:length(party_engaged_data), function(i) {
x <- party_engaged_data[[i]]
names(x$data) <- x$name
dat <- as.data.frame(x$data)
bind_cols(dat, data_frame(x=-10:10, year=rep(years[i], nrow(dat))))
}) -> party_engaged_data
# We need it in long form -------------------------------------------------
gather(party_data, party, pct, -x, -year) %>%
mutate(party=factor(party, levels=c("REP", "Dem"))) -> party_data_long
gather(party_engaged_data, party, pct, -x, -year) %>%
mutate(party=factor(party, levels=c("REP", "Dem"))) -> party_engaged_data_long
# Traditional frequency polygon plots -------------------------------------
gg <- ggplot()
gg <- gg + geom_ribbon(data=party_data_long,
aes(x=x, ymin=0, ymax=pct, fill=party, color=party), alpha=0.5)
gg <- gg + scale_x_continuous(expand=c(0,0), breaks=c(-8, 0, 8),
labels=c("Consistently\nliberal", "Mixed", "Consistently\nconservative"))
gg <- gg + scale_y_continuous(expand=c(0,0), limits=c(0, 12))
gg <- gg + scale_color_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + guides(color="none", fill=guide_legend(override.aes=list(alpha=1)))
gg <- gg + scale_fill_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + facet_wrap(~year, ncol=2, scales="free_x")
gg <- gg + labs(x=NULL, y=NULL,
title="Political Polarization, 1994-2014 (General Population)",
caption="Source: http://www.people-press.org/2014/06/12/section-1-growing-ideological-consistency/iframe/")
gg <- gg + theme_hrbrmstr_an(grid="")
gg <- gg + theme(panel.margin=margin(t=30, b=30, l=30, r=30))
gg <- gg + theme(legend.position=c(0.75, 0.1))
gg <- gg + theme(legend.direction="horizontal")
gg <- gg + theme(axis.text.y=element_blank())
gg
gg <- ggplot()
gg <- gg + geom_ribbon(data=party_engaged_data_long,
aes(x=x, ymin=0, ymax=pct, fill=party, color=party), alpha=0.5)
gg <- gg + scale_x_continuous(expand=c(0,0), breaks=c(-8, 0, 8),
labels=c("Consistently\nliberal", "Mixed", "Consistently\nconservative"))
gg <- gg + scale_y_continuous(expand=c(0,0), limits=c(0, 12))
gg <- gg + scale_color_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + guides(color="none", fill=guide_legend(override.aes=list(alpha=1)))
gg <- gg + scale_fill_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + facet_wrap(~year, ncol=2, scales="free_x")
gg <- gg + labs(x=NULL, y=NULL,
title="Political Polarization, 1994-2014 (Politically Active)",
caption="Source: http://www.people-press.org/2014/06/12/section-1-growing-ideological-consistency/iframe/")
gg <- gg + theme_hrbrmstr_an(grid="")
gg <- gg + theme(panel.margin=margin(t=30, b=30, l=30, r=30))
gg <- gg + theme(legend.position=c(0.75, 0.1))
gg <- gg + theme(legend.direction="horizontal")
gg <- gg + theme(axis.text.y=element_blank())
gg
It provides a similar effect to the Pew & Interworks visuals using alpha transparency to blend the point of polygon intersections. But I really kinda like the way both Pew & Interworks did their visualizations without alpha blending yet still highlighting the intersected areas. We can do that in R as well with a bit more work by:
- grouping each data frame by year
- turning each set of points (Dem & Rep) to R polygons
- computing the intersection of those polygons
- turning that intersection back into a data frame
- adding this new polygon to the plots while also removing the alpha blend
Here’s what that looks like in code:
# Setup a function to do the polygon intersection -------------------------
polysect <- function(df) {
bind_rows(data_frame(x=-10, pct=0),
select(filter(df, party=="Dem"), x, pct),
data_frame(x=10, pct=0)) %>%
as.matrix() %>%
Polygon() %>%
list() %>%
Polygons(1) %>%
list() %>%
SpatialPolygons() -> dem
bind_rows(data_frame(x=-10, pct=0),
select(filter(df, party=="REP"), x, pct),
data_frame(x=10, pct=0)) %>%
as.matrix() %>%
Polygon() %>%
list() %>%
Polygons(1) %>%
list() %>%
SpatialPolygons() -> rep
inter <- gIntersection(dem, rep)
inter <- as.data.frame(inter@polygons[[1]]@Polygons[[1]]@coords)[c(-1, -25),]
inter <- mutate(inter, year=df$year[1])
inter
}
# Get the intersected area ------------------------------------------------
group_by(party_data_long, year) %>%
do(polysect(.)) -> general_sect
group_by(party_engaged_data_long, year) %>%
do(polysect(.)) -> engaged_sect
# Try the plots again -----------------------------------------------------
gg <- ggplot()
gg <- gg + geom_ribbon(data=party_data_long,
aes(x=x, ymin=0, ymax=pct, fill=party, color=party))
gg <- gg + geom_ribbon(data=general_sect, aes(x=x, ymin=0, ymax=y), color="#666979", fill="#666979")
gg <- gg + scale_x_continuous(expand=c(0,0), breaks=c(-8, 0, 8),
labels=c("Consistently\nliberal", "Mixed", "Consistently\nconservative"))
gg <- gg + scale_y_continuous(expand=c(0,0), limits=c(0, 12))
gg <- gg + scale_color_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + guides(color="none", fill=guide_legend(override.aes=list(alpha=1)))
gg <- gg + scale_fill_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + facet_wrap(~year, ncol=2, scales="free_x")
gg <- gg + labs(x=NULL, y=NULL,
title="Political Polarization, 1994-2014 (General Population)",
caption="Source: http://www.people-press.org/2014/06/12/section-1-growing-ideological-consistency/iframe/")
gg <- gg + theme_hrbrmstr_an(grid="")
gg <- gg + theme(panel.margin=margin(t=30, b=30, l=30, r=30))
gg <- gg + theme(legend.position=c(0.75, 0.1))
gg <- gg + theme(legend.direction="horizontal")
gg <- gg + theme(axis.text.y=element_blank())
gg
gg <- ggplot()
gg <- gg + geom_ribbon(data=party_engaged_data_long,
aes(x=x, ymin=0, ymax=pct, fill=party, color=party))
gg <- gg + geom_ribbon(data=engaged_sect, aes(x=x, ymin=0, ymax=y), color="#666979", fill="#666979")
gg <- gg + scale_x_continuous(expand=c(0,0), breaks=c(-8, 0, 8),
labels=c("Consistently\nliberal", "Mixed", "Consistently\nconservative"))
gg <- gg + scale_y_continuous(expand=c(0,0), limits=c(0, 12))
gg <- gg + scale_color_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + guides(color="none", fill=guide_legend(override.aes=list(alpha=1)))
gg <- gg + scale_fill_manual(name=NULL, values=c(Dem="#728ea2", REP="#cf6a5d"),
labels=c(Dem="Democrats", REP="Republicans"))
gg <- gg + facet_wrap(~year, ncol=2, scales="free_x")
gg <- gg + labs(x=NULL, y=NULL,
title="Political Polarization, 1994-2014 (Politically Active)",
caption="Source: http://www.people-press.org/2014/06/12/section-1-growing-ideological-consistency/iframe/")
gg <- gg + theme_hrbrmstr_an(grid="")
gg <- gg + theme(panel.margin=margin(t=30, b=30, l=30, r=30))
gg <- gg + theme(legend.position=c(0.75, 0.1))
gg <- gg + theme(legend.direction="horizontal")
gg <- gg + theme(axis.text.y=element_blank())
gg
Without much extra effort/work we now have what I believe to be a more striking set of visuals. (And, I should probably makes a points_to_spatial_polys()
convenience function.)
You’ll find the “overall” group data as well as the party median values in the Pew HTML source code if you want to try to fully replicate their visualizations.
Continuous, a C# and F# IDE for the iPad
This is bloody amazing. After I catch up on my sleep, I fully intend to spend part of the weekend tinkering with it.
One of the most interesting things about Continuous is that it features a port of the Roslyn compiler – you can check out Frank’s blog post for a little more info.
Bike Lanes and Commercial Drive-Cyclegeddon?
That title is sure to conjure up all kinds of images. As part of the City of Vancouver’s cycling network upgrades for years 2016-2020, the City is proposing a dedicated buffered bike lane on Commercial Drive. Some people think that championing Vancouver’s Commercial Drive as a biking and walking street will reinforce the friendly, neighbourly vibe The Drive is so well-known for. Others, like The Drive’s Business Society fear the death of retailing by cyclegeddon.
The executive director of the Commercial Drive Business Society has written a compelling statement clearly stating that in the society’s view, bike lanes on Commercial are not financially sound for their businesses.
“Recently, businesses along The Drive have been working with the City of Vancouver to update the area’s transportation infrastructure. The dynamics of the city are changing and with that, the way we get around must adapt. Recently, however, the City has been aggressively pushing a strategy that we cannot support – the installation of permanent bicycle lanes on Commercial Drive itself.
For the record, businesses on The Drive support enhanced infrastructure for cyclists in Vancouver. Many of our business owners are cyclists themselves, as are our customers and our employees. We recognize that thanks to organizations like HUB and Mobi, cycling is on the rise…
What we cannot support, however, are permanent and blocked off lanes on an already narrow high street, with limited parking and no room for our vendors to make deliveries as is.”
So there you have it. The issue is access to parking (and a lack of dedicated parking facilities) for people arriving by car, and deliveries servicing the businesses. As the Business Society summarizes “After all it is called The Drive for a reason”.
Commercial Drive merchants have not yet felt the tipping point where walkers, bikers and transit riders visit more often and spend more per month than people arriving by car. But that has been the experience of the City of Toronto and the City of New York when walking and biking facilities are expanded in commercial areas and car facilities minimized.
Price Tags editor Ken Ohrn examined the changing attitudes to biking and commercial areas in this June post, and also referred to the thorough Stantec Business Impact Study of downtown bike lanes from 2011. Let’s hope the Commercial Drive’s Business Society gives it a read.
"It is ridiculous that the United States is one of the only nations of our size and scope in the..."
- Amy Webb, cited by Farhad Manjoo in Why We Need to Pick Up Alvin Toffler’s Torch
@stoweboyd
The rent control debate can be viewed as a microcosm of the debate about globalization and international trade https://t.co/Ko4Lpv3uM2
— Stowe Boyd (@stoweboyd) July 3, 2016
@stoweboyd
Life isn’t just about money, and jobs aren’t just about income. – Neil Irwin https://t.co/Ko4Lpv3uM2
— Stowe Boyd (@stoweboyd) July 3, 2016
@stoweboyd
Singapore Airlines has unveiled a new bidding system: economy-class flyers can bid for a seat in premium economy https://t.co/UGhCnocJDr
— Stowe Boyd (@stoweboyd) July 5, 2016
@stoweboyd
The future doesn’t stop coming just because you stop planning for it–Farhad Manjoo https://t.co/jqKp4FPZiz
— Stowe Boyd (@stoweboyd) July 7, 2016
do-you-have-a-flag: technology related sensory memories from my childhood sliding the metal cover...
technology related sensory memories from my childhood
- sliding the metal cover on floppy disks
- the slight resistance of inserting cassette and video tapes
- ripping off the strips of holed paper off of dot matrix printer paper
- rolling the wheel on a disposable camera to take another photo
Sanders confirms endorsement chatter
Bernie Sanders confirmed on Wednesday night that he is in discussions with the Hillary Clinton campaign about a potential endorsement of her candidacy, adding that he anticipates a “coming together” of the two campaigns.
Appearing on MSNBC’s “All In With Chris Hayes,” Sanders was pointedly asked whether mounting reports that he is finally getting ready to endorse his longstanding Democratic primary rival had any validity.
“You’re not denying the report that there are talks about a possible endorsement?” Hayes said.
Sanders replied: “That’s correct.”
Read more here
Twitter Favorites: [carlylewis] regarding the subject of untalented men earning money and bylines for their pitiable fantasies about famous women... https://t.co/7SbV8L67zd
regarding the subject of untalented men earning money and bylines for their pitiable fantasies about famous women... thewalrus.ca/boys/