Shared posts

13 Mar 03:20

Apple's Strategy for Controlling Sound

by Neil Cybart

September 2016 marked the start of Apple's latest battle in what has been a multi-decade war. This newest battle was going to look and sound different. Apple had unveiled new iPhones lacking dedicated headphone jacks. The controversial move was criticized by many as a sign of Apple going too far in flexing its power and killing off legacy technologies for the sake of change. However, Apple's move wasn't about headphone jacks or even iPhones. Apple had made a big bet regarding the future of "sound on the go," and headphone wires were the enemy. We now see Apple unveiling its revised strategy for controlling sound in the home. The best way to analyze products like AirPods and HomePod is to look at them as the latest weapons in Apple's battle for controlling sound in our lives. 

The Strategy

Apple's motivation in controlling sound is based on delivering impactful and memorable user experiences. Accordingly, music has played a fundamental role in Apple's sound strategy for the past two decades. Listening to a particular song can mentally remove someone from his or her surroundings. Music is one of the few things capable of fostering such strong emotional connections and experiences. It's a safe bet to assume music will be around for a very long time while music consumption will remain a key task handled by our computing devices. 

There are two parts to Apple's strategy for controlling sound:

  1. Sound on the Go
  2. Sound in the Home

Sound on the Go

Apple is no stranger to selling devices designed to deliver sound. However, the iPod marked the beginning of Apple's quest to control sound on the go. Positioned as a "breakthrough digital device," the iPod changed the way we consumed music on the go, offering a much better experience than existing mobile listening options at the time. In what is now difficult to comprehend, the iPod effectively put an end to not being able to have your entire music library in your pocket. 

The first iPod commercial highlighted the device's mobility as the user danced around his house while listening to music via iPod and white earbuds. The kicker was found at the end as he stepped outside the four confined walls of his home and into the outside world without missing a beat. The iPod was about consuming sound not just around the home, but more importantly, outside the home. 

Over the subsequent years, Apple went on to unveil a number of different iPods, some of which turned out to be more popular than others. However, Apple was just getting started when it came to controlling sound on the go. Sensing that the iPod's long-term threat was found with people listening to music on smartphones, Apple began work on a much more ambitious product: iPhone.

As seen in Exhibit 1, the iPhone changed the course of Apple's sound on the go strategy. While the iPod was thought to be Apple's first mass-market product, the iPhone went on to redefine what it meant to be truly mass market. When Apple unveiled iPhone, the company was selling 50M iPods per year. Apple is currently selling 215M iPhones per year. Even though iPhone was much more than a dedicated music player, Apple never let go of its deep interest in music. 

Exhibit 1: Apple "Sound on the Go" Devices Unit Sales (iPod and iPhone) 

Screen Shot 2018-03-06 at 4.25.26 PM.png

AirPods mark the latest step in Apple's sound on the go strategy. The device is born out of the belief that there isn't a place for wires in a wearables world. AirPods were initially criticized for their unusual looks, but those concerns have quickly disappeared. Whereas wireless AirPods may have looked odd to some, having wires hanging out of people's ears will eventually look out of place. 

Based on sales, AirPods have been a resounding success. According to my estimate, Apple sold approximately 11M pairs of AirPods in 2017. This positions the device as the third best-selling Apple product out of the gate, behind iPad and Apple Watch. 

Exhibit 2: AirPods Unit Sales

AirPods sales momentum is poised to continue over the next few years. As Apple Watch achieves greater independency from iPhone, AirPods will play a crucial role in delivering sound to tens of millions of Apple Watch users. Apple will reportedly unveil updated AirPods later this year. The runway for AirPods is long with a list of potential features that could include everything from health tracking to noise cancelling and augmented hearing. The big question found with future AirPods is, which features will get the green light? Apple is also rumored to unveil new noise-cancelling, over-ear headphones in a move suggestive of Apple expanding its line of wireless headphones.

Sound in the Home

It's easy to look at HomePod as Apple's foray into controlling sound in the home. In reality, the company's sound in the home strategy started with a whimper in 2006 with the iPod Hi-Fi speaker. The speaker was tasked with reinventing the home stereo for the iPod age by being positioned as a companion product to iPod. Apple ended up pulling the plug on the device after just 19 months of sales. 

Twelve years later, Apple is giving sound in the home another try with HomePod. There are key differences in strategy this time around. Whereas iPod Hi-Fi was meant to enhance the iPod and iTunes ecosystem, HomePod and its A8 chip are being given a more ambitious goal of reinventing sound in the home by bringing computational audio to the masses. HomePod scans the room it's located in and then tailors sound output to that room. However, Apple isn't using computational audio to underpin its initial HomePod marketing campaign. Instead, Apple is relying on emotion, a page taken directly from the iPod, iPhone, and even AirPods playbooks. The latest HomePod "ad," a 4-minute film directed by Spike Jonze, is striking in theatrics. However, the thing that instantly jumped out to me about the video is how similar it is to the original iPod ad.

In both, we see people enjoying music using Apple devices.  While one is listening to an iPod to get him pumped up to leave the house and experience the outside world, the other is listening to HomePod after coming home following a tough day. In both examples, the people lose themselves in the music experience produced by an Apple device. 

Apple Music and Beats

Instead of being a revenue or profit driver, Apple Music serves as the glue in Apple's quest to control sound. While Apple's Beats acquisition was driven by music streaming and buying into Jimmy Iovine's overall music vision, Apple probably didn't mind getting a popular headphones brand in Beats. It's not as if Apple was unfamiliar with the power found with headphones (not to mention the branding opportunity). 

The fact that Apple kept the Beats brand for headphones speaks to how Beats headphones are likely serving a different target market. In fact, Apple has positioned Beats headphones as a compliment to AirPods. This has likely gone a long way in removing the oxygen from the wireless headphone category market and preventing competitors from establishing any kind of beachhead.

Elephant in the Room

Apple's strategy for controlling sound in the home seems to have met its match in the form of Amazon Echo Dot and Google Home Mini. Whereas iPod, iPhone, AirPods, and Beats are personal devices delivering sound to individual users, cheap stationary smart speakers powered by digital voice assistants are shaping up to be more about communal experiences. In addition, the value found with an Echo or Google Home isn't derived from sound quality but rather from the intelligence of the digital voice assistant that lives in the cloud. This has led the tech community to think Apple misfired by positioning HomePod as a high-quality music speaker. 

I see things differently.

The rise of digital voice assistants like Alexa and Google Assistant have seemingly redefined a stationary speaker's purpose so it's now about delivering intelligence rather than sound. The implication here is that the stationary speaker part of the equation is temporary in nature. If the same intelligence can be delivered to the user via another way, say via smart glasses, a smartwatch, or a pair of wireless headphones, low-end stationary speakers lose value. This idea serves as the basis for why I think the current stationary speaker narrative is off the mark. Apple looks at a stationary speaker as a tool capable of delivering intelligent sound. This use case likely won't change any time soon.

With HomePod, Apple isn't selling a high-quality music speaker. Instead, Apple is selling a new kind of music experience - one that isn't able to be produced with mobile devices, low-end speakers used for digital voice assistants, or even high-end speaker systems that may exceed $1,000. This music experience consists of a music streaming service, a digital voice assistant, and a combination of hardware and software that allows HomePod to map its surroundings and adjust sound output accordingly. 

iPod did not become popular because it offered vastly superior sound quality on the go. Instead, it became a hit because it offered a better all-around music listening experience versus the competition. In addition, fashion began to matter with iPod and the accompanying white earbuds. We see a similar dynamic take place with AirPods. Millions of people aren't buying AirPods because of their superior sound quality. Instead, AirPods just work and offer a great user experience. Similar to iPod, AirPods are also seeing building momentum in fashion. AirPods are becoming the new cool, fashionable item that people want to be seen wearing on the street. 

Juxtaposition

Apple is running away with its controlling sound on the go strategy. The company has no legitimate competition in the wireless headphone market. While this may change, it's not clear where that competition will come from. Meanwhile, Apple's positioning with controlling sound in the home appears to be much more precarious. Many think such a dramatic juxtaposition is due to Alexa and Google Assistant having already established a beachhead in the home. I'm not so sure about that. My suspicion is that HomePod is facing three different issues that make a challenging environment: 

  1. Communal experiences. Voice-controlled smart speakers positioned in a common area aren't personal gadgets like iPhones and AirPods. It's not realistic to assume a family of four will have four different smart speakers catering to each member of the family. Apple's approach to this situation with HomePod appears to be to initially assume the device is for one user and then give that user the option to turn the device into more of a family music speaker that anyone can use to consume music. However, there are questions as to whether that can truly provide a superior music listening experience. 
  2. Not just about music. While music has underpinned Apple's sound on the go strategy, iPhone and AirPods are used for more than music consumption. It's a stretch to say the same thing applies to the first iteration of HomePod with which music consumption is the primary use case. This may change down the road as Apple brings additional features to HomePod, but it's not clear if anything would replace music consumption as the speaker's primary use case. 
  3. Competing against nonconsumption. With HomePod, Apple's most intense competitor ends up being nonconsumption, or the lack of high-quality speakers in the home. Up to now, most people haven't seen the need for or appeal of high-quality sound in the home. The high-end speaker market is niche. Apple is trying to change that and thinks a broader focus on the music listening experience is the answer.

