Shared posts

03 Oct 18:17

Apple’s iPhone X Likely To Make Billions Of Dollars… For Samsung

by Kate Cox
mkalus shared this story from Consumerist.

Here’s a funny thing about your modern technology landscape: The competition isn’t quite what it seems. Although Korean tech giant Samsung and iTitan Apple both sling out new high-end, flagship smartphones every year to entice the gadget-loving consumer, under the hood it’s a bit of a “heads I win, tails you lose” situation for Samsung, which stands to win big if Apple does — because it supplies a number of the key parts that make your iPhone go.

Samsung’s got to be at least as excited for Apple’s new fancy flagship iPhone X to do well as Apple is, the Wall Street Journal reports, because it’s going to make more money from Apple than it is from its own Galaxy line of phones.

An analysis the WSJ commissioned found that over the 20 months after the iPhone X launch, the parts Samsung makes for Apple’s device are likely to generate $4 billion more for Samsung than the parts for the company’s own Galaxy S8 do.

That’s based on an estimation that Apple will sell 130 million iPhone X devices worldwide during that time frame. Each of those thousand-dollar smartphone sales sends about $110 Samsung’s way.

Samsung pockets more from each Galaxy S8, the analysis finds — about $202 — but Samsung is only expected to sell about 50 million units of the S8 line in that same timeframe. The math says that Samsung is thus going to make more revenue from the Apple phone than it will off its signature device.

Tangled Supply Chain

Although Samsung’s devices are generally selling well as the world’s top high-end Android devices, the company has been part of competitor Apple’s supply chain for years.

Related: It takes dozens of companies to make your iPhone

Samsung made more than 75% of the actual processor chips — the tiny silicon brains that make computers work — for several generations of iPhone. These days, that business falls to a different company, but Samsung still provides other components for the iPhone, including the OLED screens that make the new iPhone display so sharp and bright.

The WSJ reports that despite a long-running patent infringement lawsuit, the two companies still work closely together… although Apple is also ramping up development and production of OLED tech in-house for 2019.





03 Oct 18:17

Drupal looking to adopt React

by Dries
Drupal react

Last week at DrupalCon Vienna, I proposed adding a modern JavaScript framework to Drupal core. After the keynote, I met with core committers, framework managers, JavaScript subsystem maintainers, and JavaScript experts in the Drupal community to discuss next steps. In this blog post, I look back on how things have evolved, since the last time we explored adding a new JavaScript framework to Drupal core two years ago, and what we believe are the next steps after DrupalCon Vienna.

As a group, we agreed that we had learned a lot from watching the JavaScript community grow and change since our initial exploration. We agreed that today, React would be the most promising option given its expansive adoption by developers, its unopinionated and component-based nature, and its well-suitedness to building new Drupal interfaces in an incremental way. Today, I'm formally proposing that the Drupal community adopt React, after discussion and experimentation has taken place.

Two years ago, it was premature to pick a JavaScript framework

Three years ago, I developed several convictions related to "headless Drupal" or "decoupled Drupal". I believed that:

  1. More and more organizations wanted a headless Drupal so they can use a modern JavaScript framework to build application-like experiences.
  2. Drupal's authoring and site building experience could be improved by using a more modern JavaScript framework.
  3. JavaScript and Node.js were going to take the world by storm and that we would be smart to increase the amount of JavaScript expertise in our community.

(For the purposes of this blog post, I use the term "framework" to include both full MV* frameworks such as Angular, and also view-only libraries such as React combined piecemeal with additional libraries for managing routing, states, etc.)

By September 2015, I had built up enough conviction to write several long blog posts about these views (post 1, post 2, post 3). I felt we could accomplish all three things by adding a JavaScript framework to Drupal core. After careful analysis, I recommended that we consider React, Ember and Angular. My first choice was Ember, because I had concerns about a patent clause in Facebook's open-source license (since removed) and because Angular 2 was not yet in a stable release.

At the time, the Drupal community didn't like the idea of picking a JavaScript framework. The overwhelming reactions were these: it's too early to tell which JavaScript framework is going to win, the risk of picking the wrong JavaScript framework is too big, picking a single framework would cause us to lose users that favor other frameworks, etc. In addition, there were a lot of different preferences for a wide variety of JavaScript frameworks. While I'd have preferred to make a bold move, the community's concerns were valid.

Focusing on Drupal's web services instead

By May of 2016, after listening to the community, I changed my approach; instead of adding a specific JavaScript framework to Drupal, I decided we should double down on improving Drupal's web service APIs. Instead of being opinionated about what JavaScript framework to use, we would allow people to use their JavaScript framework of choice.

I did a deep dive on the state of Drupal's web services in early 2016 and helped define various next steps (post 1, post 2, post 3). I asked a few of the OCTO team members to focus on improving Drupal 8's web services APIs; funded improvements to Drupal core's REST API, as well as JSON API, GraphQL and OpenAPI; supported the creation of Waterwheel projects to help bootstrap an ecosystem of JavaScript front-end integrations; and most recently supported the development of Reservoir, a Drupal distribution for headless Drupal. There is also a lot of innovation coming from the community with lots of work on the Contenta distribution, JSON API, GraphQL, and more.

The end result? Drupal's web service APIs have progressed significantly the past year. Ed Faulkner of Ember told us: "I'm impressed by how fast Drupal made lots of progress with its REST API and the JSON API contrib module!". It's a good sign when a core maintainer of one of the leading JavaScript frameworks acknowledges Drupal's progress.

The current state of JavaScript in Drupal

Looking back, I'm glad we decided to focus first on improving Drupal's web services APIs; we discovered that there was a lot of work left to stabilize them. Cleanly integrating a JavaScript framework with Drupal would have been challenging 18 months ago. While there is still more work to be done, Drupal 8's available web service APIs have matured significantly.

Furthermore, by not committing to a specific framework, we are seeing Drupal developers explore a range of JavaScript frameworks and members of multiple JavaScript framework communities consuming Drupal's web services. I've seen Drupal 8 used as a content repository behind Angular, Ember, React, Vue, and other JavaScript frameworks. Very cool!

There is a lot to like about how Drupal's web service APIs matured and how we've seen Drupal integrated with a variety of different frameworks. But there is also no denying that not having a JavaScript framework in core came with certain tradeoffs:

  1. It created a barrier for significantly leveling up the Drupal community's JavaScript skills. In my opinion, we still lack sufficient JavaScript expertise among Drupal core contributors. While we do have JavaScript experts working hard to maintain and improve our existing JavaScript code, I would love to see more experts join that team.
  2. It made it harder to accelerate certain improvements to Drupal's authoring and site building experience.
  3. It made it harder to demonstrate how new best practices and certain JavaScript approaches could be leveraged and extended by core and contributed modules to create new Drupal features.

One trend we are now seeing is that traditional MV* frameworks are giving way to component libraries; most people seem to want a way to compose interfaces and interactions with reusable components (e.g. libraries like React, Vue, Polymer, and Glimmer) rather than use a framework with a heavy focus on MV* workflows (e.g. frameworks like Angular and Ember). This means that my original recommendation of Ember needs to be revisited.

Several years later, we still don't know what JavaScript framework will win, if any, and I'm willing to bet that waiting two more years won't give us any more clarity. JavaScript frameworks will continue to evolve and take new shapes. Picking a single one will always be difficult and to some degree "premature". That said, I see React having the most momentum today.

My recommendations at DrupalCon Vienna

Given that it's been almost two years since I last suggested adding a JavaScript framework to core, I decided to bring the topic back in my DrupalCon Vienna keynote presentation. Prior to my keynote, there had been some renewed excitement and momentum behind the idea. Two years later, here is what I recommended we should do next:

  • Invest more in Drupal's API-first initiative. In 2017, there is no denying that decoupled architectures and headless Drupal will be a big part of our future. We need to keep investing in Drupal's web service APIs. At a minimum, we should expand Drupal's web service APIs and standardize on JSON API. Separately, we need to examine how to give API consumers more access to and control over Drupal's capabilities.
  • Embrace all JavaScript frameworks for building Drupal-powered applications. We should give developers the flexibility to use their JavaScript framework of choice when building front-end applications on top of Drupal — so they can use the right tool for the job. The fact that you can front Drupal with Ember, Angular, Vue, React, and others is a great feature. We should also invest in expanding the Waterwheel ecosystem so we have SDKs and references for all these frameworks.
  • Pick a framework for Drupal's own administrative user interfaces. Drupal should pick a JavaScript framework for its own administrative interface. I'm not suggesting we abandon our stable base of PHP code; I'm just suggesting that we leverage JavaScript for the things that JavaScript is great at by moving relevant parts of our code from PHP to JavaScript. Specifically, Drupal's authoring and site building experience could benefit from user experience improvements. A JavaScript framework could make our content modeling, content listing, and configuration tools faster and more application-like by using instantaneous feedback rather than submitting form after form. Furthermore, using a decoupled administrative interface would allow us to dogfood our own web service APIs.
  • Let's start small by redesigning and rebuilding one or two features. Instead of rewriting the entirety of Drupal's administrative user interfaces, let's pick one or two features, and rewrite their UIs using a preselected JavaScript framework. This allows us to learn more about the pros and cons, allows us to dogfood some of our own APIs, and if we ultimately need to switch to another JavaScript framework or approach, it won't be very painful to rewrite or roll the changes back.

Selecting a JavaScript framework for Drupal's administrative UIs

In my keynote, I proposed a new strategic initiative to test and research how Drupal's administrative UX could be improved by using a JavaScript framework. The feedback was very positive.

As a first step, we have to choose which JavaScript framework will be used as part of the research. Following the keynote, we had several meetings at DrupalCon Vienna to discuss the proposed initiative with core committers, all of the JavaScript subsystem maintainers, as well as developers with real-world experience building decoupled applications using Drupal's APIs.

There was unanimous agreement that:

  1. Adding a JavaScript framework to Drupal core is a good idea.
  2. We want to have sufficient real-use experience to make a final decision prior to 8.6.0's development period (Q1 2018). To start, the Watchdog page would be the least intrusive interface to rebuild and would give us important insights before kicking off work on more complex interfaces.
  3. While a few people named alternative options, React was our preferred option, by far, due to its high degree of adoption, component-based and unopinionated nature, and its potential to make Drupal developers' skills more future-proof.
  4. This adoption should be carried out in a limited and incremental way so that the decision is easily reversible if better approaches come later on.

We created an issue on the Drupal core queue to discuss this more.

Conclusion

Drupal supporting different JavaScript front ends
Drupal should support a variety of JavaScript libraries on the user-facing front end while relying on a single shared framework as a standard across Drupal administrative interfaces.

In short, I continue to believe that adopting more JavaScript is important for the future of Drupal. My original recommendation to include a modern JavaScript framework (or JavaScript libraries) for Drupal's administrative user interfaces still stands. I believe we should allow developers to use their JavaScript framework of choice to build front-end applications on top of Drupal and that we can start small with one or two administrative user interfaces.

After meeting with core maintainers, JavaScript subsystem maintainers, and framework managers at DrupalCon Vienna, I believe that React is the right direction to move for Drupal's administrative interfaces, but we encourage everyone in the community to discuss our recommendation. Doing so would allow us to make Drupal easier to use for site builders and content creators in an incremental and reversible way, keep Drupal developers' skills relevant in an increasingly JavaScript-driven world, move us ahead with modern tools for building user interfaces.

Special thanks to Preston So for contributions to this blog post and to Matt Grill, Wim Leers, Jason Enter, Gábor Hojtsy, and Alex Bronstein for their feedback during the writing process.

03 Oct 18:10

How do you want to fill your day?

by Paul Jarvis

When you work for yourself, you get to be in charge of the answer (to some extent of course—it’s hard to monetize eating chips or hammock sleeping, for example).

The post How do you want to fill your day? appeared first on Paul Jarvis.

03 Oct 18:10

In the Cloud, No One Can Hear Your OutOfMemoryError

by Joe Kutner

Pushing an app to the cloud can feel like launching a probe into space. Once your project is thousands of miles away you can't bang on it with a hammer or replace broken parts when there's a problem. Your debugging efforts must rely on the instrumentation, telemetry, and remote controls included with the app when it was deployed. On Heroku, we've gladly done some of that prep work for you.

Two new Heroku features, Heroku Exec and Language Runtime Metrics, improve your production monitoring, inspecting, and debugging experience on the platform. With Heroku Exec, you can create secure TCP and SSH tunnels into a dyno, which facilitate SSH sessions, port forwarding, remote debugging, and most popular diagnostic tools. Our Language Runtime Metrics feature supplements these tools by displaying detailed time series metrics in your Heroku dashboard.

You can try Heroku Exec right now by running the following command on any Heroku app:

$ heroku ps:exec
Establishing credentials... done
Connecting to web.1 on ⬢ evening-lowlands-62983...
~ $

This creates an SSH session into a running dyno, which makes it possible to inspect your application's Java process with commands like jstat and jcmd. To make this even easier, we've integrated the most popular tools, including jmap and VisualVM, directly into the Heroku CLI so you can run commands such as heroku java:jmap to get a heap dump from a dyno.

Let's take a closer look at how you can use these features to debug real production problems by testing them on a Java application with a memory leak.

Inspecting an App with the Heroku Java CLI