While there are differences between Apple's sound on the go and sound in the home strategies for controlling sound, both share a common trait. Ultimately, each is about delivering experiences. In terms of sound on the go, Apple will likely look to deeply integrate Apple Music into its growing wearables lineup. In addition to delivering music, these wearables products will also serve as a conduit for delivering a digital voice assistant to the user. For sound in the home, Apple believes a use case for a stationary speaker that will likely still be around 5, 10, and even 15 years from now is music consumption. There is a long runway found with HomePod and the ability to reimagine sound to deliver a better music experience. 

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

13 Mar 03:19

Apple replies to recent privacy accusations

by Timmy Shen
Apple has caught fire from the public after an article written by an Apple customer went viral (in Chinese) this week in China, where he accused an Apple employee of allegedly hacking into his iCloud account and threatening to leak the data. Apple responded yesterday through local media Sina Tech with the following statement (our translation): “We […]
13 Mar 03:19

How to Ask Strangers What They Care About (Without Scaring Them Off)

by Dave Pollard

Why is it when we meet new people, our way of self-identifying, and our first question to them, is so often about what we do “for a living”? I suppose this is because it’s safe — most of us don’t see such questions as highly personal or invasive. But it also pretty much reduces the short-term likelihood of getting to know this new person well, or even at all in any meaningful way. Which in formal or obligatory settings is probably just what we often want. For those that enjoy it, small talk has its place.

Recently, there have been attempts by meeting and event organizers to craft some questions that are more informative, meaningful, and auspicious for establishing close and valuable relationships. They have to walk a line between being too innocuous to be engaging, and crossing personal boundaries too quickly and non-consensually. Unlike wild creatures, we can’t just sniff out someone we’ve just met and from that know, sensuously and intuitively, whether we want to hang around them or not. While it is to the point, my recent habit of asking new acquaintances “What are you doing that you really care about these days?” is too abrupt and awkward for most. And it often points out that many of us are living automatic lives, on hold for times that offer us the luxury of doing what we really (think we) want to do, and that there is little or no intersection between what we’re doing and what we really care about.

Event organizers call not-too-personal but relationship-opening questions “ice-breakers”. Many of them IMO are just as awkward as my “what do you care about” question — they inquire about personal preferences, happy memories, and to some extent aspirations. The answerer generally struggles with coming up with a response that’s not too personal, but doesn’t sound superficial or trite. As with most questions with people we’re not yet sure we want to associate with (or are pretty sure we don’t want to associate with), there is an enculturated tendency to provide an answer that is palatable to the questioner, whether or not it is true. This makes the whole process annoying, and less than transparent.

So I’ve been looking for some questions I could ask that avoid these problems. The criteria for these questions are, I think:

  1. They elicit honest answers rather than clever, safe or socially acceptable ones.
  2. They are not so personal that they make you hesitant to answer, but are personal enough they tell others something interesting and possibly ‘useful’ (to you both) about you.
  3. They are interesting (and perhaps even self-revelatory) to think about, but don’t (for most people) require an enormous amount of time and energy to ponder to come up with an answer.
  4. They encourage follow-up questions and deeper explorations into the answers and reasons for them.

Here are a few questions that, in the right circumstances, might meet these criteria:

  1. What do you wish you’d learned earlier in your life. Probably best to take turns describing one thing at a time you wish you’d learned, since most of us probably have multiple answers. In my experience this question almost always leads to a discussion of how you came to learn this (a brief story) and why you wish you’d learned it earlier. It’s fine if you never get past the first learning. You might introduce this question gently by saying something like “I’ve just been thinking about how I wish I’d learned earlier in life (eg ‘not to blame or judge people, since I think we’re all struggling to do our best’); ever wished you’d learned something earlier in your life?” It may help to provide your own answer first, to indicate a willingness to move beyond small talk.
  2. Of the people you’ve known in your life but fallen out of touch with, who would you most like to reconnect with, and why? This may require more thought, but again it will inevitably provoke a story and some understanding of what’s important to the answerer. An alternative for those who have no answer to this one might be: Of the people in your community, who would you most like to get to know better, and why?
  3. If you had to choose one written passage of no more than 500 words (a couple of pages) to read out loud that summarizes your worldview or philosophy of life, what would it be? Even better if it’s at hand and can be read our loud — it should only take 3-4 minutes. Now that’s a conversation starter!

If you’ve found other questions that meet the above criteria, I’d love to hear them, especially if you now use them when you meet and engage with new people.

There are probably more suitable questions to use in paid work settings, but since I’m retired (and use questions like those above in settings when those present are all volunteers) I’m not the best one to come up with them.

What I like about these questions, and these criteria, is that they can apply even when the people involved are poles apart socially, culturally or politically. Depending on the circumstances, I wouldn’t be averse to answering the above questions with reference to my current positions on complexity, civilizational collapse, nonduality, and/or whole plant food diets: I think it’s possible (though not easy) to broach these subjects in a non-confrontational, non-preachy way. And since I care so much about these subjects, I suspect that many others, though they may not share my particular views, also care about understanding how the world works, our future, the essence of human nature, and how to live well. The less time we take getting to talk about what we care about, and what we’ve learned, the better.

Image CC0 from the good folks at pixabay.

13 Mar 03:19

Apple Leads First-Ever Swift Playgrounds Course for Blind and Low-Vision Students in Austin

by John Voorhees

Earlier this week, Apple engineers visited the Texas School for the Blind and Visually Impaired where they led a programming course from the company’s Everyone Can Code curriculum. According to the Austin Statesman’s technology blog, Open Source, the class was the first such session led by Apple for blind and low-vision students.

With the assistance of VoiceOver, the students completed assignments in Apple’s Swift Playgrounds iPad app. The students also got a chance to go outside and fly Parrot drones using Swift Playgrounds. Viki Davidson, a technology teacher at the school, told Open Source:

“We see this as a way to get them interested in coding and realize this could open job opportunities,” said Vicki Davidson, a technology teacher at the Texas School for the Blind and Visually Impaired. “Apple has opened up a whole new world for kids by giving them instant access to information and research, and now coding.” 

Apple’s director of accessibility, Sarah Herrlinger, who will participate in a session on Innovations in Accessibility at South By Southwest on March 15th, said:

“When we said everyone should be able to code, we really meant everyone,” said Sarah Herrlinger, Apple’s director of accessibility. “Hopefully these kids will leave this session and continue coding for a long time. Maybe it can inspire where their careers can go.”

Swift Playgrounds and Apple’s Everyone Can Code curriculum have grown at a remarkable rate and are fantastic resources for students, teachers, and parents. However, it’s Apple’s long-standing commitment to accessibility across all of its products that helps ensure that those resources are available to as many students as possible.

→ Source: 512tech.com

13 Mar 03:19

HomePass Can Store All Your HomeKit Setup Codes

by Federico Viticci

Developed by Aaron Pearce (the creator of Homecam, one of my favorite iOS apps this year), HomePass is a handy utility for iPhone and iPad to store HomeKit setup codes.

If you've been playing around with home automation on iOS, you know that managing accessory pairing codes isn't exactly fun or convenient. While iOS 11 added support for QR codes and special NFC pairing tags, most accessory makers still stick basic alphanumeric codes on the back or at the bottom of accessories and essentially require you not to lose them. That's not ideal. HomePass aims to be a single repository where you can easily keep track of all your setup codes, sync them across devices with iCloud, and even protect them with Face ID. Instead of taking pictures of your codes and storing them in Apple Notes (which is what I've been doing), you can collect every HomeKit code in HomePass, where they'll be presented alongside device names, HomeKit rooms they belong to, and custom icons.

I've been testing HomePass for the past couple of weeks, and there are some nice touches I want to point out. First, if you grant the app access to your HomeKit data, it'll be able to see existing accessories and allow you to simply enter the code without choosing a device name or icon (you can also create new accessories from scratch). In addition, the code displayed in the Code field of a device's detail view is formatted with the same shape and font used on physical setup codes; this means you can open HomePass on your iPad and scan a code directly with the Home app on your iPhone. Lastly, you can add notes to your accessories and export everything as CSV if you prefer to have an additional backup of your accessory database.

One of the many shortcomings of Apple's native Home app is the lack of deeper organizational tools for users who own dozens of HomeKit accessories and need a better way to store their codes. Ideally, such a feature shouldn't be needed, but in my experience things sometimes go wrong and you may need to reset an accessory and add it to HomeKit again. When that happens, you don't want to go hunting for the setup code on the back of a thermostat. I highly recommend using HomePass instead, which is available at $2.99 on the App Store.


Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it's also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it's made in Italy.

Join Now
13 Mar 03:19

Moodling around with a Jetpack metaphor

by Doug Belshaw

I’m busy ideating, and talking to people around, Project MoodleNet. When you’re explaining something that doesn’t yet exist, you’ve got to use touchstones and metaphors, starting from where people are to help them understand where you want to go.

Project MoodleNet landscape

In these discussions I’ve been using three things to help me:

  1. A great ‘landscape’ image from Bryan Mathers (see above)
  2. The 3D printing social network Thingiverse (which I wrote about here)
  3. The Jetpack plugin for WordPress

It’s worth, I think, unpacking the third of these — if only so I’ve got a public URL to point people towards when I reference it elsewhere! It’s an imperfect metaphor, as it involves more technical understanding than we’ll require for Project MoodleNet.