You can follow the steps in this section with your own Java app running on Heroku, or you can use the sample app we've created, which includes a synthetic memory leak. You'll use the Heroku Java CLI to inspect the process with VisualVM and other diagnostic tools to identify the source of the leak.

Make sure you have a Heroku account and have installed the Heroku CLI, then run the following commands to deploy the sample app:

$ git clone https://github.com/kissaten/java-memory-leak
$ cd java-memory-leak
$ heroku create
$ git push heroku master

Open the app in a browser by running:

$ heroku open

The page will tell you exactly how much memory has been leaked, and it will grow each time you refresh. Unfortunately, most real-world leaks are not this polite, and must be uncovered with monitoring tools. The Java Development Kit (JDK) comes bundled with several of these tools, a few of which are integrated into the Heroku Java CLI. To start, install the Java CLI plugin by running this command:

$ heroku plugins:install heroku-cli-java

Now use the CLI to connect a local VisualVM session, a lightweight profiler for the Java virtual machine, to your remote Heroku dyno by running:

$ heroku java:visualvm

The command will create the connection and open VisualVM. You can see a demonstration in this video:

Refresh your app's web page a few times. As the memory leak grows, you'll also see the process's heap memory grow in VisualVM. This helps you identify that the leak is confined to heap memory as opposed to off-heap memory. But it doesn't narrow down the objects at the source of the growth. For that, you can use the jmap command like this:

$ heroku java:jmap --hprof
Establishing credentials... done
Generating heap dump for web.1 on ⬢ pure-tor-76648...
Dumping heap to /app/heapdump-5865f5e1-956a-4f60-8d66-8571b645a950.hprof ...
Heap dump file created
Downloading... ████████████████████████▏ 100% 00:00

This downloads a binary heap dump from the dyno, which can then be imported into tools like Eclipse Memory Analyzer (MAT) for analysis. Indeed, when you open the HPROF file in Eclipse MAT, its leak suspects report correctly identifies that the Servlet is holding on to some very large FakeLeak objects:

Eclipse Mat

Eclipse MAT, VisualVM, and jmap are great when you know you have a problem, but they are not tools you'll want to run continuously. For passive metrics monitoring, you need a low-overhead, zero-fuss solution.

Monitoring a Production App with Heroku JVM Metrics

The Heroku Language Runtime Metrics feature gathers detailed performance information from your application process and displays it in the Heroku Dashboard. This differs from our existing application metrics, which are gathered from the operating system and the Heroku platform. An application process's runtime can report more specific metrics, such as heap memory use and garbage collection activity, which provide better visibility into how your code is working.

To enable this feature, you'll first need to upgrade to a paid, Standard or above, dyno. Then add the Heroku Metrics buildpack to your app by running the following commands:

$ heroku buildpacks:add -i heroku/metrics

Finally, make an empty commit to your application, and redeploy:

$ git commit --allow-empty -m "Add Heroku Metrics Buildpack"
$ git push heroku master

Browse to the Heroku Dashboard for your application, and view the Metrics tab. Below the standard memory and dyno load charts, you'll see the JVM metrics:

jvmMetrics

These charts display heap memory (memory used for each object your program creates), non-heap memory (which includes Metaspace and buffer pools), and garbage collection activity. The metrics are reported by a small Java agent that Heroku attaches to your application process. This agent uses Prometheus, an open-source systems monitoring and alerting toolkit. We've chosen Prometheus because it's mature, has an active community, and is independent open-source project governed by the Cloud Native Computing Foundation.

Heroku Language Metrics support for JVM languages is generally available, and support for Go is in beta. We'll have more languages coming soon.

Bring Your Java Apps Down to Earth

Your app may be physically running on servers in another country or continent, but that doesn't mean you have to forgo the tooling that helps you solve problems. We're lucky to have such excellent monitoring and debugging tools in the Java ecosystem, and at Heroku we're happy to make them easily available for you.

For more information on the Heroku Java CLI, see the Heroku Exec article in Dev Center. For more information on JVM Runtime Metrics, see the Language Runtime Metrics article in Dev Center.

03 Oct 18:10

Velcro, singing lawyers, genericide, and what you need to know about trademarks in writing

by Josh Bernoff

Let’s talk about trademarks in writing, genericide, and and why this video about Velcro exists: When a company’s product and marketing take off, it dominates its category. As a natural result, its name becomes synonymous with the category — a process called genericide. When the public can’t tell the difference, the trademark becomes generic, and … Continued

The post Velcro, singing lawyers, genericide, and what you need to know about trademarks in writing appeared first on without bullshit.

03 Oct 18:10

459 East Pender Street

by ChangingCity

When this picture was taken, around 1900, this was addressed as 427 Princess Avenue, (it only became Pender in 1907) and the picture shows Mrs. Delia Gore and some of her family at the front entrance of their house. Mrs. Gore was head of the household, and aged 43 when the picture was taken. She was American, and in 1891 was living with her five US-born children aged 22 to 15, and two much younger; four-year old Georgie and tw0-year-old Jessie, both born in BC. The four oldest children had jobs; one was a marine engineer, her daughter was a seamstress and the youngest was an apprentice.

The street directory tells us Mrs. Gore was the widow of J M Gore, who shows up for the first time at this address in 1898 when he was listed as a hostler; a stablehand who looks after the horses at an inn. A year earlier there was a James M Gore living on 9th Avenue (Broadway today) who was a druggist. The 1901 census tells us that Mrs. Gore had arrived in Canada in 1894. The house appears to date back to around 1889,

By 1899 Mr. Gore had died; only Mrs. Gore was listed. The ‘Daily World’ of May 3rd reported the death “At noon to-day, James Gore, a well-known resident of the East End died at the City hospital. The deceased was injured at the time of General Booth’s visit to Vancouver and was walking in the Salvation Army parade when he was kicked in the stomach by a horse. He has been in the hospital ever since.” This turned out to be an inaccurate report. Perhaps ‘death by horse’ was as common an occurance as fatal car accidents. The May 4th newspaper corrected the news. “James Gore, who died at the City hospital yesterday, was not the gentleman injured in the General Booth parade, as stated in last evening’s World. Prior to removing to the East End, Mr. Gore was manager of the Great West Stock Yards, and, with his family, resided for some time at Central Park, and was kicked by a horse on Lulu Island on Saturday April 23rd, which resulted in his death at noon yesterday”.

On May 5th they reported “The funeral of the late James Gore was held to-day. The cortege left the family residence on Princess street at 5 o’clock this morning and the remains were interred this afternoon at Blaine, Wash., under the auspices of the Knights of Pythias. Rev. J. Irvine was the officiating minister and he accompanied the remains to Blaine”.

Mrs. Gore stayed in the city for a few years, but moved to Keefer Street. It’s likely that she returned to the United States, settling in Washington state, where she was apparently living with her son in 1930, and in 1940, aged 83, with her daughter Ruby. Ruby died, having returned to Vancouver, in 1949. Her death certificate tells us that her mother had been Delia Taylor before she married James Gore. They had married in Oregon in 1876, when James was 20 and Delia was 18.

Today the house is the home of the Hoy Ying Association, a Chinese benevolent association active in the city for at least 100 years. Their early records were rescued by historian Paul Yee when their earlier building was demolished, and are now in the City Archives. The biggest difference between 1900 and 2017 is the street level. The areas’s streets were regarded in the early 1900s, leaving some homes as much as 15 feet below the new street level, and others, like this one, a full storey above the street. The former basement was at some time turned into a basement suite.

Image source: City of Vancouver Archives CVA 371-891


03 Oct 18:10

Oh How I Have Failed Thee, Jupyter Notebooks…

by Tony Hirst

Although I first came across Jupyter – then IPython – notebooks in October 2012 (I think…), it took me another six months or so before I started playing regularly with them and pitched them for the then nascent TM351 course (geeknotes/history). We decided to explore the notebooks when the course/module team first met around about October 2013. Four years ago. Notebooks were also adopted for the Learn to Code for Data Analysis FutureLearn course (H/T to Michel Wermelinger for driving that) and only get the briefest of look-ins in the new level 1 course TM112 (even after I showed we could probably get turtle running in them…).

But to my shame I haven’t lobbied more on campus, and haven’t done the rounds giving talks and workshops and putting together meaningful demos.

Which is possibly the sort of activity that this newly advertised, and hugely attractive, role at the University of Edinburgh (h/t @PhilBarker) is designed to support – eLearning Officer Computational Notebooks.

Do you have a sound knowledge of technology and an enthusiasm for evaluating new approaches in education? We are looking for a learning technologist with a passion for communication and relationship management to lead a pilot of Jupyter notebooks for learning and teaching at the University of Edinburgh.

Jupyter notebooks are open-source web applications that enable learners to create, share and reuse computational narratives. Based within the central Information Services you will work closely with academic colleagues in Science and Engineering. You will analyse user requirements, advise on and support the use of Jupyter and evaluate the success of the pilot.

After clicking on the Apply button, we get to some more detail. Part of the purpose of the job is to “scope, assess demand and support requirements for a computational notebook (Jupyter Notebook) service”, something we’re trying to push through in a very limited form in the OU in order to support the TM112 notebook activity.

Here’s how the responsibilities unpick:

  1. To help academic and support staff make best use of learning technology services (in this case Jupyter Computational Notebook Service) and where required supporting and managing service change. Documenting use cases and sharing good practice and innovative solutions to improve the user experience. (Approx % of time 40%)
  2. To work with the user community and project partners in academic departments in order to continually improve the services and range of tools on offer. To maintain an up-to-date knowledge of the broader e-learning landscape in order to influence strategic direction and to develop innovative and appropriate use of learning technologies. (Approx % of time 30%)
  3. To participate and lead user and partner engagement events, in order to promote collaboration, knowledge sharing and greater awareness of services. To organise testing, training and workshops to support users. To represent the University and its interests both internally and externally. (Approx % of time 20%)
  4. Contribute to process improvement within both ISG and the wider University. Liaise and negotiate within members of University committees, user forums and working groups to formulate policy in accordance with the university strategic aims for learning and teaching. (Approx % of time 10%)

(On process improvement, I think Jupyter notebooks can provide a useful authoring environment (along with things like “written diagrams“) for “reproducible”  (which is to say, maintainable) course materials in the OU context. An approach I have had a total lack of success in promoting.)

I couldn’t help but try out a quick search for other notebooks related job ads, and turned up a handful of research posts, including one for a Bioinformatics Training Developer at the University of Cambridge – Cancer Research UK Cambridge Institute. The job duties and requirements provide an interesting complement to the skills required of a data journalist:

The training courses and summer schools already established are very popular and have gained a strong reputation. In this role, you will further develop the existing courses to reflect new advances. You will also create and deliver new training courses and materials in scientific data analysis and visualization, … . You will be responsible for assessing the training needs of research scientists and shaping a programme to meet those needs. This is an excellent opportunity to develop and apply new training approaches, making use of technologies such as R/Python Notebooks, Shiny web applications and Docker.

The successful candidate will have a degree in a scientific or computational discipline and preferably a postgraduate degree (MSc or PhD) and/or significant experience in Bioinformatics or Computational Biology, including the analysis of omics datasets using R. The role requires a high level of interpersonal and organizational skills and previous experience in preparation and delivery of training courses is essential. Strong practical skills in R and/or Python are highly desirable, including the use of version control systems, e.g. GitHub. …

[My emphasis.]

It’s maybe also worth mentioning here the current consultation around the draft Data Scientist Integrated Degree Apprenticeship (level 6) standard. Please comment if you can…

PS I popped together a feed for a search for “notebooks” on jobs.ac.uk using fetchrss.com to try to keep track of future upcoming academic job ads making mention of notebooks.


03 Oct 18:09

Jagmeet Singh on Transit

by Stephen Rees

I am not a member of the NDP and haven’t really been following their leadership race, but congratulations to Jagmeet Singh for securing the leadership. He says (on his blog)

a Jagmeet Singh-led government will:

Adopt a National Public Transit Strategy: Canada is still the only country in the G8 without a national transit program and people across Canada are looking for more affordable, reliable, and accessible public transit options. Congestion in our urban centres is hurting both our economy and our environment. A Jagmeet Singh-led government will implement a National Public Transit Strategy that will provide the long term and predictable funding for public transit that cities and communities across the country are seeking.

This appears under the “Carbon Emission Reduction” section. Good.

Now perhaps some of the dippers who read this blog can explain to me how a leader can impose his will on the rest of the party. I come from a UK Labour Party background where policy commitments of this kind have to be endorsed by the annual Party conference (convention in North American parlance). While a leader can espouse a policy, it is the membership at large which determines policy. And if you have a taste for such things try a search for “Clause Four” to see where that leads to.

I am, as I said, heartened by this commitment. But to what extent is this reflective of what the party rank and file actually want? Aren’t the big supporters of the NDP the union members in the car industry?  Isn’t that where most of the big bucks come from in the national party? 

The last bit has been deleted in response to a comment.


Filed under: greenhouse gas reduction, politics, transit, Transportation
03 Oct 17:27

Secrets and Lies Amongst Facebook Friends – Surprise Party Planning OpSec

by Tony Hirst

Noting that: surprise parties can be organised and co-ordinated on Facebook between the friends and family of the person who will be subject to the surprise using private groups and private events. Potential party goers can be mined used the friends list of the subject, as well as the friends themselves.