Anyway, here goes…

WordPress and Moodle are similar

  • Free (as in freedom)
  • Open Source
  • Host your own version
  • Have it hosted for you
  • Partnership network

How Jetpack works

Jetpack is a meta-plugin, a ‘plugin of plugins’ that adds lots of functionality to self-hosted instances of WordPress. In fact, it’s pretty much a no-brainer to activate Jetpack if you’re self-hosting. It connects your instance to your wordpress.com account, giving you:

  • Faster page loading (via CDN)
  • Additional security
  • Detailed site stats
  • Faster logins
  • Payment integration

Install Jetpack

Where’s the value for the organisation behind WordPress?

So lots of value for users, but (you may think), what’s in it for Automattic, the organisation behind WordPress? Well…

  • Secure, fast WordPress sites maintain brand value
  • Better metrics around installation numbers
  • Ability to upsell to customers direct from dashboard

Jetpack dashboard

Why is this a good metaphor for what we’re doing?

Project MoodleNet will be a standalone social network for educators focused on professional development and open content. It can be supercharged, however, by using a similar model to what WordPress have done with Jetpack.

Imagine users logging into a institutionally-hosted Moodle instance using their Project MoodleNet credentials because the two are connected in a similar way to how Jetpack works for the WordPress ecosystem.

To be clear, I’m not proposing that Project MoodleNet offers the same services as Jetpack, I’m saying that it serves as an example where you can create value in two places and additional value by linking them together.

This would mean…

  • Teachers: professional social networking within their existing learning platform.
  • Instructional designers: faster access to curated open resources.
  • Sysadmins: better security and potentially reduced hosting costs.

(if you’re wondering about ‘reduced hosting costs’ it’s because we’re tentatively looking at how IPFS could be used in the wider Moodle ecosystem)

Finally…

This isn’t a perfect metaphor by any means, and so I’m looking for other ways to explain what we’re trying to achieve. However, the combination of Bryan’s image, referencing Thingiverse, and explaining JetPack is helping those I’m talking with to understand the kind of thing we’re trying to build.

What kind of metaphor would you use?


Main image CC BY-NC Fir0002/Flagstaffotos

13 Mar 03:19

Outlier detection in R

by Nathan Yau

Speaking of outliers, it’s not always obvious when and why a data point is an outlier. The Overview of Outliers package in R by Antony Unwin lets you compare methods.