Observing that: Facebook users seem to quickly get the hang of operational security (opsec) using the “public” medium of Facebook to mount a clandestine operation against one of the members of the same social circle.

Wondering whether: the Facebook algorithm either helps maintain that form of social/party planning opsec, or could possibly threaten it. For example, if someone accidentally makes a public post about the upcoming surprise party, does the Facebook algo suppress showing that post to the target (algorithmically, noting that a group with a particular social circle seem to be actively excluding one of the people you might expect to be in that circle), or might it prioritise showing that post to the target (algorithmically, on the the grounds that this person should normally be included in a discussions within a particular social circle and for some reason appears to have been excluded  – which Facebook can spot and fix…)


03 Oct 17:27

Mass exodus at human scale

by Nathan Yau

Big numbers are too abstract in our minds to fully understand the scale of things. So, to show the full gravity of the hundreds of thousands of Muslims fleeing Myanmar’s Rakhine state, Reuters starts with the individuals and builds your intuition towards the true scale.

Tags: human, scale

03 Oct 17:27

Selecting The Right Tactics To Build Your Online Community [Feverbee Explains 4/6]

by Richard Millington

We’re all swayed by the allure of activity metrics.

It’s comforting to see discussions with hundreds of responses and thousands of people visiting our communities every day.

But this biases us to select tactics which will generate the most activity instead of the tactics which drive the best results. This is classic engagement-trap thinking.

In the 4th post of our Strategic Community Management series (see setting goals, objectives, and strategy), I want to break down the process of selecting the right tactics for your community.

If you want to sign up for the course, you have until this Friday.

Every Tactic Should Help Tell The Community Strategy Story

The strategy is the emotional story you create and tell to an audience to get them to perform the behaviors that matter. Your tactics are how you create and tell that story.

You don’t pick the tactics which drive the most engagement, you pick the tactics which create and tell the story which will get members to perform the behaviors you want. Here are some examples.

Example 1: Telling The ‘Importance’ Story

Imagine your goal is to use the community to generate fantastic product feedback for your engineers. One of your (three) objectives might be to get your top members to send detailed reports through on how they use and feel about the products.

In your interviews with top members, you might learn that members love feeling a sense of importance and exclusivity about being able to give feedback. This might lead into the tactics we see below:

 (click for full image)

This is just one of 3 objectives.

Tactics are less about what you say and more about what you do.

It’s not enough to tell top members how important they are. You have to genuinely make them feel important. Above you can see four very specific tactics that tell the story you need to tell.

Example 2: Telling The ‘Satisfaction’ Story

Let’s imagine your goal is to increase loyalty to your product. Your objectives might include getting members to share tips on doing more with the product.

Your interviews might reveal your regular members love the sense of satisfaction from knowing their tips helped others. Now you can create and tell the member satisfaction story as we see below:


(click to view full image)

We can agree that getting feedback on the usefulness of tips shared, being featured for the impact you’ve made, and seeing your name nominated to win a prize might make you feel pretty satisfied with your contributions to the community.

Now, these members will associate your community with that feeling of satisfaction.

Example 3: Telling The ‘Excitement’ Story

Let’s stick with the same goal (keeping customers for life), but a second objective for a different segment (lurkers and less active participants).

If your interviews revealed this group needs to feel excited about the tips, your tactics might include building up the big tips, creating a sense of scarcity, and making a big deal out of the tips shared.


(click to view full image)

Again, notice you’re not telling them the tips are exciting, you’re making the tips exciting.

This is a simplified version of a full strategy, but you get the idea.

If you’re taking a strategic community management approach, your mission isn’t to get an endless amount of activity, but to select very specific tactics.

None of the tactics above are the best way to drive activity, but they might be the best way to achieve your goals.

During our Strategic Community Management course we’re going to help you rebuild your community strategy to one that is focused on achieving goals which have widespread support within your organization.

We’ve found this course to be transformative for 100+ students now. I hope you will consider joining us. The fee for the course is $675 (or $1100 combined with Psychology of Community). Enrollment ends on October 9th.

You can sign up here: www.feverbee.com/scm

03 Oct 17:27

Creating an expository graph for a talk

I’m co-teaching a data science class at Johns Hopkins with John Muschelli. I gave the lectures on EDA and he just gave a lecture on how to create an “expository graph”. When we teach the class an exploratory graph is the kind of graph you make for yourself just to try to understand a data set. An expository graph is one where you are trying to communicate information to someone else.

When you are making an exploratory graph it is usually simple, with no axes, legends, fancy colors, or other effort to make it pretty, understandable and clear. John has a great blog post on how to build up a figure that is expository.

Recently I gave a talk at McGill University and needed to create a plot for the talk. I figured one more example is always better for everything, so I thought I’d go through my process here.

I wanted to show the p-value distribution from the tidy-pvals package. So first I loaded the data:

library(tidypvals)
library(ggridges)
## Loading required package: ggplot2
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(forcats)
data(allp)

I knew I wanted to use the ggridges package so I read the docs and started with the easiest version:

allp %>% 
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges()
## Picking joint bandwidth of 0.00413

Right away I saw there were some problems here. First of all, clearly a p-value greater than one shouldn’t be in there, so that was a mistake. I also don’t like that you can’t really see the values because most of the action is near zero.

So let’s fix the x-axis a bit. I spent a few minutes fiddling and decided I just wanted to see the values between 0 and 0.25.

allp %>% 
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges() + 
  xlim(c(0,0.25))
## Picking joint bandwidth of 0.00401
## Warning: Removed 359521 rows containing non-finite values
## (stat_density_ridges).

Ok that’s better, but I don’t really like the grey background so let’s pick a different background color

allp %>% 
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges() + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Picking joint bandwidth of 0.00401
## Warning: Removed 359521 rows containing non-finite values
## (stat_density_ridges).

That’s a bit prettier, but we see that field is sometimes NA so we need to remove those values.

allp %>% 
  filter(!is.na(field)) %>%
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges() + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Picking joint bandwidth of 0.00404
## Warning: Removed 349629 rows containing non-finite values
## (stat_density_ridges).

And actually the density plots are a little weird for p-values, lets see if we can turn them into something a little more like a histogram, which I think fits this data type better. To do that we have to change the parameters in geom_density_ridges.

allp %>% 
  filter(!is.na(field)) %>%
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges(stat = "binline") + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## `stat_binline()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 349629 rows containing non-finite values (stat_binline).

Ok but I think it would look better if it was a little bit higher resolution, let’s up the number of bins

allp %>% 
  filter(!is.na(field)) %>%
  ggplot(aes(x = pvalue, y = field)) +
    geom_density_ridges(stat = "binline",bins=50) + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Warning: Removed 349629 rows containing non-finite values (stat_binline).

Ok but as people have pointed out the spike at 0.05 is due to censoring (p-values reported like \(P < 0.05\)). So let’s break it down by operator.

allp %>% 
  filter(!is.na(field)) %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",bins=50) + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Warning: Removed 349629 rows containing non-finite values (stat_binline).

Ok there aren’t that many greater than p-values and it makes the plot messy so let’s drop those

allp %>% 
  filter(!is.na(field)) %>%
  filter(operator != "greaterthan") %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",bins=50) + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Warning: Removed 332965 rows containing non-finite values (stat_binline).

The histograms overlap a bit so let’s alpha blend the colors.

allp %>% 
  filter(!is.na(field)) %>%
  filter(operator != "greaterthan") %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",
                        bins=50,alpha=0.25) + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Warning: Removed 332965 rows containing non-finite values (stat_binline).

There is some funkiness in how the histogram bins are computed so I went to the internet and figured out I needed to set the boundary at 0 and make the bins be closed on the right.

allp %>% 
  filter(!is.na(field)) %>%
  filter(operator != "greaterthan") %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",
                        bins=50,alpha=0.25,
                        boundary=0,closed="right") + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE)
## Warning: Removed 332965 rows containing non-finite values (stat_binline).

Now we make sure that there isn’t wasted space on the y-axis by using the expand argument.

allp %>% 
  filter(!is.na(field)) %>%
  filter(operator != "greaterthan") %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",
                        bins=50,alpha=0.25,
                        boundary=0,closed="right") + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE) + 
  scale_y_discrete(expand=c(0,0))
## Warning: Removed 332965 rows containing non-finite values (stat_binline).

Remove the baseline from the plot for true ggridges coolness

allp %>% 
  filter(!is.na(field)) %>%
  filter(operator != "greaterthan") %>%
  ggplot(aes(x = pvalue, y = field,fill=operator)) +
    geom_density_ridges(stat = "binline",
                        bins=50,alpha=0.25,
                        boundary=0,closed="right",
                        draw_baseline=FALSE) + 
  xlim(c(0,0.25)) + 
  theme_ridges(grid = FALSE) + 
  scale_y_discrete(expand=c(0,0))
## Warning: Removed 332965 rows containing non-finite values (stat_binline).

That’s definitely not a perfect plot, but it worked for my talk and was at least able to communicate a couple of the key points (about variation by field, variation by operator, and spikes at critical values).

If I was going beyond the talk I’d probably reduce the number of fields displayed or really increase the size of the plot. I’d probably make the bin width even smaller and I’d add a title. I’d also probably clean up the “greaterthan” and “lessthan” to be “Greater than” and “Less than”.

Regardless, I’m always surprised how much work it takes to go from an exploratory plot I’m just looking at myself to one I’d show to other people.

03 Oct 17:27

Exponent

Exponent is a podcast about tech and society hosted by Ben Thompson and James Allworth.

I've been listening to Exponent for the past couple of months, and it quickly moved from my "eh, what else do I have to listen to?" group to my "listen to these podcast right away" group. And the lastest episode, Getting To The Future Faster, has been one of my favorites.

It intersects a lot of my favorite topics and it always ends with me thinking and wondering about things quite a bit deeper than I normally would. Often times with perspetives that I hadn't considered yet.

If you're not already listening to it in your favorite podcast player, then you should give it a try.

03 Oct 17:27

Some of the Press Coverage of Firefox 57 Beta (Quantum)

by Asa Dotzler

Firefox takes a Quantum leap forward with new developer edition  by Peter Bright at Ars Technica

Firefox 57 beta arrives with major visual overhaul and next-generation browser engine by Emil Protalinski at VentureBeat

Mozilla release Firefox 57 beta (Quantum): It’s 2x faster than Firefox 52 by Brad Linder at Liliputing

Mozilla’s Firefox Quantum browser is ridiculously fast by Matthew Hughes at TNW

Mozilla announces Firefox Quantum, the next major update with new UI and huge performance improvements by Pradeep at MSPoweruser

Mozilla Gives Firefox a ‘Quantum’ Speed Boost by Angela Moscaritolo at PCMag

Firefox Quantum challenges Chrome in browser speed by Stephen Shankland at CNET

New Firefox Beta Released With New User Interface, New Core Engine by Catalin Cimpanu at BleepingComputer

Firefox Announces New ‘Quantum’ Browser With 2X Faster Speeds, Coming November 14 by Mitchel Broussard at MacRumors

Firefox Quantum Next Generation Web Browser Launches November 14, Beta Out Now by Marius Nestor at Softpedia News

Mozilla Firefox 57 rebranded as Firefox Quantum by Paul Hill at Neowin.net

Download the super-speedy Firefox Quantum beta today by Cat Ellis at TechRadar

Firefox 57 Hits Beta, is Renamed to Firefox Quantum by Paul Thurrott at Thurrott.com

Mozilla’s Firefox Quantum next-generation browser is ready for you to try out by Mark Hachman at PCWorld

‘Project Quantum’ Doubles Firefox’s Performance In Latest Beta by Lucian Armasu at Tom’s Hardware

Mozilla is Making a New Firefox That’s Twice as Fast by Lee Mathews at Forbes

Mozilla whips out Rusty new Firefox Quantum (and that’s a good thing) by Shaun Nichols at The Register

Firefox Quantum is the latest browser to challenge Google Chrome  by Jacob Siegal at BGR

Firefox Quantum beta promises to double your browser speeds by Rachel England at Engadget

Mozilla: Firefox 57 is so fast we’re calling it Firefox Quantum by Liam Tung at ZDNet

Mozilla Accelerates Firefox 57 with Quantum Speed Boost by Sean Michael Kerner at eWeek

Mozilla previews its faster ‘Firefox Quantum’ browser by Gregg Keizer at Computerworld

Loyal to Google Chrome? Firefox Quantum might change that. by Monica Chin at Mashable

You Can Now Try the New Firefox Quantum Beta by Dave Parrack at MakeUseOf

Faster and even more minimalist, Firefox Quantum makes Chrome look old by Jayce Wagner at Digital Trends

It’s time to give Firefox another chance by Frederic Lardinois at TechCrunch

03 Oct 17:27

Some Nice Things People Said About Firefox 57 Beta (Quantum)

by Asa Dotzler

“Super impressed by @firefox quantum. I’ve been using it for a few days now and I’m switching permanently. Noticeably faster than Chrome.” Erik Reppel

“Firefox Quantum is blazing fast! Good job, Mozilla!” Oleksandr Shpak

“Using the new Firefox beta. it is much faster then the old one. It is as fast as Chrome. maybe faster. #fb” alex

“Firefox Quantum… really is an amazing overhaul of Firefox. It is hella fast.” rrees