Articles on outlier methods use a mixture of theory and practice. Theory is all very well, but outliers are outliers because they don’t follow theory. Practice involves testing methods on data, sometimes with data simulated based on theory, better with `real’ datasets. A method can be considered successful if it finds the outliers we all agree on, but do we all agree on which cases are outliers?

See also Unwin’s talk from 2017 for more about the thinking behind the package.

Tags: outlier, R

13 Mar 03:19

Pogue reviews this week's No. 1 most downloaded app: Sky Guide AR

Welcome to David Pogue’s Rated:App series. Each week, I’ll install whatever is the No. 1 bestselling app on the iOS or Android store and review it, to save you the effort in case it’s a turkey. 

This week, the No. 1 bestselling app on the iPhone app store is an augmented-reality stargazing app called Sky Guide AR ($2.99). It’s a dazzling piece of software, with an amazing 4.8 rating on the app store.

As usual, I have no clue why this app suddenly popped up to the top of the list. It’s been around for years, and it’s very similar to other, even older apps, like StarWalk. But since Sky Guide AR did land at No. 1, it’s fair game to be this week’s Rated:App!

image
Sky Guide AR identifies the stars, planets, and constellations as you move your phone.

What it does

The moment you open this app, you understand it: Your phone is now a viewer for the sky above you. It depicts all the stars, planets, and even satellites that you’re pointing the phone at, and labels them, and draws the appropriate pictures for the constellations. You know — fish for Pisces, a scorpion for Scorpio, and so on.

image
Sky Guide is like a window onto the sky above you.

You match up what you’re seeing with what’s on the screen: that’s Andromeda, that’s Venus, that’s the International Space Station, and so on. It sure beats someone next to you pointing vaguely and going, “OK, it’s just to the right of those two little dots there below the big dot… do you see it?”

As you move the phone around in any direction, the app shifts what it’s showing you, smoothly and beautifully. A shimmery, pulsating musical soundtrack plays as you go (you can mute it if you like) —hotter stars make higher notes, and brighter ones make louder notes. You can zoom in with the usual two-finger pinch/spread gestures, and you can adjust the brightness by dragging two fingers up or down, to better match the actual color of the sky.

If you tap an object, a pop-up panel appears to describe it for you: Its distance, size, color, and so on.

image
Tap a celestial body to read more about it.

Of course, there’s nothing to stop you from using the app during the day, or even indoors; it still shows you what celestial bodies are in front of you or above you. In fact, one of the coolest things to do is to aim it downward; the app shows you what’s below the horizon. After the sun’s gone down, for example, you can see exactly where the sun is.

Also fun: At the top of the screen, there are VCR-type controls that let you speed up or rewind the movement of the stars overhead; you can also tap in a specific date. That’s cool if you want to see how the stars were aligned the day you were born, for example, or how a constellation’s path will shift over the seasons of the year.

image
You can fast-forward or rewind the sky.

You can install a Sky Guide widget on the iOS 11 Today screen (which hangs out to the left of your home screen) that shows you what cool astronomical events or satellite fly-bys are happening today.

image
At your option, Sky Guide can add a widget to your iOS “Today” screen.

Get it?

You really have to watch the video above to appreciate how lovely and magical this app is.

If you’re curious, scientific, or fascinated by the stars, $2.99 is well worth it; Sky Guide AR is either the best augmented reality stargazing app or among the best. If you’re only casually interested, on the other hand, you may find that the novelty wears off fairly quickly.

image
Sky Guide is perfect for space-station fly-by spotting.

But that’s quibbling only with the concept. The execution of this app is flawless, and it’s a spectacular example of augmented reality’s promise.

David Pogue, tech columnist for Yahoo Finance, welcomes non-toxic comments in the Comments below. On the Web, he’s davidpogue.com. On Twitter, he’s @pogue. On email, he’s poguester@yahoo.com. You can sign up to get his stuff by email, here.  

Read more

The controversial Vero is this week’s David Pogue’s Rated:App

Bitmoji is this week’s David Pogue’s Rated:App

This week’s David Pogue’s Rated:App is on Facetune

13 Mar 03:18

Reclaiming Jekyll (Two Years Later)

by Reverend

Two years ago Tim wrote a great post detailing how you can get Jekyll up and running in shared hosting on Reclaim Hosting.* I’m late to this party, obviously, but playing with Grav recently led me back into Github thanks to the Github Sync plugin. I had explored Jekyll back in 2014 briefly (almost 4 years ago now, really?!), but I forgot most everything. I wanted to see if my Grav repository in Github (synced with my Grav install on Reclaim) would allow me to run the Grav files through Github pages (which is powered by Jekyll). Is this all crystal clear now? Good.

Turns out I was on a fool’s errand. Grav is a flat-file CMS, but it needs PHP to dynamically those pages as a site—which I should have understood. So it will not run on Github Pages.  Grav Sync is first and foremost for forking and collaborating on specific Grav instances (which I did understand), but I was trying to understand if those files could be seamlessly archived/translated into Jekyll given it was a repository, but I see my foolish ways now. Thank you, Tim 🙂 So while you can bring up individual pages from my Grav repository on Github, like the Welcome page:

But the site functionality of my Grav instance could not be reproduced. Lesson learned. But this did peak my interest in synching my locally installed Jekyll on Reclaim Hosting with my Jekyll on Github. So, I asked Tim and he suggested the following:

I’m not sure the exact steps but it would involve setting up the repo in Github and cloning it to your hosting account and > then you could use git commands like git pull to grab the latest from git (even setup a cron every 10-15 min to do that piece).

Turns out that was the exact approach—I wish I was that good. I took the Github repo I have at jimgroom.github.io (which maps to jimgroom.me) and clone it into the jekyll folder on my Reclaim Hosting account. I made sure to run jekyll build in the jimgroom.github.io folder so that it would build the site files in the _site directory. After that I pointed the DNS of the subdomain jekyll.murderinc.biz to the new directory, i.e. jekyll/jimgroom.github.io/_site and the same site at jimgroom.me on Github is cloned and also resolving through my shared hosting account at jekyll.murderinc.biz. The two things needed to sync changes made on Github is running the following commands in the jekyll/jimgroom.github.io folder on my shared hosting (making sure you are logged into command line through your virtual Ruby environment):

git pull

and then

jekyll build

Pull in any changes and then rebuilds the site so those changes are published to _site. None of this is new by any means, I am just playing catch up. Adam Croom went down this road two years ago in order to stick a fork in the LMS using Github, and I can say from firsthand experience that wrapping your head around Github can be intense, but that’s no excuse for an ed-tech to give up:

“An Ed-Tech spends her life getting into tense situations!”
-A Github Repo Man


*This setup requires CloudLinux, which we have installed on all our shared hosting servers. 

13 Mar 03:17

Jobs Jar: An Editor for Price Tags

by pricetags

PRICE TAGS IS HIRING AN EDITOR

 
Price Tags started a decade ago and is now ready to take the next step in becoming the must-read forum for those with a special interest in how the Vancouver region is growing and developing, especially in the context of global urban trends.

We want to attract an expanding readership beyond the City of Vancouver and from a new generation interested in urban design, development and planning, with a special emphasis on transportation.  We also want to be a forum for moderated discussion on the upcoming civic election.

Price Tags needs an editor/production manager with responsibility for content and presentation.  We have funding for a three-month position, with these primary functions:

  • Edit posts, manage flow, assign work
  • Commission features and contributions from a diversity of writers, photographers, artists

We are looking for skills to:

  • Adopt and update latest in blog interfaces
  • Look for new opportunities in podcasting, Instagramming, Youtube, etc.
  • Explore possibilities for live events
  • Connect and partner with similar media

And we want to plan for the future:

  • Research and apply for new funding

 
The applicant should be receptive to editorial teamwork and feedback.  And it helps to have a good sense of humour.

This is a paid position for three months, with the possibility of extension if resources are found.

Send your submission to pt.guested@gmail.com by March 31.

(To PT readers: please forward this to possible candidates, and to organizations for circulation.)

13 Mar 03:17

A Theory of Functional Programming 0001

by Eric Normand

Transcript

OK. I’m trying this out. I’m writing a book. I’m going to move. I’m writing a book. I think I’m going to call it, “A Theory of Functional Programming.” Let me explain. Here is the reasoning. That’s bad lighting hold on. I’ll explain what I’m doing and I’ll explain the reasoning behind the book.

I want to write this book. Writing a book is hard. It takes a lot of time and energy. You have to develop the ideas and type all the words, and do everything. Any help that I can get to do that will be welcome. Someone suggested to me that I talk to someone or I record myself talking like in the car and then transcribe it.

It’s not going to be great text or anything. It’ll be something to work with that will alleviate a lot of the typing I’ll have to do because editing is always easier than typing.

We have a social part of our brain that helps us organize our ideas. We’re able to think about what the other person is experiencing in a way. Maybe when you’re writing a book, it’s good to do that. It’s often easy to slip out of that.

Just start writing very technical and abstract. Basically what I’m saying is, it’s easier to talk than it is to type. Somehow we can talk for hours and not really get tired of it but typing for hours is tiring.

Why the book? Functional programming has this very academic feel to it right now. When you do a Google search, all of the definitions, you search for something specific. You search for what is functional programming.

You get a lot of definitions that basically boil down to functional programming is programming using pure functions. Your whole program is a function from inputs to outputs. I’ve been doing functional programming, professionally since 2010. That’s when I first started getting paid to do it. I was doing it before that, just on the side.

That is not how functional programs work. We actually do side effects. Our program is not one big pure function, there are effects in there. That’s actually the reason we write our program, is to do all those effects.

There’s something missing in that definition. The definition is also bad, because when someone new to the field, someone in the industry, not in academia — my audience is more about people who are programming in the industry, meaning commercial software — when they come over, when they see that definition, they’re turned off.

What does this add that the whole thing is one function? What about emails, sending emails? What about talking to another computer on the network. It’s an important aspect, and to just say we don’t do that as functional programmers is turning them away.

It’s incorrect, but it’s also turning them away. It’s making it seem like it’s an impractical paradigm. I want to do something about that. I want to have a good definition that I would be happy to point people to, and hopefully other people would want to point people to as well.

I look at it a lot as helping functional programming escape the ivory tower. Meaning, it’s in the ivory tower. It’s trapped up. There’s always great knowledge. Now that it’s escaping into industry, we need to start talking more practical terms. Real software is not a function from inputs to outputs. It’s something much more than that.

There’s a ton of ideas here. If I’m hesitating, it’s because I don’t know exactly how to continue. Let me take a moment here.

Why don’t I just go right into the definition that I have? Functional programming is a paradigm. Meaning, it is a set of ideas, it’s a set of concepts, a set of practices and almost like a theory of programming itself. It is a framework, meaning a mental framework for how to approach a problem that you’re trying to solve with software.

It is a paradigm like object-oriented programming is a paradigm. Object-oriented programming is a paradigm made up of…I’ll just say three things. I’ll simplify it. There’s three things. It’s objects. Those objects have references to other objects. Objects can send messages to objects they have references to. That’s very simple version of object-oriented programming.

That is, I think a good nutshell summary of object-oriented programming. Functional programming is an orthogonal view. It is a totally different view of the same problem. You can look at a problem through a totally different angle using functional programming.

When you’re using object-oriented programming, what you can do is say, “Well, this object is going to do this thing and then it will solve this part of the problem, and then it will send a message to this object which will solve the next part of the problem, etc., and this one will talk to three other objects to solve the problem.”

The work is done through this messages traveling around the graph of objects. Finally the work done and you have the answer. When you look at a problem in object-oriented view, you try to see, “Where are my objects? What are their messages? Where do I do this work? Where do I do that work? What object is going to do that? What message do I need to send to it to do that work?”

“What collaborators is this object going to have?” When you are solving a problem like accounting, you might say, “Well, we’ll make an object as…the account will be an object. You can send it a message like deposit and it’ll deposit a certain amount of money.” That might be how you do it.

I’m not solving that problem right now, but that’s the approach you take if you start thinking, where do I cut this problem up into little objects that talk to each other. In functional programming, we have three different concept. Those three concepts are data, calculations, and actions. Let’s go over those three, and give more definition for each one.

Data is facts about events that have happened. The event might be, I measured, something on the scale, or I took a reading from the thermometer, or this is the data that the user submitted in the form. It’s a fact about an event that you can use for calculation or other uses, storage, record-keeping, that kind of thing.

That’s the easiest one to think about as a programmer. We use data all the time. You got your basic data like your numbers, characters, strings of characters, so you start talking about collections.

You’ve got any compound data like tuples of numbers or strings or letters or bytes. All this stuff is. Lists of those things. They can nest, so you can have hash maps, you can have whatever. Whatever data, all of that is data.

That’s pretty easy to understand. There’s more to say about data, but I want to touch on the three things first. The next thing is calculations. Calculations are…

I haven’t found a good dictionary definition. I looked in several dictionaries. They all talk about calculations is the result of calculating and calculating is the act of performing calculations. It’s a bad definition.

I’m just going to also do a bad definition and just say it’s all about computation from inputs to outputs. Those inputs…There’s actually a rule of thumb. It’s probably more than a rule of thumb. It’s probably a little bit stricter than that, but the idea behind the calculation is that it is timeless.

Given the same input, you will always get the same output. It doesn’t matter when you run it or even if you run it. This is what we often call in functional programming in the academic world, we call it a pure function.

It is the mathematical sense of function, which is a relation between the argument to its value. Or relationship between the domain and the range, if you wish. That’s a much more mathematical way of saying it.

The final one is the actions. These are often called effects or side effects, but I think that the term effect is a poor term because I’m not talking about the effect. I’m not talking about the email being sent.

I’m talking about an action, which is a representation of that email being sent, which you can then invoke that action and that causes the email to be sent. The effect is actually the cause.

If the action is the cause and the effect is what happened, action is the cause of the effect. It’s not the email being sent, it is a thing that represents the email being sent. When you invoke it, it will send it.

In that way, you can manipulate it in a way that you can’t manipulate an email being sent normally. You can manipulate, let’s say, a Java method that will send the email. You can talk about that more abstractly. The way you tell if something is an action is it matters when you invoke it or how many times or both.

A good example is sending an email. It’s a very good example. If I send zero emails, it’s different from sending one email. The effect on the world is very different. It’s also different if I send two emails or send three or a million emails.

All of those things are going to have much different effects on the world. It matters when I send it. If I send the email now, it’s different from sending it in two weeks. I can’t change that. That’s part of the way the action works.

We’ll get to this later, but some actions, doesn’t matter when you call it, but it matters how many times you call it. Some actions, it matters when you call it, but it doesn’t matter how many times you call it.

There’s ways to compartmentalize these actions. Those are the three things. Data, calculations, and actions. They are the principal domains, I’m calling them. I don’t know if that’s a good word, but for now, domains.

That’s the principle domains of functional programming and doing functional programming, programming in a functional way, means approaching a problem with these three domains in mind.

As an object-oriented programmer would look at the problem and say, “Where are my objects? What are my messages? What objects know about what other objects, etc.,” a functional programmer says, “Where’s the data? What data can I get from events happening in the world and how do I calculate those things? Then, what actions does the system need to take?”

There’s more. There’s a lot more. Hence, I’m writing a book. It’s not going to be as easy [laughs] as just listing this stuff like this. The other thing about functional programming is that everything is first class.

When I say everything, there’s only three types of things. There’s data, calculations, and actions. The reason I’m staying away from using the term function is because in industry, it’s a feature of languages.

I’m trying to avoid talking about features because functional programming is not about features, it’s about this mindset. If you start talking about features, like I need functions, then you think, “Does something like Java have real functions?”

I’m trying to avoid all things that are tied up in the notion of features. You do need certain features to be able to do functional programming.

The real feature you need is that everything has to be first class. By first class, I mean, you have to be able to pass all three types of things as arguments, or return them as return values to your functions, your subroutines, or whatever feature you have.

You have to be able to get a handle on them somehow, some kind of handle on them, first class, to be able to hold them, because the principal way we write programs in functional programming is by composing these things. We’ll talk about composition in a minute.

Without being able to have first-class actions and calculations…Usually, data is first class. I’m just going to ignore that. Without having to have them as first-class things in your language, you can’t do functional programming.

Often, you can get around limitations. If you’re doing JavaScript, your data…That’s easy. It’s your numbers. It’s your strings. It’s your objects and your rates. You don’t have much more than that. Your Booleans, that’s it.

That’s your data. How do you do calculations? In JavaScript, you have to write functions. You have to ensure that they are pure. “Ensure” meaning trust yourself that you’ll write them pure, because there is no type checker or anything to help you. There is no static analysis that does that.

You write a pure function. That can be a calculation. Your actions are your impure functions, all the other functions that do it. As a function, you can be first class.

There are things in JavaScript that are not first class that you need to be first class. For instance, the plus operator, addition, and all the mathematical operators like that, the times, divide, minus, those are not first class.

You cannot pass plus to another function. You can wrap up the plus in a function that takes two-hour units, however you want to do it. It now becomes a function called “plus,” P-L-U-S, spelled out, that you can use instead of the arithmetic operator plus that is not first class.

Similarly, in a language like Java, you can wrap something up as an object with a method. You can work around the parts of the language that are not first class. That lets you do functional programming in those languages.

Typically, in a functional language, all of that is taken care of for you. Everything is first class by default. You don’t have to worry about that. I say “everything.” All of the three types of things.

Some languages might provide something else. I’m thinking type systems. In Haskell, the types are not exactly first class. They are a different class and different level than all the values.

All your data are values. You have a bunch of types, different built-in types. You can write your own types. All that is data.

All your functions are pure by default. That really helps. You just say “functions” in Haskell. You don’t have to say “pure functions.”

You have your actions. That’s the I/O type. There’s a special type that is just for actions, which is really nice. Haskell provides just what you need for that triple separation there.

In Clojure, which is what I write in, you have the data. It provides a lot of data structures and types that you would want to use.

Just like in JavaScript, you have to separate out by hand, in your mind, what are the pure functions and what are the impure functions. The pure functions are the calculations. The impure functions are the actions.

Clojure programmers get quite good at doing that. Clojure programmers are comfortable with that lack of compiler help on that front. It’s entirely possible. My point is that it is entirely possible to not have help from the language separating out those actions from the calculations. It’s certainly helpful to have that.

Sometimes, I want it. I’ll tell you that.

I said I was going to talk about composition. We have these three domains. You might think at this point that it’s quite obvious, that these domains obviously make sense.

I would say that that’s not the case for other paradigms. People do not think in these terms in other paradigms.

In object-oriented programming, for instance, which we’ve already gone into, they’re not thinking about whether a message pass is an effect or if it’s pure or something like that. There’s no easy mapping between the three.

I’m not saying it’s incompatible. I’m saying that the way you cut things up…The two views cannot be reconciled with each other. If I do an object-oriented analysis, I cannot transform that into a functional programming analysis. I can’t. There’s no way to do that.

I can do both analyses of the same problem and have two perspectives, which will help. By having multiple perspectives, I can now see more about the problem and probably solve it better. I can’t do that isomorphism. I can’t do that simple transformation between the two.

They’re not incompatible in that I can do both on the same problem. Both will help me solve the problem and arrive at a better solution, but one might not inform the other, because they’re totally different perspectives on the same problem.

I hope that it being obvious is more a product of it being super clear. Also, I want to say, even if it is obvious and everyone already knows this, no one has written it down. I’m going to write it down in a book. That’s all I have to say about that.

The next thing I want to talk about is the three domains. I feel like when you do one of these theories like this, where you try to build a coherent model, it’s easy to draw some lines, some boxes, and say, “This is where everything goes.”

Have you really captured something by giving a couple of rules for what goes in which bucket? I feel like it would be justified to come up with some evidence that these things make sense, that each domain is coherent in itself.

What I want to say is that you can actually stay in a domain. There are operations that will take data, two pieces of data, compose them, and give you a third piece of data.

What those two data can’t do is give you an action. You could make up an action for those pieces of data, but you can stay in that domain. You can have data that turns into more data, that transforms into different data, that gets added to other data. You’re just always in data. Data, data, data.

You can do the same for calculations. I can take a function. I can compose it with another function. I can do the complement of that function. I can transform it into another function.

As long as I’m just doing functions, I can stay in this arena of functions, calculations. There is a coherency to this division. It’s borne out also by languages like Haskell that have this strong division. There’s the data and all the data types. There is the function types, all the different…It’s polymorphic, but these are functions. There is the I/O, which is the action. It’s a separate thing, Haskell rules.

The same goes with action. I can take two actions. I can compose them. I can reverse them. I can run them in parallel. I can add another action. You can just stay in this domain of actions.

One rule when doing functional programming that you’ll quickly learn is that you want to do as little work as possible in actions. This is the source of a lot of the bad definitions of functional program.

When I say bad, meaning, they’re technically correct if you already understand functional programming and you can squint and say “Yeah. I understand what you’re trying to say.” He or she understands what they’re trying to say. “I got it.”

Avoid side effects. “OK. I see what you mean.” If you can do it in a function instead of an I/O. That makes sense to a functional program but it’s not a good definition and it doesn’t help someone who doesn’t already know…learn it.

What a lot of these bad definitions say is avoid side effects or functional programming is doing your best to describe your problem in terms of pure functions. You notice there’s always this focus on the functions and they forget about the data, they forget about the actions.

Why is that? It turns out that when you diagram it, actions are the universal thing. Our machines are based on touring machine and the touring machine is actually…All it does is actions. It moves the tape back and forth. It reads and writes to the tape.

Everything is actions. The fact that you get a calculation out of the end is the mystery of computation. It’s what he was trying to get at — touring was trying to get at. It’s a cool thing that you can do some actions in the world and you’ve calculated it. You solved the problem.

It’s what allows us to think and solve problems through thinking, that our brains are sending signals. All these actions are happening, these timely things. It’s all timely. If the thing fired tomorrow — my brain fired tomorrow, I would have a different thought. It would be to late or it would be the wrong thought at the time and I wouldn’t solve the problem that I’m solving, etc.

It’s all timely so it’s actions. But we get an answer out at the end which is really cool. When a procedural programmers like, “I can’t program without side effects. I need it.” They’re right. You do need effect. We do need to send that email. We do need to write to the disc. We do need to send a message over the network. We need to do those things.

Actions are universal. We know we can represent functions in terms of actions. We also know to [inaudible 34:14] the calculus that we can represent data in terms of functions. I don’t want to go in to that but with pure functions — I don’t want to go [inaudible 34:25] the calculus part — you can represent any data value.

It’s totally feasible. Actually, data is a subset of functions — a subset of calculations — and calculations are a subset of…running out of battery. Calculations are subset of actions but functional programmers appreciate the value of moving as much of your code down that hierarchy as possible.

As much as possible into data. If you can’t get in to data try to get in to calculations and when it can’t be calculation, you leave it as actions. I’m going to stop now. It’s been 35 minutes. I’m getting tired. There’s more to talk about. I’m getting excited because there’s a cool stuff.

Subscribe because I’m going to keep talking about this. I’m going to be using this. I’m going to transcribe it and use it as part of my book. I’ll probably post it to my blog and everything. Keep listening. Subscribe, like, and check out the book when it comes out.

The post A Theory of Functional Programming 0001 appeared first on LispCast.

13 Mar 03:17

870 East 8th Avenue

by ChangingCity

This is an affordable rental building that’s already been rezoned, and is now submitted for its Development Permit.

Called ‘Mi Casa’, The Red Door Housing Society currently have a 22 unit 1986 building here, on three floors. This is a 51 unit replacement on seven floors, designed by DYS. Over half the units will be family sized – 2-bed or more (7 2-bed and 24 3-bed).

13 Mar 03:17

Writers: say these words before every interview you conduct

by Josh Bernoff

You’ve lined up some time with a smart person. You’re about to interview them on the phone or in person, and you’re eager to get started. So after the small talk is done, you ask the first question. You’ve made a mistake. There’s something you’d better say first. And based on the tears and rending … Continued

The post Writers: say these words before every interview you conduct appeared first on without bullshit.

13 Mar 03:17

The Best Gear for a Roadside Emergency

by Kit Dillon
The Best Gear for a Roadside Emergency

A breakdown or a flat tire can happen to anyone at any time, and what you have in your car can make the difference between getting back on the road quickly and enduring a long, trying, even dangerous ordeal by the side of the road. We spent more than 60 hours researching emergency gear and common roadside problems, and we talked with safety experts and mechanics to get their advice. Whether the problem is a flat tire, a dead battery, or something that you can temporarily patch with duct tape, here are the things you shouldn’t leave home without.

13 Mar 03:16

How did US cities become so segregated?

by michaelkluckner

Below are excerpts from a review-essay in the New York Review of Books about a very disturbing new book called The Color of Law: A Forgotten History of How Our Government Segregated America by Richard Rothstein (Liveright, 345 pp., $27.95). The article by Jason DeParle is behind a paywall. I have highlighted some key sentences.

coloroflaw

‘In The Color of Law, Richard Rothstein writes: “Residential segregation was created by state action,” he writes, not merely by amorphous “societal” influences. While private discrimination also deserves some share of the blame, Rothstein shows that “racially explicit policies of federal, state, and local governments…segregated every metropolitan area in the United States.”

‘…Government agencies used public housing to clear mixed neighborhoods and create segregated ones. Governments built highways as buffers to keep the races apart. They used federal mortgage insurance to usher in an era of suburbanization on the condition that developers keep blacks out...

‘The demand for segregation was made plain in workaday documents like the Federal Housing Administration’s Underwriting Manual, which specified that loans should be made in neighborhoods that “continue to be occupied by the same social and racial classes” but not in those vulnerable to the influx of “inharmonious racial groups.” A New Deal agency, the Home Owners’ Loan Corporation, drew color-coded maps with neighborhoods occupied by whites shaded green and approved for loans and black areas marked red and denied credit—the original “redlining.”

‘…The FHA financed Levittown, the emblem of postwar suburbanization, on the condition that none of its 17,500 homes be sold to blacks. The policies on black and white were spelled out in black and white.

‘…De jure segregation is long gone from the books, but its significance is more than historical. The conditions it created endure. American cities remain highly segregated. Schools are highly unequal. Huge gaps in wealth persist between blacks and whites, largely driven by differences in home equity.

‘Among the government’s tools for imposing segregation, few were as powerful as public housing, which both reinforced color lines and drew them where they hadn’t existed. Public housing typically conjures high-rise black ghettos. But it started during the Depression mostly to help working-class whites. The first agency to build public housing was the Public Works Administration, which was launched in 1933…

‘Starting during the New Deal and accelerating in the postwar years, the government transformed American life with a campaign to promote homeownership and suburbanization. But the sale of the American Dream explicitly excluded blacks.
The FHA didn’t segregate America just one loan at a time. By underwriting mass developments, Rothstein writes, it created “entire subdivisions, in many cases entire suburbs, as racially exclusive white suburbs.” None was more celebrated than Levittown, an ingenious solution to the postwar housing shortage—thousands of affordable, mass-produced homes offered to veterans with no down payment. But only the government’s promise to insure the mortgages allowed William Levitt to secure the construction loans. “We are 100 percent dependent on Government,” he said. Among the FHA’s conditions, in Levittown and other mass projects, was that no homes be sold to blacks …

‘Blacks have about 60 percent of the family income of whites, but less than 10 percent of the wealth—a huge gap and one that impedes advancement. Nest eggs finance education; they tame emergencies…

‘The Color of Law ends at the Nixon administration. A lot has changed since then. The growth of the black middle class and better (if not great) fair housing enforcement has reduced segregation, although it remains high. A standard segregation measure, the “dissimilarity index,” peaked in 1970 at 79 (meaning that 79 percent of blacks in a typical metro area would need to move to achieve an even distribution). By 2010 the figure had fallen to 59. Cities are divided in new ethnic and economic ways. Latinos outnumber blacks, and segregation by income has soared—largely from rich families flocking to rich neighborhoods. The changing landscape affects access to opportunity in ways still not fully understood.’

13 Mar 03:16

It is funny or is it sad?

by Volker Weber

There is a single photo and nothing else. And this is what the usual suspects make of it:

I will stop right there. So, yes, this is sad. No information, zero research, just some added fluff. And that is where you get your news.

When people ask me about stuff that may or may not happen in the future, I just tell them I read the same rumors they read. I just don't talk about them.

All those sites can now update their story btw. Evan has posted again:

13 Mar 03:11

How Canadian student newspapers are going digital

files/images/student_newspapers_canada.PNG

Audrey Carleton, J-Source, Mar 12, 2018


Icon

As a long-time former denizen of the student newspaper office I'm still interested in what they're up to, and these days (for the last few years, actually) they're moving to digital. It only makes sense. " Despite the historical legacy that comes with printing a newspaper, the fact remains that students, like most audiences, consume news differently than they did years ago, and it’s up to campus publications to meet these demands." Ah - but it was so exciting, and terrifying, to publish in print for the first time.

Web: [Direct Link] [This Post]
13 Mar 03:11

Who spreads fake news? On Twitter, humans are more likely culprits than bots, new study suggests

files/images/usa-twitter-results.jpg

Matthew Braga, CBC News, Mar 12, 2018


Icon

Reports of this study on the spread of fake news are all over the media today. There are several major threads (and it's interesting to see which news outlet points to which). First, humans, rather than robots, are the ones that really spready fake news. Second, fake news spreads much more quickly than real news. Third, it reaches more people than real news. Why? " We found that false news was more novel than true news, which suggests that people were more likely to share novel information. Whereas false stories inspired fear, disgust, and surprise in replies, true stories inspired anticipation, sadness, joy, and trust." More: New Scientist, Vox, Gizmodo, The Atlantic, USA Today, BBC, Reuters.

Web: [Direct Link] [This Post]
13 Mar 02:39

Samsung Galaxy Note 9 Will Not Feature an Under-Display Fingerprint Scanner

by Rajesh Pandey
The lack of an under-display fingerprint scanner on the Galaxy S9 disappointed many, especially after Vivo partnered with Qualcomm to show off a phone with an under-display fingerprint scanner at CES 2018. Nonetheless, reports claimed that Samsung would be debuting the technology on the Galaxy Note 9 later in the year. Continue reading →
08 Mar 22:31

Purism Partners with Cryptography Pioneer Werner Koch to Create a New Encrypted Communication Standard for Security-Focused Devices

by Jeff

Koch’s GnuPG and Smartcard encryption innovations popularized by Edward Snowden to be implemented in Purism’s Librem 5 smartphone and Librem laptop devices.

SAN FRANCISCO, California — March 8th, 2018 — Purism, maker of security-focused laptops has announced today that they have joined forces with leading cryptography pioneer, Werner Koch, to integrate hardware encryption into the company’s Librem laptops and forthcoming Librem 5 phone. By manufacturing hardware with its own software and services, Purism will include cryptography by default pushing the industry forward with unprecedented protection for end-user devices.

Adding to the implementation and delivery of Trammel Hudson’s Heads security firmware and partnership with Nextcloud for end-to-end encrypted storage, Purism will now leverage the GnuPG (GPG) and SmartCard designs that Werner Koch has been involved in for over a decade, to include encryption by default into its hardware, software, and services. Librem devices will also include Werner’s GPG encryption, that Edward Snowden famously used to communicate with journalists, by default into communications such as email and messaging through a new process called Web Key Directory, which a distributed system that allows users to select recipient permissions on communication that will be encrypted.

Werner Koch, creator of GPG

“Purism’s goal of easy-to-use cryptography built into its products is the ideal approach to gain mass adoption—Purism is manufacturing modern hardware designed to allow the users to have control of their own systems.” said Werner Koch, GPG creator and leading cryptography expert. “Leveraging cryptography in hardware, software, and services together ensures the best approach to security, and I’m excited to help advance that with Purism.”

Purism CEO Todd Weaver

“We are very excited about the partnership between Purism and Werner Koch, especially being able to work closely with a foremost expert with regard to all things cryptography,” said Todd Weaver, CEO of Purism. “We continue to advance solutions aligned with our goals of privacy and security for everyone and this union adds to our growing roster of partnerships that represent our ideal approach to protecting users by default, without sacrificing convenience or usability.”

With the help of Koch, Purism will also utilize secure storage with full-disk-encryption, and file encryption. The final implementation will allow the user or business to retain control by holding the keys to protect their own digital files or data.


About the Purism Librem

Purism’s goal with the Librem products is to offer a high-end computers and phones with a simple, out-of-the-box, secure computing environment usable by ordinary users.

Purism’s Librem laptops feature customized components designed to increase security and freedom for end-users, including coreboot, a neutralized Intel Management Engine, Intel AMT avoidance, and many other features that make this partnership possible on a technical level.


About Werner Koch

Werner Koch became interested in software development in the late seventies and since then worked on systems ranging from CP/M systems to mainframes, languages from assembler to Smalltalk and applications from drivers to financial analysis systems. He is widely known as the principal author of the GNU Privacy Guard (GnuPG or GPG), a project he started in 1997 to foster the use of encrypted communication. Living in Europe, he was not affected by the then active U.S. export restrictions on cryptography software and thus able to make GnuPG available for everyone as Free Software. A large online community of users, developers and donors are extensively helping to maintain and extend GnuPG.

About Purism

Purism is a Social Purpose Corporation devoted to bringing security, privacy, software freedom, and digital independence to everyone’s personal computing experience. With operations based in San Francisco (California) and around the world, Purism manufactures premium-quality laptops and phones, creating beautiful and powerful devices meant to protect users’ digital lives without requiring a compromise on ease of use. Purism designs and assembles its hardware by carefully selecting internationally sourced components to be privacy-respecting and fully Free-Software-compliant. Security and privacy-centric features come built-in with every product Purism makes, making security and privacy the simpler, logical choice for individuals and businesses.

Media Contact

Marie Williams, Coderella / Purism +1 415-689-4029 pr@puri.sm See also the Purism press room for additional tools and announcements.

The post Purism Partners with Cryptography Pioneer Werner Koch to Create a New Encrypted Communication Standard for Security-Focused Devices appeared first on Purism.

08 Mar 22:30

Coding is for girls

by magda

Less than four years ago, Magda Jadach was convinced that programming wasn’t for girls. On International Women’s Day, she tells us how she discovered that it definitely is, and how she embarked on the new career that has brought her to Raspberry Pi as a software developer.

“Coding is for boys”, “in order to be a developer you have to be some kind of super-human”, and “it’s too late to learn how to code” – none of these three things is true, and I am going to prove that to you in this post. By doing this I hope to help some people to get involved in the tech industry and digital making. Programming is for anyone who loves to create and loves to improve themselves.

In the summer of 2014, I started the journey towards learning how to code. I attended my first coding workshop at the recommendation of my boyfriend, who had constantly told me about the skill and how great it was to learn. I was convinced that, at 28 years old, I was already too old to learn. I didn’t have a technical background, I was under the impression that “coding is for boys”, and I lacked the superpowers I was sure I needed. I decided to go to the workshop only to prove him wrong.

Later on, I realised that coding is a skill like any other. You can compare it to learning any language: there’s grammar, vocabulary, and other rules to acquire.

Log In or Sign Up to View

See posts, photos and more on Facebook.

Alien message in console

To my surprise, the workshop was completely inspiring. Within six hours I was able to create my first web page. It was a really simple page with a few cats, some colours, and ‘Hello world’ text. This was a few years ago, but I still remember when I first clicked “view source” to inspect the page. It looked like some strange alien message, as if I’d somehow broken the computer.

I wanted to learn more, but with so many options, I found myself a little overwhelmed. I’d never taught myself any technical skill before, and there was a lot of confusing jargon and new terms to get used to. What was HTML? CSS and JavaScript? What were databases, and how could I connect together all the dots and choose what I wanted to learn? Luckily I had support and was able to keep going.

At times, I felt very isolated. Was I the only girl learning to code? I wasn’t aware of many female role models until I started going to more workshops. I met a lot of great female developers, and thanks to their support and help, I kept coding.

Another struggle I faced was the language barrier. I am not a native speaker of English, and diving into English technical documentation wasn’t easy. The learning curve is daunting in the beginning, but it’s completely normal to feel uncomfortable and to think that you’re really bad at coding. Don’t let this bring you down. Everyone thinks this from time to time.

Play with Raspberry Pi and quit your job

I kept on improving my skills, and my interest in developing grew. However, I had no idea that I could do this for a living; I simply enjoyed coding. Since I had a day job as a journalist, I was learning in the evenings and during the weekends.

I spent long hours playing with a Raspberry Pi and setting up so many different projects to help me understand how the internet and computers work, and get to grips with the basics of electronics. I built my first ever robot buggy, retro game console, and light switch. For the first time in my life, I had a soldering iron in my hand. Day after day I become more obsessed with digital making.

Magdalena Jadach on Twitter

solderingiron Where have you been all my life? Weekend with #raspberrypi + @pimoroni + @Pololu + #solder = best time! #electricity

One day I realised that I couldn’t wait to finish my job and go home to finish some project that I was working on at the time. It was then that I decided to hand over my resignation letter and dive deep into coding.

For the next few months I completely devoted my time to learning new skills and preparing myself for my new career path.

I went for an interview and got my first ever coding internship. Two years, hundreds of lines of code, and thousands of hours spent in front of my computer later, I have landed my dream job at the Raspberry Pi Foundation as a software developer, which proves that dreams come true.

Animated GIF – Find & Share on GIPHY

Discover & share this Animated GIF with everyone you know. GIPHY is how you search, share, discover, and create GIFs.

Where to start?

I recommend starting with HTML & CSS – the same path that I chose. It is a relatively straightforward introduction to web development. You can follow my advice or choose a different approach. There is no “right” or “best” way to learn.

Below is a collection of free coding resources, both from Raspberry Pi and from elsewhere, that I think are useful for beginners to know about. There are other tools that you are going to want in your developer toolbox aside from HTML.

  • HTML and CSS are languages for describing, structuring, and styling web pages
  • You can learn JavaScript here and here
  • Raspberry Pi (obviously!) and our online learning projects
  • Scratch is a graphical programming language that lets you drag and combine code blocks to make a range of programs. It’s a good starting point
  • Git is version control software that helps you to work on your own projects and collaborate with other developers
  • Once you’ve got started, you will need a code editor. Sublime Text or Atom are great options for starting out

Coding gives you so much new inspiration, you learn new stuff constantly, and you meet so many amazing people who are willing to help you develop your skills. You can volunteer to help at a Code Club or  CoderDojo to increase your exposure to code, or attend a Raspberry Jam to meet other like-minded makers and start your own journey towards becoming a developer.

The post Coding is for girls appeared first on Raspberry Pi.

08 Mar 22:30

AVs: Heaven or Hell?

by pricetags

Robin Chase of osmosys.org joins the discussion (debate?) on the impacts of AVs – autonomous vehicles.  Her perspective is binary:

Self-driving cars are coming! Will their future deliver us a transportation heaven, or hellacious cities? How they impact labor, energy, land use, and tax revenue is in our hands.

08 Mar 22:30

Mozilla experiment aims to reduce bias in code reviews

by Judy DeMocker

Mozilla is kicking off a new experiment for International Women’s Day, looking at ways to make open source software projects friendlier to women and racial minorities. Its first target? The code review process.

The experiment has two parts: there’s an effort to build an extension for Firefox that gives programmers a way to anonymize pull requests, so reviewers will see the code itself, but not necessarily the identity of the person who wrote it. The second part is gathering data about how sites like Bugzilla and GitHub work, to see how “blind reviews” might fit into established workflows.

The idea behind the experiment is a simple one: If the identity of a coder is shielded, there’s less opportunity for unconscious gender or racial bias to creep into decision-making processes. It’s similar to an experiment that began the 1970s, when U.S. symphonies began using blind auditions to hire musicians. Instead of hand-picking known proteges, juries listened to candidates playing behind a screen. That change gave women an edge: They were 50 percent more likely to make it past the first audition if their gender wasn’t known. Over the decades, women gained ground, going from 10% representation in orchestras to 35 percent in the 1990s.

Mozilla is hoping to use a similar mechanism – anonymity – to make the code review process more egalitarian, especially in open source projects that rely on volunteers. Female programmers are underrepresented in the tech industry overall, and much less likely to participate in open source projects. Women account for 22 percent of computer programmers working in the U.S, but only 11 percent of them contribute to open source projects. A 2016 study of more than 50 GitHub repositories revealed that, in fact, women’s pull requests were approved more often than their male counterparts – nearly 3% more often. However, if their gender was known, female coders were .8% less likely to have their code accepted.

What’s going on? There are two possible answers. One is that people have an unconscious bias against women who write code. If that’s the case, there’s a test you can take to find out: Do I have trouble associating women with scientific and technical roles?

Then there is a darker interpretation: that men are acting deliberately to keep computer programming a boy’s club, rather than accepting high-quality input from women, racial minorities, transgender individuals, and economically underprivileged folks.

A Commitment to Diversity

What does it mean to be inclusive and welcoming to female software engineers? It means, first of all, taking stock of what kind of people we think will do the best job creating software.

“When we talk about diversity and inclusion, it helps to understand the “default persona” that we’re dealing with,” said Emma Humphries, an engineering program manager and bugmaster at Mozilla. “We think of a typical software programmer as a white male with a college education and full-time job that affords him the opportunity to do open source work, either as a hobby or as part of a job that directly supports open source projects.”

This default group comes with a lot of assumptions, Humphries said. They have access to high-bandwidth internet and computers that can run a compiler and development tools, as opposed to a smartphone or a Chromebook. “When we talk about including people outside of this idealized group, we get pushback based on those assumptions,” she said.

For decades, white men have dominated the ranks of software developers in the U.S. But that’s starting to change. The question is, how can we deal with biases that have been years in the making?

Inventing a Solution

Mozilla’s Don Marti, a strategist for Mozilla’s Open Innovation group, decided to take on the challenge. Marti’s hypothesis was: If I don’t know who requested the code review, then I won’t have any preconceived notions about how good or bad the code might be. Marti recruited Tomislav Jovanovic, a ten-year veteran of Mozilla’s open source projects, to create a blinding mechanism for code repositories like GitHub. That way, reviewers can’t see the gender, location, user name, icon, or avatar associated with a particular code submission.

Jovanovic was eager to contribute. “I have been following tech industry diversity efforts for a long time, so the idea of using a browser extension to help with that seemed intriguing,” he said. “Even if we are explicitly trying to be fair, most of us still have some unconscious bias that may influence our reviews based on the author’s perceived gender, race, and/or authority.”

Bias goes the other way as well, in that reviewers might be less critical of work by their peers and colleagues. “Our mind often tricks us into skimming code submitted by known and trusted contributors,” Jovanovic said. “So hiding their identities can lead to more thorough reviews, and ultimately better code overall.”

Test and Measure

An early prototype of a Firefox Quantum add-on can redact the identity of a review requestor on Bugzilla and the Pull Request author on GitHub. It also provides the ability to uncover that identity, if you prefer to get a first look at code without author info, then greet a new contributor or refer to a familiar contributor by name in your comments. Early users can also flag the final review as performed in “blind mode”, helping gather information about who is getting their code accepted and measuring how long the process takes.

Jovanovic is also gathering user input about what types of reviews could be blind by default and how to use a browser extension to streamline common workflows in GitHub. It’s still early days, but so far, feedback on the tests has been overwhelmingly positive.

Having a tool that can protect coders, no matter who they are, is a great first step to building a meritocracy in a rough-and-tumble programmer culture. In recent years, there have been a number of high-profile cases of harassment at companies like Google, GitHub, Facebook, and others. An even better step would be if companies, projects, and code repositories would adopt blind reviews as a mandatory part of their code review processes.

For folks who are committed to open source software development, the GitHub study was something of a downer. “I thought open source was this great democratizing force in the world,” said Larissa Shapiro, Head of Global Diversity and Inclusion at Mozilla. “But it does seem that there is a pervasive pattern of gender bias in tech, and it’s even worse in the open source culture.”

Small Bias, Big Impact

Bias in any context adds up to a whole lot more than hurt feelings. There are far-reaching consequences to having gender and racial bias in peer reviews of code. For the programmers, completing software projects – including review and approval of their code – is the way to be productive and therefore valued. If a woman is not able to merge her code into a project for whatever reason, it imperils her job.

“In the software world, code review is a primary tool that we use to communicate, to assign value to our work, and to establish the pecking order at work in our industry,” Shapiro said.

Ironically, demand for programming talent is high and expected to go higher. Businesses need programmers to help them build new applications, create and deliver quality content, and offer novel ways to communicate and share experiences online. According to the group Women Who Code, companies could see a massive shortfall of technical talent just two years from now, with as many as a million jobs going unfilled. At 59% of the U.S. workforce, women could help with that shortfall. However, they make up just 30% of workers in the tech industry today, and are leaving it faster than any other sector. So we’re not really heading in the right direction, in terms of encouraging women and other underrepresented groups to take on technical roles.

Maybe a clever bit of browser code can start to turn the tide. At the very least, we should all be invested in making open source more open to all, and accept high-quality contributions, no matter who or where they come from. The upside is there: Eliminate bias. Build better communities. Cultivate talent. Get better code, and complete projects faster. What’s not to like about that?

You can sign up for an email alert when the final version of the Blind Reviews Experiment browser extension becomes available later this year, and we’ll ask for your feedback on how to make the extensions as efficient and effective as possible.

 

The post Mozilla experiment aims to reduce bias in code reviews appeared first on The Mozilla Blog.

08 Mar 22:30

Thank you, Tiffany

by Dries

I recently had the opportunity to read Tiffany Farriss' Drupal Association Retrospective. In addition to being the CEO of Palantir.net, Tiffany also served on the Drupal Association Board of Directors for nine years. In her retrospective post, Tiffany shares what the Drupal Association looked like when she joined the board in 2009, and how the Drupal Association continues to grow today.

What I really appreciate about Tiffany's retrospective is that it captures the evolution of the Drupal Association. It's easy to forget how far we've come. What started as a scrappy advisory board, with little to no funding, has matured into a nonprofit that can support and promote the mission of the Drupal project. While there is always work to be done, Tiffany's retrospective is a great testament of our community's progress.

I feel very lucky that the Drupal Association was able to benefit from Tiffany's leadership for nine years; she truly helped shape every aspect of the Drupal Association. I'm proud to have worked with Tiffany; she has been one of the most influential, talented members of our Board, and has been very generous by contributing both time and resources to the project.

08 Mar 22:30

When is an OER an OER?

files/images/cc_consequence.PNG

David Wiley, iterating toward openness, Mar 11, 2018


Icon

David Wiley argues that we shoul revise the definition of 'open educational resources', changing the criteria from requiring 'free access to the resource' to requiring only 'free access to the rights to reuse the resource'. This allows the resource itself to be not available for free, and yet still be an open educational resource. On this model, he suggests, "the public will always have free access to the resource, but not that the public will have free access to every copy of the resource." It's a clever argument but has the unpalatable consequence that a resource might not be available to anyone and yet still, by this definition, be classified as an OER.

Web: [Direct Link] [This Post]
08 Mar 22:30

The Best Drawing Tablets for Beginners

by claudia
The Best Drawing Tablets for Beginners

After interviewing five professional artists, researching 23 drawing tablets, and testing 11, we’ve found the Wacom Intuos S to be the best drawing tablet for beginners. The Intuos works on Windows and macOS with most popular art programs, and it offers the most precision and control of any tablet under $100. The Intuos S’s pen and tablet buttons are among the most customizable we found thanks to excellent software.

08 Mar 21:43

You’ll soon be able to upgrade from Windows 10 S for free

by Dean Daley
Microsoft

Microsoft confirmed yesterday that its lightweight, education-focused Windows 10 S operating system will soon be turned into a mode that can be switched on and off, instead of a full operating system.

In addition to yesterday’s announcement, Joe Belfiore, vice president of Microsoft, has now revealed that it will soon be free to switch out of Windows 10 S mode, regardless of which Windows 10 version you’re using.

Windows 10 S mode will arrive with the next update to Windows 10. Microsoft expects that Windows 10 S-mode enabled devices will start shipping in the coming months from its partners.

Microsoft announced Windows 10 S in 2017 as a lightweight version of its Windows 10 operating system, designed to compete with Google’s Chrome OS.

Source: Microsoft blog

The post You’ll soon be able to upgrade from Windows 10 S for free appeared first on MobileSyrup.

08 Mar 21:43

TunnelBear acquired by McAfee

by Jessica Galang
TunnelBear

McAfee has acquired Toronto-based VPN company TunnelBear. Terms of the deal weren’t disclosed.

McAfee says that the acquisition allows it to add to its privacy tools for customers. In a release, the company said that combining TunnelBear’s secure network with an intuitive interface helps keep customers’ data secure on public Wi-Fi and web browsing private from advertisers with the ability to block intrusive ads.

“TunnelBear has built an engaging and profitable direct-to-consumer brand, and we’re confident this acquisition will serve both our end users and partners by embedding its best-in-class, hardened network into our Safe Connect product,” said Christopher Young, CEO of McAfee. “This investment is strategic for McAfee’s consumer business as it further showcases our commitment to help keep our customers’ online data and browsing private and more secure at a time when the threat landscape is growing in volume, speed and complexity.”

According to a McAfee survey, 58 percent of respondents know how to check if a Wi-Fi network is safe to use, but less than half take the time to do so.

“McAfee’s acquisition of TunnelBear is an exciting opportunity for our company. TunnelBear will continue to develop the products our customers have come to love, now with the backing and resources of a leading cybersecurity company,” said Ryan Dochuk, co-founder of TunnelBear. “McAfee shares our passion to help everyone browse a more secure and private internet. The acquisition provides us with the resources to develop our service, expand into new regions, and continue leadership of privacy and security practices in the VPN industry.”

Source: TunnelBear

This article was originally published on BetaKit

The post TunnelBear acquired by McAfee appeared first on MobileSyrup.

08 Mar 21:43

Mojio secures $30 million funding from Telus and Iris Capital, plans to expand globally

by Jessica Galang
smartdrive

Vancouver-based Mojio has raised an undisclosed amount of funding from Iris Capital and Telus Ventures.

The funding is a top up from Mojio’s $30 million funding round announced in November 2017.

“We are thrilled Iris Capital and Telus Ventures are fueling this stage in our growth,” said Mojio CEO, Kenny Hawk. “After a breakthrough year connecting more than half a million cars to our platform, this strategic funding adds fuel to our tank as we drive toward additional launches with major mobile network operators globally.”

Mojio’s plug-in device allows older vehicles to become connected cars, with analytics delivered to a user’s smartphone. It’s connected over 500,000 vehicles via its portfolio of mobile network operator customers, including Deutsche Telekom, T-Mobile US, and Telus, Bell and Rogers.

Mojio is the first international investment outside of Europe for IrisNext, Iris Capital’s latest $280 million fund supported by Orange, Publicis Groupe, Valeo, BRED, and Bpifrance. The investment is set to fuel Mojio’s growth in Europe.

Mojio is currently powering Telus’ connected car serviced called TELUS Drive+.

“TELUS’ connected car strategy builds upon our successful Internet of Things (IoT) business which includes developing innovative solutions for both the business and consumer markets across Canada,” said Rich Osborn, managing partner at Telus Ventures. “Through venture investments in emerging technology leaders like Mojio, we not only bring better solutions to market more quickly for our customers and drive better connections, but also help propel the Connected Car market in Canada and internationally with complementary telecom carriers around the world.”

Source: Mojio

This article was originally published on BetaKit

The post Mojio secures $30 million funding from Telus and Iris Capital, plans to expand globally appeared first on MobileSyrup.

08 Mar 21:43

Android P lets users connect up to five Bluetooth audio devices at once

by Dean Daley
Bluetooth on Android P

Now that Google’s Android P Developer Preview is out in the wild, new features and tweaks to Google’s operating system are starting to be uncovered.

For example, Android Police have uncovered functionality that allows users to connect to up to five Bluetooth devices simultaneously.

Within the Developer Preview, users can navigate to the ‘Developer Options’ menu and locate the option to increase the allowed number of connected Bluetooth audio devices.

With Android O, users can only connect to two Bluetooth audio devices at the same time.

For those with multiple Bluetooth devices, such as a smartwatch, Android Auto, multiple types of Bluetooth headphones and Bluetooth speakers, this update will likely be very useful.

This would save a person from having to continuously switch between devices.

Source: Android Police

The post Android P lets users connect up to five Bluetooth audio devices at once appeared first on MobileSyrup.