“Trying out Firefox 57 beta – Quantum, And its been great so far. Far better than Chrome in speed, and hardly any bugs. Thanks @mozilla” Abhishek

“Wow, very impressed by @firefox ‘s beta version speed increase. I literally just ditched Chrome just now.” Florian Monfort

“I’m not sure what @mozilla did, but Firefox Quantum is fantastic. Easily made me switch back to Firefox :-o” Chris King

“The new Firefox Quantum (57 beta) is really nice, good job @mozilla. I think I might like it better than Chrome first time in a decade.” Axel Gneiting

“@mozilla i am using the latest firefox developer version quantum and has to say its just awesome very smooth in performance. HATS OFF TO U” Manhar sodhi

“I mostly moved from Firefox to Chrome about a year ago, but I’ve desperately waiting for FF Quantum to get back in… And it’s awesome!” Davide Borsatto

“Delightful experience with FF Nightly 57. Quantum + photon is love. Welcome back Firefox, you’ve been gone for too long.” Ahmad Albakri Zabri

“Anyone here using firefox quantum? It’s like a breath of fresh air, and so quick. It completely blows chrome out of the water on speed.” Jayesh M

“Been using @firefox beta on my laptop for days now! It’s one of the best browser experience ever!” Zan Cerne

“Holy shit, Firefox 57 is so much faster. Can’t wait for it to come out of beta.” Will Johansson

“After trying @firefox beta, I don’t want to go back to stable.” Saša Stamenkovic

“Just downloaded the Firefox Quantum Beta and it’s faaast. Beating the pants off Chrome right now” Tony Haile

“I know I’ve spent only one day with it so far, but the Firefox beta is quick and easy on the eyes. Might switch back to Firefox full-time” Daniel D. Beck

“So the #Firefox #quantum beta is absolutely phenomenal. I’m super excited for the full release so I can finally switch back from chrome.” David Burns

“holy shit, @firefox beta is killing me, it’s so much smoother than Chrome at almost everything” ghastly geist

“Been using the new @Firefox Quantum all day at work. Got home and tried to use Chrome, wayyyy too slow. Time to download Quantum!” Rich Burton

“Pleased with the speed and customization options in @firefox 57 beta. Got everything I want to see on screen in the tab bar and address bar.” Derrick Rossignol

“Been testing @Firefox Quantum these past few days. Cannot believe how damn fast it load web pages. Very exciting! Hopefully Chrome follows!” Jeremy Krantz

 

03 Oct 17:27

Pixels Camp 2017

by Rui Carmo

After three days of Pixels Camp to top off a grueling week of travel and meetings, I’m down for the count with the flu, but quite happy indeed.

Like last year, I didn’t have much time to dive in and actually organize the event. I did, however, spend a fair amount of time at the Microsoft booth doing the corporate thing, as well as going on stage for a few times – to present the Microsoft challenge during the opening session, as a commentator for the Chasing Ghosts challenge (along with the inimitable @chbm), and as an impromptu host for Presentation Karaoke.

So great fun was had, if only because I spent the past three days in the company of people who matter to me:

The organization team (best shot I got so far). I'm the guy in the Microsoft T-shirt, far left.

Again like last year, I didn’t have time to actually sit down and see a single session from beginning to end, so I’ll just wait until they show up on YouTube.

This year’s motto was “to the moon!”, and I think it was spot on, because there were a lot of amazing things happening besides “just” a hackathon – it was a rich, multi-layered experience, and you just had to be there to enjoy it.

Pay Me With Exposure

This year there was a grand (and, let’s face it, insanely awesome – or awesomely insane) experiment: The entire event ran on a crypto-currency named Exposure (EXP), which I believe to be an absolute first.

I know a complete (technical and organizational) write-up is in the works, but the whole thing was so awesome that I felt the need to provide a little summary:

The Market. Some services on offer were... creative, to say the least.

To get things started, participants could buy and sell services in a public market, but the awesome new twist was that project voting was made through Exposure, which meant that every participant who created a wallet (getting 300 EXP to begin with) could “invest” in their favorite project – and there were even angel investors who could provide massive funding (25000 EXP).

The T-Shirts

Another hilarious twist that is sure to be properly documented later was that the event T-shirts had a puzzle behind them – and whomever figured it out would be able to unlock a massive amount of… You got it, exposure.

The Moon T-shirt, which was only given to organizers and had the last missing bits of information.

Between artwork, coloring and text variations, there were twenty-four different T-shirts , and once people caught on to that fact (around the morning of the second day) a feverisly updated Google Sheet was ablaze with data and a lot of wild speculation – I kept a copy here for posterity.

The puzzle was solved quite late in the second evening, and it was a lot of fun to watch the attempts at figuring it out.

Project Voting

The final project ranking after funds were redistributed (and losing projects went "bankrupt").

After hackathon contestants did their on-stage pitches, participants and angels invested in their projects, and it was amazing to watch market dynamics in action and see how they invested their EXP and the project rankings shifted – it was eerily similar to real life, and the only fault I can find with this model is that a couple of solo projects that were brilliant and obviously had tremendous effort put into them simply couldn’t earn enough exposure by themselves to be successful.

But maybe that’s not really a fault when you consider the big picture – Pixels Camp now has a publicly auditable way to run the entire event and expose participants to market dynamics, just like they would need to do to succeed in real life.

“To the moon”, indeed. I can’t wait for next year.

03 Oct 15:47

Apple’s latest smartwatch will be available through Telus on December 1st, 2017

by Sameer Chhabra
Apple Watch Series 3

National carrier Telus has announced that subscribers will be able to purchase Apple’s Watch Series 3 on December 1st, 2017.

The company made the announcement in a tweet, also confirming that Telus pricing is not yet available.

Anyone interested in owning the Apple Watch Series 3 can pre-register through the Telus website.

The post Apple’s latest smartwatch will be available through Telus on December 1st, 2017 appeared first on MobileSyrup.

02 Oct 21:34

Here's a 21st Century Skill--and How to Teach It!

files/images/Bigger_than_Fake_News.JPG

Daniel Willingham, Science & Education, Oct 05, 2017


Icon

I'm going to give Daniel Willingham props for a no-qualifications admission that he was wrong in the past. He has argued in the past that students should be taught domain knowledge, rather than critical thinking or other '21st century skills'. But with the observation that "Students are too trusting of what they read on the Internet" comes the recognition that there is a need for "a useful, content-free strategy that could a big difference in student assessment of website accuracy." The one he proposes here is pretty basic: "read laterally. Instead of going through a checklist of features of the website in question (the usual advice) encourage students to get OFF the website to see what others say about it... show click restraint... refraining from clicking on the first result from a Google search (and) use Wikipedia wisely." I think there are more skills, of course, but that's a quibble. More.

[Link] [Comment]
02 Oct 21:33

Here’s how our minds organize experiences

files/images/Analysis_Approach.JPG

James Devitt, Futurity, Oct 05, 2017


Icon

While I want to jump on this and say that my long-held theory has been vindicated, I know that I should await confirmation and test6ing. Still, an article that begins "our brains organize experiences by their similarities, new research suggests" just makes me feel fuzzy all over, because this is the theory I was working on 35 years ago and which underlies most of the work I've done since (here's a quick outline). The research article cited is probably paywalled for you (a ridiculous state of affairs). It's based on behaviour and fMRI studies, which leave plent of room for scepticism. Still, we see the role similarity plays in the creation of knowledge: "immediate post-learning changes in connectivity may reflect a consolidation mechanism that plays an active role in shaping memories over time, in a way that prioritizes their commonalities." 

[Link] [Comment]
02 Oct 21:32

Burrard Bridge — It’s About the People Using It

by Ken Ohrn

On this spectacular Autumn morning, I spent 30-40 minutes travelling across and under the busy busy and newly renovated Burrard Street Bridge in Vancouver.

What I see is a lovely old structure now improved for many more of the many people who use it to cross False Creek. The most in-need winners in this round are people walking, with the east sidewalk now exclusively for people on foot, for the first time ever — and the north side intersection much safer.  People riding bikes will find a safe and effective northbound lane.  People in motor vehicles will find a vastly improved junction mostly eliminating the bottleneck at the north side, hopefully as effective as the south side intersection is now.

And all the while, the lovely look and feel of this old bridge has been maintained.  Even while adding features like the barrier fence, new lighting, wider sidewalks, in-character lamp posts, and rebuilt stairs and railings at sidewalk edges. And other, less obvious improvements (see photos).

Not to mention bridge structural rehab, plus water & sewer infra replacement for an aging area of town.

And despite the inevitable grousing, the bridge stayed mostly in service during the work.

As usual, click any photo to see a slide show of all 9.

 


02 Oct 21:25

Twitter Favorites: [jeffjedras] There's no US city I've visited more than Las Vegas, and I've stayed many times at the Mandalay. I know this city will not be kept down.

Jeff Jedras @jeffjedras
There's no US city I've visited more than Las Vegas, and I've stayed many times at the Mandalay. I know this city will not be kept down.
02 Oct 21:25

Twitter Favorites: [Stv] I am pretty excited that @theJagmeetSingh is the new NDP leader. This is A Good Thing.

Steve @Stv
I am pretty excited that @theJagmeetSingh is the new NDP leader. This is A Good Thing.
02 Oct 21:24

Twitter Favorites: [Lesley_NOPE] Then there’s another rare one with @sillygwailo who was kind enough to give me his Stro shirt & understands my hat… https://t.co/BsA9iyA1Me

Sleeve Fierce @Lesley_NOPE
Then there’s another rare one with @sillygwailo who was kind enough to give me his Stro shirt & understands my hat… twitter.com/i/web/status/9…
02 Oct 21:24

Twitter Favorites: [SnarkySteff] In other news, I just became an @NDP supporter https://t.co/R2M2EQdJat

Steffani Cameron @SnarkySteff
In other news, I just became an @NDP supporter twitter.com/cbcpolitics/st…
02 Oct 21:24

Twitter Favorites: [Lesley_NOPE] I know growth, learning, healthy conflict & personal development is like super important & everything but can I please coast for a minute?

Sleeve Fierce @Lesley_NOPE
I know growth, learning, healthy conflict & personal development is like super important & everything but can I please coast for a minute?
02 Oct 21:24

Twitter Favorites: [MissStaceyMay] For the @globeandmail: I wrote about how if this is Bautista's last game as a Jay, he gave us so much to call ours.… https://t.co/jiwAYu5yvL

Stacey May Fowles @MissStaceyMay
For the @globeandmail: I wrote about how if this is Bautista's last game as a Jay, he gave us so much to call ours.… twitter.com/i/web/status/9…
02 Oct 21:22

AndroidBeat Daily Brief (Oct 2, 2017): Galaxy Note 8 Beats iPhone 8 Plus in Speed Test, OnePlus 5 JCC Edition Goes on Sale, SwiftKey For Android Updated

by Rajesh Pandey
Welcome to today’s edition of AndroidBeat’s Daily Briefing where we talk about HMD Global promising the Android P update for its entire lineup of handsets, the limited JCC edition of the OnePlus 5 going on sale, and more. Continue reading →
02 Oct 21:22

Getting ‘Moisture Detected in Charging Port’ Error on Samsung Galaxy S8 and Galaxy Note 8? Here’s How to Fix it

by Rajesh Pandey
Like their predecessors, the Samsung Galaxy S8 and Galaxy Note 8 are also IP68 certified. This means the handsets are both dust and water-resistant. I have already explained what this certification means in a previous article. For this article, I am going to list down steps which should help you get rid of the dreaded “Moisture detected” error on the S8 and Note 8. Continue reading →
02 Oct 21:00

Belkin’s updated ‘Rockstar’ dongle has a Lightning port and headphone jack

by Sameer Chhabra
the iPhone 7's fingerprint sensor

Apple now sells a dual-output dongle that lets you listen to audio through a 3.5mm headphone jack while simultaneously charging your iPhone.

 

The Belkin 3.5mm ‘Audio + Charge Rockstar’ costs $39.95 CAD, and is for those people who still want to listen to music through their headphones while their iPhone charges. Or for those people who want to charge their iPhones in their car while plugging in an auxiliary cable. Or really for anyone who wants more than one input on their iPhone.

 

This latest Rockstar device is a sequel to Belkin’s original Rockstar, which came with two Lightning ports.

Via: The Verge

The post Belkin’s updated ‘Rockstar’ dongle has a Lightning port and headphone jack appeared first on MobileSyrup.

02 Oct 21:00

Google seemingly confirms Assistant for Chromebook

by Bradly Shankar
Google Chromebook design

A few eagle-eyed Google product users have spotted application hints that suggest Assistant is making its way to Chromebook laptops.

As spotted by David Cannon and 9to5Google, Google’s Home app notes that some Assistant-related apps will work with Chromebooks. Meanwhile, the Chat with Assistant app recently began  listing compatibility with Chromebooks on top of regular Android devices.

It’s possible Google will go into more detail about Assistant for Chromebook during its Pixel 2 reveal event on October 4th. According to leaks, the tech giant may also unveil a Pixel-branded Chromebookcheaper Google Home speaker and new Daydream View during this presentation, among other products.

The reveal event begins at 9:00am PT/12:00pm ET, so stay tuned to MobileSyrup then for full coverage on all of Google’s big announcements.

Via: Engadget

The post Google seemingly confirms Assistant for Chromebook appeared first on MobileSyrup.