Shared posts

07 Feb 18:57

Viewing Dockerised Desktops via an X11 Bridge, novnc and RDP, Sort of…

by Tony Hirst

So… the story so far…

As regular readers of this blog will know, I happen to be of the opinion that we should package more of OUr software using Docker containers, for a couple of reasons (at least):

  • we control the software environment, including all required dependencies, and avoiding any conflicts with preinstalled software;
  • the same image can be used to launch containers locally or remotely.

I also happen to believe that we should deliver all UIs through a browser. Taken together with the containerised services, this means that students just need a browser to run course related software. Which could be on their phone, for all I care.

I keep umming and ahhing about electron apps. If the apps that are electron wrapped are also packaged so that they can also be run as a service and accessed via a browser too, that’s fine, I guess…

There are some cases in which this won’t work. For example, not all applications we may want to distribute come with an HTML UI, but instead may be native applications (which is an issue becuase we are supposed to be platform independent), or cross platform applications that use native widgets (for example, Java apps, or electron apps).

One way round this is to run a desktop application in container and then expose its UI using X11, (aka the X Window System), although this looks like it may be on the way out in favour of other windowing alternatives, such as Wayland… See also Chrome OS Is Working To Remove The Last Of Its X11 Dependencies. (I am so out of my depth here!)

Although X11 does provide a way of rendering windows created on a remote (or containerised guest) system using native windows on your own desktop, a downside is that it requires X11 support on your own machine; and I haven’t found a cross-platform one that looks to be a popular de facto standard.

Another approach is to use VNC, in which the remote (or guest) system sends a compressed rendered version of the desktop back to your machine, which then renders it. (See X11 on Raspberry Pi – remote login from your laptop for a discussion of some of the similarities and differences between X11 and VNC.)

Note to self – one of the issues I’ve had with VNC is the low screen resolution of the rendered desktop… but is that just because I used a default low resolution in the remote VNC server? Another issue I’ve had in the past with novnc, a VNC client that renders desktops using HTML via a browser window, relates to video and audio support… Video is okay, but VNC doesn’t do audio?

Earlier today, I came across x11docker, that claims to run GUI applications and desktops in docker (though on Windows and Linux desktops only. The idea is that you “just type x11docker IMAGENAME [COMMAND]” to launch a container and an X11 connection is made that allows the application to be rendered in a native X11 window. You can find a recipe for doing something similar on a Mac here: Running GUI’s with Docker on Mac OS X.

But that all seems a little fiddly, not least because of a dependency on an X11 client which might need to be separately installed. However, it seems that we can use another Docker container — JAremko/docker-x11-bridge — running xpra (“an open-source multi-platform persistent remote display server and client for forwarding applications and desktop screens”) as bridge that can connect to an X11 serving docker container and render the desktop in a browser.

For example, Jess Frazelle’s collection of Dockerfiles containerise all manner of desktop applications (though I couldn’t get them all to work over X11; maybe I wasn’t starting the containers correctly?). I can get them running, in my browser, by starting the bridge:

docker run -d \
 --name x11-bridge \
 -e MODE="tcp" \
 -e XPRA_HTML="yes" \
 -e DISPLAY=:14 \
 -p 10000:10000 \
 jare/x11-bridge

and then firing up a couple of applications:

docker run -d --rm  \
  --name firefox \
  --volumes-from x11-bridge \
  -e DISPLAY=:14 \
  jess/firefox

docker run -d --rm  \
  --name gimp \
  --volumes-from x11-bridge \
  -e DISPLAY=:14 \
  jess/gimp

#Housekeeping
#docker kill gimp firefox
#docker rm gimp firefox
#docker rmi jess/gimp jess/firefox

Another approach is to use VNC within a container, an approach I’ve used with this DIT4C Inspired RobotLab Container/ (The DIT4C container is quite old now; perhaps there’s something more recent I should use? In particular, audio support was lacking.)

It’s been a while since I had a look around for good examples of novnc containers, but this Collection of Docker images with headless VNC environments could be a useful start:

Desktop environment Xfce4 or IceWM
VNC-Server (default VNC port 5901)
noVNC – HTML5 VNC client (default http port 6901)

The containers also allow screen resolution and colour depth to be set via environment variables. The demo seems to work (without audio) using novnc in a browser, and I can connect using TigerVNC to the VNC port, though again, without audio support.

Audio is a pain. On a Linux machine, you can mount an audio device when you start a novnc container (eg fcwu/docker-ubuntu-vnc-desktop) but I’m not sure if that works on a Mac? Or how it’d work on Windows?) That said, a few years ago I did find a recipe for getting audio out of a remote container that did seem to work — More Docker Doodlings – Accessing GUI Apps Via a Browser from a Container Using Guacamole — although it seems to be broken now (did the container format change in that period I wonder?). Is there a more recent (and robust) variant of this out there somewhere, I wonder?

Hmm… here’s another approach: using a remote desktop client. Microsoft produce RDP (Remote Desktop Protocol) clients for different platforms so that might provide a useful starting point.

This repo — danielguerra69/firefox-rdp — builds on danielguerra69/dockergui (fork of this) and shows how to create a container running Firefox that can be accessed via RDP. If I run it:

docker run --rm -d --shm-size 1g -p 3389:3389 --name firefox danielguerra/firefox-rdp

I can create a connection using the Microsoft remote desktop client at the address localhost:3389, login with my Mac credentials, and then use the application. Testing on Youtube shows that video and audio work too. So that’s promising…

(Docker housekeeping: docker kill firefox; docker rm firefox; docker rmi danielguerra/firefox-rdp.)

Hmmm… so maybe now we’re getting somewhere more recent. Eg danielguerra69/ubuntu-xrdp although this doesn’t render the desktop properly for me, and danielguerra69/alpine-xfce4-xrdp doesn’t play out the audio? Ah, well… I’ve wasted enough time on this for today…

07 Feb 18:57

iOS 12.2’s HomeKit Support for Smart TVs

by Rui Carmo

I only caught up with this today, but it’s nice to see that homebridge is already well on the way to get support for it. Right now I have a mishmash or bogus switches to control my LG TV, and this is going to be way better, if they sort out managing inputs—as it is right now, it’s actually worse than my approach…


07 Feb 18:57

Looking for the Right Name for the MOOC-based Degrees

Mikel Amigot, IBL News, Feb 06, 2019
Icon

This short article makes the point in a single quote: "Our degrees are not exactly massive and not open. But they have the same pedagogy as MOOCs –they are broken into small pieces with quizzes to make sure students understand concepts before moving on." Right, they're not MOOC-based degrees. They're (in my view) programmed degrees, based on the design model called 'programmed instruction'. A proper MOOC-based degree, meanwhile, based on real open online education, is of course an open degree.

Web: [Direct Link] [This Post]
07 Feb 18:57

Swedish Beers is back in Barcelona once more for Mobile World Congress!

by Helen Keegan

The Swedish Beers team is busy getting organised for this year's edition of Swedish Beers in Barcelona! We loved Muy Buenas and its fab team so much last year that we've booked in with them again.

The format will be just the same - a relaxed evening, no formalities, no presentations. Just come with an open mind, be prepared to see friends old and new, chat, enjoy a drink or three (courtesy of our sponsors) and have yourself a good time all whilst extolling (or not) the virtues of our mobile connected world.

The Swedish Beers crew will be on hand to welcome you as usual and we'll have the friendliest bar staff in town in we're in one of the most stylish and historic bars in town on two floors. Muy Buenas will also have food available to buy on the night. Here are the photos from previous years' events to give you a flavour of what to expect.

Tell your friends and get yourself registered!

**Two sponsors confirmed. But we need more to make the party really fly. If you'd like to sponsor and join the fun and get to meet and mingle with the crowd, please get in touch with Helen to discuss. All budgets catered for.** 

See you in Barcelona.

Skål

Helen

+++++++++++++++++++++++++++++++++++++++++++

Like us on Facebook http://facebook.com/swedishbeers

Follow us on Twitter http://twitter.com/swedishbeers

This is a Heroes of the Mobile Fringe Festival Event

http://mobileheroes.net/http://swedishbeers.org/





There may be a queue to get in at times but we managed to get pretty much everyone in who wanted to last year so please don't be put off! The queue does move quite quickly. All are welcome to attend if you are working in and around the mobile industry and enjoy a good chat. You may be asked for ID on entry. You must be pre-registered to attend the event. We reserve the right to refuse entry.
07 Feb 18:57

Learning the obvious

by Jim

This past weekend was Groundhog Day in the States—an odd custom that seeks to predict the arrival of Spring. It is also one of my favorite movies of the same name. In it Bill Murray repeats the events of the day countless times until he learns the lessons the universe has set for him. There have been times in my life when I’ve had lessons repeated until they sink in.

A divorce, several job/project failures linked to missed organizational clues, and a career change to avoid both a second divorce or more job failures mark the genesis of my deeper exploration of the organizational ecosystem.

My initial launch out of college appeared perfect and decidedly upwardly mobile. Married above my station, promoted rapidly, accepted into Harvard Business School. Followed by a spouse opting for a different path, confusion and erratic results in school, and a reentry into work that was a flattened trajectory at best. I might not have been drowning but I was barely treading water and did not understand why.

Reconnecting to the offstage side of the theater was the first stroke back to shore. I met and married my second wife, now of thirty five years, and sought to understand the causes of my other failures. Once again, I was observing from the wings while others performed but now I started thinking about observation and performance more broadly.

Actual stages and wings made the distinction easier to see. I began thinking about onstage and offstage behavior as something to look for elsewhere. Where others moved naturally and fluidly, I needed more explicit markers to guide which behavior was appropriate in which settings.

For example, I recall an internal project I was managing. I discovered a problem looming in the near future and went to my boss with suggestions on how to eliminate the problem while it was still tiny. I was puzzled when he tabled my proposal.

I was smarter now and asked him to share his reasoning. If we solved the problem my way, we would get no organizational credit for eliminating a problem that no one else had yet seen. On the other hand, if we waited to present a complete solution just as others were seeing the shape of the problem, we acquired organizational stature and credit we could draw on later.

There were intricacies and layers to moving within the organization that I hadn’t learned to see. I suppose most managers develop their ability to see these things through the accumulation of experience. I needed more help and more structure. I needed to do more than continue as an apprentice to someone with mastery of one organizational environment. I saw that I needed to acquire and develop craft intentionally. I needed to find masters and mentors who made the world of organizations their vocation.

On the surface, this looked like another round of schooling and credentialing. On a deeper level it was a search for a conservatory where I could develop new craft under the tutelage of masters who knew both the craft and how to extend and transfer that craft.

I did find that place and did ultimately acquire another credential. More importantly, I developed new craft and the capacity to extend and transfer that craft myself.

The post Learning the obvious appeared first on McGee's Musings.

07 Feb 18:57

Does Your Sex Toy Use Encryption?

by Jen Caltrider

This Valentine’s Day, Mozilla is assessing the privacy and security features of romantic connected devices

 

This Valentine’s Day, use protection.

To be more specific: use encryption and strong passwords.

As the Internet of Things expands, the most intimate devices are coming online. Sex toys and beds now connect to the internet. These devices collect, store, and often share our personal data.

Connected devices in the bedroom can amp up romance. But they also have the possibility to expose the most intimate parts of our lives. Consumers have the right know if their latest device has privacy and security features that meet their standards.

So today, Mozilla is releasing a Valentine’s Day supplement to *Privacy Not Included, our annual holiday shopping guide.

Last November, we assessed the privacy and security features of 70 popular products, from Nintendo Switch and Google Home to drones and smart coffee makers. The idea: help consumers shop for gifts by highlighting a product’s privacy features, rather than just price and performance.

Now, we’re assessing 18 more products, just in time for February 14.

We researched vibrators; smart beds and sleep trackers; connected aromatherapy machines; and more.

Our research is guided by Mozilla’s Minimum Security Standards, five basic guidelines we believe all connected devices should adhere to. Mozilla developed these standards alongside our friends at Consumers International and the Internet Society. Our Minimum Security Standards include encrypted communications; automatic security updates; strong, unique passwords; vulnerability management; and an accessible privacy policy.

Of the 18 products we reviewed for this guide, nine met our standards. Among these nine: a smart vibrator that uses encryption and features automatic security updates. A Kegel exerciser that doesn’t share user data with unexpected third parties. And a fitness tracker that allows users to easily delete stored data.

Nine products did not meet our Minimum Security Standards, or weren’t clear enough in their privacy policies or our correspondences for Mozilla to make a determination. Among these nine: a smart vibrator that can be hacked by spoofing requests. And a smart vibrator with no privacy policy at all.

Lastly: This installment once again features the Creep-O-Meter, an emoji-based tool that lets readers share how creepy (or not creepy) they believe a product’s approach to privacy and security is.

Thanks for reading. And Happy Valentine’s Day 💖


Jen Caltrider is Mozilla’s Content Strategy Lead and a co-creator of the guide.

The post Does Your Sex Toy Use Encryption? appeared first on The Mozilla Blog.

07 Feb 18:57

Incrementally migrating over one million lines of code from Python 2 to Python 3

by Cary Yang

The Dropbox desktop client is relied on by millions of users across the world to save their most important files and keep them in sync across their devices. Weighing in at over 1 million lines of Python logic, we had a massive surface area for potential issues in our migration from Python 2 to Python 3. In this process, we knew that we had to be worthy of the trust that users place in Dropbox and keep their information safe.

Over the last few months, we’ve explored why and how we rolled out our Python 3 migration, and how we ensured that the resulting application was reliable. In this piece, we’ll take a brief walk through the history of Python 3 in our desktop client, and then dive into the details of how we pulled off a gradual migration while allowing ongoing development.

The Pioneers

Like many other great ideas at Dropbox, the effort to migrate the desktop client to Python 3 began during one of our annual Hack Weeks. The phrase thrown around internally to describe this week-long event is “getting back to our roots”—five days where everyone at Dropbox puts aside their daily responsibilities to work in small, fast-moving teams to tackle exciting or interesting problems.

Hack Week 2015

This was the start of it all—an intrepid team of Dropboxers decided to see how far they could take Python 3 in the desktop client. In the spirit of Hack Week, they managed to hack together a version of the desktop client that could sign in and sync some files while running Python 3.

Problem solved? Not quite. Unfortunately, it was clear that many features were completely broken by the upgrade. Some changes that were compatible with both Python 2 and Python 3 were merged, however, much of the work was eventually thrown away.

Hack Week 2016

A new team formed during this Hack Week with the goal of making more permanent steps towards Python 3. Armed with Mypy, a static type-checking tool that we had adopted in the interim year, they made substantial strides towards enabling the Python 3 migration:

  • Ported our custom fork of Python to version 3.5
  • Upgraded some Python dependencies to Python 3-compatible versions, and forked some others (e.g. babel)
  • Modified some Dropbox client code to be Python 3 compatible
  • Set up automated jobs in our continuous integration (CI) to run the existing unit tests with the Python 3 interpreter, and Mypy type-checking in Python 3 mode

Crucially, the automated tests meant that we could be certain that the limited Python 3 compatibility that existed would not have regressed when the project was picked up again.

Python 3rd time’s the charm

By early 2017, it had become clear that upgrading Python versions was in the critical path for several toolchain upgrades, and the multi-month-long project to migrate to Python 3 was officially staffed.

Prerequisites

Before we could begin working on migrating any of our application logic, we had to ensure that we could load the Python 3 interpreter and run until the entry point of the application. In the past, we had used “freezer” scripts to do this for us. However, none of these had support for Python 3 around this time, so in late 2016, we built a custom, more native solution which we internally referred to as “Anti-freeze” (more on that in the initial Python 3 migration blog post).

With that taken care of, we were ready to get started on the application itself.

1. Incrementally enabling unit tests and type-checking

As a starting point, our first goal was to enable all unit tests and Mypy type-checking under Python 3 to validate that we had some measure of compatibility with Python 3.

All unit tests were initially disabled under Python 3 with module-level pytest.skip function calls. We then went through each test file one-by-one, ran it under Python 3, fixed any issues in either the application logic itself or the test, and then removed the skip.

Similarly, we had an explicit blacklist of files that did not pass under Python 3 Mypy that we worked through file-by-file. By enabling Python 3 Mypy across the codebase, we were able to take advantage of the company-wide push to add more Mypy typing (from 35% coverage to 63% coverage when this project ended!) and enforce types compatible with both Python 2 and Python 3 to prevent the hybrid syntax from regressing.

Specifically, Mypy was able to catch and warn about some type issues that would otherwise silently produce the incorrect result on Python 3, such as our most common issue: the behavioral difference between str, bytes, and unicode in the two Python versions.

Strings: str and bytes and unicode, oh my!
A brief summary: in Python 2, str is an alias for bytes, and unicode is the type for Unicode strings; in Python 3, str is the type for Unicode strings, bytes is for byte-strings, and unicode doesn’t exist.

Besides the differently named types, there are also significant semantic differences in how Python treats each of these types across versions (enough that presentations have been given on just this topic!). For brevity, we’ll omit a discussion here, but a thorough understanding of the differences is highly recommended for anyone working on migrating a project from Python 2 to Python 3.

The primary issue we ran into involved the various locations that we serialize our in-memory representation of various data. Because the interfaces typically accepted ‘string-like’ objects, we would happily call str on a byte-string, which would result in "b'string contents'" in Python 3. Our discovery of these issues were mostly driven by a combination of stronger Mypy typing (to be explicit about when types were bytes vs. Text), and failures from the unit test suite.

A special note about from __future__ import unicode_literals
On the surface, this seems convenient, as it implements the Python 3 string literal behavior in Python 2. However, we found that this was confusing to use in just parts of the codebase, and not possible to add to every file overnight.

It wasn’t possible for us to directly add this import across the codebase because it can change the runtime behavior in breaking ways, especially since many Python standard library functions require a str to be passed on both Python 2 and Python 3.

Including this import in just some files resulted in confusion for developers, as it’s disorienting to follow some logic across files and have the string literal type change because of an import at the top of the file.

2. ‘Straddling’ Python 2 and Python 3

After we had unit tests passing and Mypy type-checking, we could begin trying out the application end-to-end.

We first did this within our team, fixing any obvious issues with the basic functionality, and then organized “bug bashes” with the teams that owned each part of the Dropbox client to test their features in more detail and uncover any more subtle regressions.

Then, it came time to dogfood the Python 3 version of the application with our internal users. To allow us to safely and quickly move our users back to Python 2 if we discovered a critical issue, we built Hydra, which allowed us to choose to run either the Python 2 or Python 3 interpreter when the desktop client started up. During this time, we had to ensure that all of the application logic was written with a hybrid Python 2/3 syntax (‘straddling’ both Python 2 and Python 3) to allow us to continue shipping Python 2 builds to the majority of our users while we were testing Python 3 internally.

3. Letting it bake

To ensure that we met our high quality bar, we kept the desktop client in this hybrid state for an extended stabilization period—first for just our internal build, and then eventually our Beta population as well.

During this period, we relied on reports from our revamped aggregate crash reporting pipeline to alert us of any issues that occurred. This eventually led to the discovery of some fun issues, such as this one in Python itself.

After about 7 months in this period, we were confident that the Python 3 version of the application met our quality bar, and expanded the scope of the rollout to include our Stable channel and removed Python 2 from our application binary. This marked the end of our Python version migration!

Learnings (tl;dr)

  • Unit tests and typing are invaluable. We were able to discover the majority of the compatibility issues early on through our unit tests and static Mypy type-checking, and they allowed us to create a clear and concurrently actionable list of issues to fix.
  • String encoding in Python is hard. Python 3 is significantly more sane in this respect, and if your Python logic handles Unicode strings, this is in and of itself a good reason to switch from Python 2 to Python 3. However, the drastic changes made in Python 3 to fix string behavior means that most issues you’ll find during the migration will be related to the difference in how strings are handled between the versions.
  • Incrementally migrate to Python 3 for great profit. Because we preserved Python 2 compatibility throughout this project, we could continue to allow feature development and ship Python 2 versions of the application, while gradually increasing our Python 3 compatibility until we were comfortable enough to switch over.

Acknowledgements

Special thanks to Max Belanger for editing advice throughout the writing process of this post, John Lai for some historical context on the earliest Python 3 attempts at Dropbox, and everyone who contributed on this project (a full list is in the original blog post!).

Stay tuned…

If you’re interested in hearing some of our greatest war stories from this process in more detail, there’s one more post in this series coming soon to a Dropbox tech blog near you!

Interested?

If the kind of problems we’re tackling are interesting to you, and you want to take on the challenges of desktop Python development at scale, consider joining us!

07 Feb 18:57

“If the answer here doesn’t blow your mind, I don’t know what will.”

by Andrea

3Blue1Brown: The most unexpected answer to a counting puzzle and So why do colliding blocks compute pi? and How colliding blocks act like a beam of light…to compute pi. (YouTube, 5:12min and 15:15min and 14:40min)

The connection between the initial experiment and the calculation of π is surprising, and finding two different solutions in physics is even more astounding. The videos are extremely well done, and the presentation helps a lot with understanding the mathematical manipulations.

Mind. Blown.

Link via Futility Closet.

07 Feb 18:57

dandyhorse newsletter is here with a look ahead in the bike lane

by dandy

The dandyhorse newsletter has arrived.

Our dandy newsletter recaps what we've been up to at dandyhorse for the last little while. This new year edition recaps our 2019 look ahead and our 2018 tally of bike lane installations. (Spoiler alert: There wasn't much to report on... unless you consider "more delays" as new news out of city hall.)

Please note that the dandy newsletter is now more of a quarterly publication instead of monthly. You can sign up here to get dandy news delivered right to your inbox.

To see past dandyhorse newsletters you can go to: dandyhorsemagazine.com/newsletter

07 Feb 18:54

Why does Trump just make stuff up in the State of the Union?

by Josh Bernoff

Donald Trump’s State of the Union message sounded like a rational if self-serving laundry list of dozens of platitudes and programs — you know, just like every other president’s. Except for one thing: He invented facts that are easily proven false. Why? The rest of this post is based mostly on the fact checks in … Continued

The post Why does Trump just make stuff up in the State of the Union? appeared first on without bullshit.

07 Feb 18:53

CARROT Weather Is More Customizable and Useful on the Apple Watch Than Ever

by John Voorhees

CARROT Weather has had one of the top tier Apple Watch apps for a long time now. In the early days of the Watch, CARROT was one of the few apps that loaded quickly and worked reliably. Since third-party complications were introduced, CARROT’s had some of the best. With the latest update though, CARROT has extended its Watch app’s functionality and flexibility even further and added a few other great features too.

Custom complications, which are limited to Premium Club subscribers, allow you to pair two data points from more than a dozen options in one small complication. For example, you can pair the temperature and ‘feels like’ temperature in one small complication and the wind speed with the UV index in another. On the Infograph face, you’ve got the corner, top center circle, and another circular complication to work with for a maximum of six data points. For Ultrapremium Club subscribers, there’s a new weather map complication that can be tapped to open the maps screen too.

The large center slot on the Infograph Modular watch face is also customizable. Premium Club subscribers can pick between a 5-hour or 10-hour forecast chart or a text-only description of the weather.

The Infograph Modular face's 10-hour, 5-hour, and text-only forecasts.

The Infograph Modular face's 10-hour, 5-hour, and text-only forecasts.

The other addition to complications is what developer Brian Mueller calls complication shortcuts. Also a Premium Club subscriber feature, shortcuts take you from a complication to the spot in the Watch app that has more details on the data displayed. The feature only works with small complications that show one data point. That means the feature doesn’t work with the new customizable complications, but if you have a small complication dedicated to something like the UV index or wind speed, tapping on it will take you directly to the hourly forecast with that data included in the summary. The main Watch app’s hourly forecast can also be customized to add any of a dozen different measurements.

There are a few other new features too. Adding a city to CARROT can be done using voice search from the app’s Locations screen, which is accessed by force pressing the app’s main UI.

Adding weather for a city using voice search.

Adding weather for a city using voice search.

From the daily forecast detail view, you can now tap the summary to advance from one day to the next. It’s a fantastic addition because it eliminates having to go back to the summary forecast to move to the next day’s detailed forecast.

As someone who uses a home weather station as a data source when I’m near my home, I also appreciate that the radius within which that data is used by CARROT is now customizable. The data from my Netatmo weather station used to be displayed whenever I was within two miles of my home. Now, that data can be set to be shown within 1, 2, 3, 4, 5, 10, 15, or 20 miles of my home.

The variety of combinations of weather information that can be displayed on an Apple Watch using CARROT Weather is more extensive than ever before. What I like most about having so many options is that I can create a set of data that’s relevant to me, which can vary depending on the time of year or what I’m doing. It’s a powerful mix of functionality that makes CARROT Weather’s Watch app stand out above any other I’ve used.

CARROT Weather is available on the App Store for $4.99. Many of the Apple Watch app features added in this update require a Premium Club ($0.49/mo. or $3.99/year) or Ultrapremium Club ($1.49/mo. or $9.99/year) subscription.


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
07 Feb 18:53

The Best Portable Power Stations

by Sarah Witman
The Best Portable Power Stations

If you’re planning to go off the grid or you’re prepping for an emergency, we recommend the Goal Zero Yeti 1000. This portable power station—a giant battery with regular AC outlets on it—can keep your electronics charged and running for hours without the noise or exhaust that comes with a portable generator. After 35 hours testing five top contenders, we found that the Yeti’s impressive capacity of about 1,000 watt-hours, easy-to-use interface, and rugged exterior stood out from the competition.

07 Feb 18:52

National Weather Service Seattle lets us know w...

National Weather Service Seattle lets us know what’s coming up. More snow!

Thursday is the Last Dry Day.

07 Feb 18:52

Differences are real; divisiveness is a choice

by Chris Corrigan

I’m on the road, currently in Columbus Ohio, working my way through a two week road trip that has taken me to Ontario to visit family and to New Brunswick where I was part of a remarkable hosting team for the Art of Hosting Working Across Divides. It was a timely gathering for 70 people from government, civil society, and social enterprise to come and learn how to work with differences.

In Canada’s only bilingual province, language is a massive difference between people, and New Brunswick has a multitude of language cultures. There are 34 local French accents alone in New Brunswick and probably just as many English ones too, having to do with class and ethnicity and proximity to the sea or the woods.

In the last provincial election there, the virus of populism had its day and took these existing differences and turned them into divides. Right wing populists have a well-trod strategy for doing this. Instead of pointing to differences between people, they tap the fear that people have of people who are different than them, without naming the other. This is called “dogwhistle politics.” Once they find a fear of the other that elicits an emotional response, they double down on the fear often, but not always, with lies and misrepresentation. When their political opponents offer up diversity and difference as an asset to a healthy society, the populists accuse them of “divisiveness.” They claim that only their approach will bring “unity” typically by eliminating any conversation that recognizes the value of differences. Often their “unity” platform is basically assimilitation: “if only you were like us, we’d have unity; if you want to be different, you’re creating division.” Sometimes they outright declare such an emphasis on difference to be “racist.” If you want to see this in action, visit Rebel Media, an organization I will simply refuse to link to. They are great at this.

The pithy insight on difference and divisiveness that struck me in this Art of Hosting is this: differences are real and useful, and division is one thing you can do with them. People are different, and offer different perspectives, lived experiences, and world views on things. These differences are essential to living and working in complexity, because a homogeneous view of a situation leaves you open to crises hitting you unawares. Cultivating difference is a good strategy for surviving and thriving in a complex situation. Seeking out differences of opinion is essential, finding people who are different than you and working with them makes you all smarter.

Divisions happen when people become so afraid of the other that they stop making the effort to bridge the gap. When this happens a kind of vacuum opens up between people and that gap is the thing that populists exploit. Political power can be won and held with a very thin margin these days in Canada. You only need about 20% of the voters to vote for your party. If you get your vote out, and the opposition is split or apathetic, you can form power. In New Brunswick the current government was formed on this exact number: about 31% of voters voted Conservative, and only 67% of the eligible voters cast a ballot. The populist People’s Alliance hold the balance of power. (In Ontario, Doug Ford came to power with 23.49% of eligible voters supporting his party.)

The way to defeat populism is to not allow people to play on your fears of other people who are different from you. It means convening incredibly diverse spaces and creating the conditions for people to show up with their unique perspectives, working WITH differences. That sometimes means doing things that make differences more stark, to explore different experiences, different ideas and different stories, so we can learn from each other. And it sometimes means making differences less pronounced so that we can find common purpose or shared perspective.

Divisiveness does not come from people working with differences. Divisiveness comes from people inserting fear into the gaps between people who are different.

07 Feb 18:52

Can Vancouver survive without Uber – or with it?

by Gordon Price

From Slate:

Unlike every other major North American metro area, the Vancouver region doesn’t allow ride-hailing. That makes Vancouver a unique example of what happens when a thriving North American city politely—this is Canada—passes on the ride-hail bandwagon. The result: Vancouver’s public transit system is adding riders even as usage drops in many other cities. Bike commuting is growing, and car-share services like Car2Go are booming. …

So how have Vancouverites handled the lack of ride-hailing?

Well, their city has hardly ground to a halt. The percentage of Vancouverites who commute to work by walking, cycling, or transit rose from 57 percent in 2013 to 59 percent in 2017. During that time, the share of commute trips by bicycle jumped by about 50 percent as Vancouver rolled out investments like a network of protected downtown bike lanes. TransLink, the regional transit authority, grew ridership by 5.7 percent in 2017, easily the fastest rate in North America. Andrew McCurran, TransLink’s director of strategic planning and policy, says ridership rose even faster in 2018, by 6.7 percent. Remarkably, a major driver was TransLink’s bus ridership, which rose by 7.3 percent last year. …

With ride-hailing’s arrival looming, Vancouver has much at stake. As the last North American holdout, the region has built a robust mobility network that would be the envy of most cities. It’s possible that ride-hailing could augment that network, providing late-night service and reliable transportation options for residents in outer suburbs, while giving local taxis some healthy competition. But the technology could also bring the less desirable kind of disruption to Vancouver, increasing congestion while taking passengers away from clean and efficient modes like transit and biking. Which way will Vancouver go? We’ll know soon enough.

 

07 Feb 18:52

Kindle Paperwhite im Angebot

by Volker Weber

SharedScreenshot

Amazon-Geräte kauf man am besten, wenn sie turnusmäßig im Angebot sind. Gerade gibt es wieder wieder welche anlässlich des Valentinstags. Am interessantesten finde ich den wasserdichten neuen Kindle Paperwhite. Das ist ein sehr schönes Geschenk für jemanden, der noch einen alten Kindle ohne Beleuchtung hat. Der günstigste ist "good enough". Die Spezialangebote sind nur im ausgeschalteten Zustand zu sehen und 8 GB sind dicke genug.

More >

07 Feb 18:52

How We Designed Our Front-End Engineer Hiring Process

by Mike Reifman
Illustration by Cristina Spanò

Our Technology group designed a hiring process that checks for bias, and gives candidates a chance to showcase their strengths.

My colleague Brian Hamman recently wrote about how we are piloting a new process for hiring front-end engineers at The New York Times. We consolidated separate job postings for each open position into a single posting, and we streamlined the interview process across all teams. This unified process is an attempt to meet a number of different organizational goals, from changing how we present ourselves as an engineering organization to building consistency in how we evaluate candidates. And frankly, we’re growing quickly and have many roles to fill, which we’d like to do efficiently and with candidates who will be assets to the company and our culture.

While trying to meet all of these goals, we — a group of volunteers from the Technology and Talent & Inclusion departments — sought to design a consistent evaluation process that is attentive to a diverse candidate pool while being pragmatic and iterative.

Consistent Assessments

Our evaluation process is based on expectations that are shared across the Technology organization. Each stage of evaluation is aligned to a specific rubric that helps us evaluate candidates consistently. For example, we expect to see certain things in a take-home exercise that we wouldn’t be looking for from whiteboard coding. Committing to rubrics keeps us honest about what we’re looking for and realistic about whether we can get quality signals on those criteria for each step in the process.

We created evaluation rubrics for assessing resumes, phone screens and take-home exercises. For our in-person interviews, we borrowed from Medium’s rubric for grading engineering interviews because it has terrific in-depth coverage on criteria that align with our hiring values.

However, it’s not enough to simply list our evaluation criteria. To provide richer context on what we’re looking for, we give interviewers sample interview questions with answers we consider to be good and bad. This helps interviewers ensure that they can accurately evaluate candidates for each criteria, and it promotes consistency across interviewers.

A Focus on Diversity

As a company, we believe that achieving diversity and being inclusive is not only the right thing to do, it is the smart thing for our business. We state this in all of our job postings. It’s therefore important that our tech hiring process is open and attentive to a broad candidate pool.

To work towards that goal, we started with the job description. Postings that focus on a list of skills can discourage women from applying, because candidates preemptively disqualify themselves if they don’t meet all of the criteria. We framed our job posting as an advertisement for the role, using language like, “you will get to do x, y and z.” This helps candidates understand that new hires aren’t expected to know everything on day one.

While we used to ask for cover letters, we found that they tend to be formulaic and don’t offer meaningful information. Instead, we now ask candidates to fill out a short questionnaire that includes the question, “Is there anything else we should know about you?” This free-form space invites candidates to share information that might be relevant to their application — such as a gap between jobs — without the constraints of a traditional cover letter.

As candidates move through the interview process, we evaluate them in a variety of contexts. Phone interviews include a technical discussion, as well as hands-on coding done using a shared screen. The take-home exercise we sometimes give candidates is meant to approximate the type of work we do at The Times. Finally, the in-person interview segments cover a range of technical and non-technical skills, and involve colleagues from departments other than Technology. All together, these contexts give candidates a variety of opportunities to show their strengths and make sure our process isn’t biased toward one kind of person.

For interviewers, we put a focus on countering unconscious bias. Each evaluation phase has assessments from multiple interviewers to prevent blind spots. We found this especially useful for reviewing applications, since resumes can be vague and varied, and elicit divergent reactions from different reviewers. To address this, we created structured feedback forms for each phase of the interview process that reflect the corresponding evaluation rubric. This format ensures that interviewers submit their feedback in the same way, which creates consistency between candidates as well as between multiple reviewers of the same candidate.

Pragmatic and Iterative

Designing an interview process is no easy feat, and it needs to be open to changes. As we designed the process and put it into practice, we made iterative tweaks to ensure that it wasn’t too cumbersome or off-putting, all while making sure that our original goals were still being met. Those tweaks ranged in scope from how the entire process was structured to the nitty-gritty details of how rubric criteria were worded.

One idea we explored early on was to anonymize resumes by removing identifying information about the candidate, such as their education and the companies they’ve worked for. (It’s illustrative and fun! Here’s an example of what this can look like.) A few teams at The Times tried this and found it useful, but it’s a very heavy lift, especially when there are multiple open positions and lots of incoming resumes. Instead, we leaned on repeatedly reminding reviewers about unconscious bias and linking to resources like 18F’s terrific guides for reviewing resumes in our resume review rubric.

We ultimately decided that a low-fidelity process was acceptable at the resume review phase. Rather than have each reviewer score every resume on a scale of one to five for a set of criteria, reviewers now give a thumbs up or thumbs down, guided in their judgement by our rubric. If there is any disagreement, they discuss their votes and reassess. Otherwise, they keep moving. The rubric still provides a framework for decision-making, and we can assess candidates more quickly.

A nice side effect of this effort is that it has produced a framework for designing new hiring processes and making changes to existing ones. As we continue to evaluate and iterate on how we hire, we are building shared expectations across teams, which means that we can focus on the things we value.

It’s an exciting time to work in Technology at The Times. Not only do we develop technology that powers our incredible journalism, we’re committed to building a engineering culture that is open, inclusive and ambitious.

We’re hiring! Come work with us.


How We Designed Our Front-End Engineer Hiring Process was originally published in Times Open on Medium, where people are continuing the conversation by highlighting and responding to this story.

07 Feb 18:52

“Intellectually Pleasing, Totally Sucks”~NASA’s Latest Data on Climate Change

by Sandy James Planner

468_newsPage-468

468_newsPage-468

If anyone had any doubt about climate change being real The New York Times has published data from NASA scientific studies showing that the “Earth’s average surface temperature in 2018 was the fourth highest in nearly 140 years of record-keeping and a continuation of an unmistakable warming trend.” 

Even worse the last 5 warmest years recorded have been the last 5 years. And the last 18 of 19 warmest years have been since 2001.

Even though 190 nations have signed the Paris Agreement it just may be too late.

The Earth’s temperature in 2018 was more than 1 degree Celsius, or 1.8 degrees Fahrenheit, above the average temperature of the late 19th century, when humans started pumping large amounts of carbon dioxide into the atmosphere. Scientists say that if the world is to avoid the worst consequences of climate change, global temperatures must not rise by more than 2 degrees Celsius compared with pre-industrial levels.”

The United Nations climate change science panel has suggested that even an increase of 1.5 degrees has extreme ramifications.Look for more extremes, more retreat of glaciers, calving of icebergs,  flooding, areas stricken with aridity and even the polar vortex stalled in places it never used to be.

Dr. Schmidt of NASA said that the new figures helped to validate the scientific models that have predicted such warming over time.“People say, ‘How do we know the science is any good? How do we trust the models? They’re so complex!’ ” But, he said: “That’s the essence of science. You think you understand how something works, you make models and you make predictions and see if they come true. Unfortunately, we’re in a situation where we see it’s come true. And while that’s intellectually pleasing, it totally sucks.

You can take a look at NASA’s video on the data below and read NASA’s statement here.

 

07 Feb 18:52

Wired Wednesday: Warby Parker AR, Password Check & Live Transcribe

by John

This week on News 1130 radio in Vancouver, I spoke about these tech topics for Wired Wednesday with Ben Wilson:

  • Warby Parker’s new app combines AR and face mapping so you can try on virtual glasses (source)
  • Google’s new Chrome Extension automatically checks your passwords are still secure (source)
  • Google Live Transcribe could be a big help for people who are deaf or hard of hearing (source)

Listen here

The post Wired Wednesday: Warby Parker AR, Password Check & Live Transcribe appeared first on johnbiehler.com.

07 Feb 18:52

Firefox Front-End Performance Update #12

by Mike

Well, here I am again – apologizing about a late update. Lots of stuff has been going on performance-wise in the Firefox code-base, and I’ll just be covering a small section of it here.

You might also notice that I changed the title of the blog series from “Firefox Performance Update” to “Firefox Front-end Performance Update”, to reflect that the things the Firefox Front-end Performance team is doing to keep Firefox speedy (though I’ll still add a grab-bag of other performance related work at the end).

So what are we waiting for? What’s been going on?

Migrate consumers to the new Places Observer system (Paused by Doug Thayer)

Doug was working on this later in 2018, and successfully ported a good chunk of our bookmarks code to use the new batched Places Observer system. There’s still a long-tail of other call sites that need to be updated to the new system, but Doug has shifted focus from this to other things in the meantime.

Document Splitting (In-Progress by Doug Thayer)

With WebRender becoming an ever-closer reality to our general user population, Doug has been focusing on “Document Splitting”, which makes WebRender more efficient by splitting updates that occur in the browser UI from updates that occur in the content area.

This has been a pretty long-haul task, but Doug has been plugging away, and landed a significant chunk of the infrastructure for this. At this time, Doug is working with kats to make Document Splitting integrate nicely with Async-Pan-Zooming (APZ).

The current plan is for Document Splitting to land disabled by default, since it’s blocked by parent-process retained display lists (which still have a few bugs to shake out).

Warm-up Service (In-Progress by Doug Thayer)

Doug is investigating the practicalities of having a service run during Windows start-up to preload various files that Firefox will need when started.

Doug’s prototype shows that this can save us something like 1 second of net start-up time, at least on the reference hardware.

We’re still researching this at multiple levels, and haven’t yet determined if this is a thing that we’d eventually want to ship. Stay tuned.

Smoother Tab Animations (In-Progress by Felipe Gomes)

After much ado, simplification, and review back-and-forth, the initial set of new tab animations have landed in Nightly. You can enable them by setting browser.tabs.newanimations to true in about:config and then restarting the browser. These new animations run entirely on the compositor, instead of painting at each refresh driver tick, so they should be smoother than the current animations that we ship.

There are still some cases that need new animations, and Felipe is waiting on UX for those.

Overhauling about:performance (V1 Completed by Florian Quèze)

The new about:performance shipped late last year, and now shows both energy as well as memory usage of your tabs and add-ons.

The current iteration allows you to close the tabs that are hogging your resources. Current plans should allow users to pause JavaScript execution in busy background tabs as well.

Browser Adjustment Project (In-Progress by Gijs Kruitbosch)

Gijs has landed some patches in Nightly (which have recently uplifted to Beta, and are only enabled on early Betas), which lowers the default frame rate of Firefox from 60fps to 30fps on devices that are considered “low-end”1.

This has been on Nightly for a while, but as our Nightly population tends to skew to more powerful hardware, we expect not a lot of users have experienced the impact there.

At least one user has noticed the lowered frame rate on Beta, and this has highlighted that our CPU sampling code doesn’t take dynamic changes to clock speed into account.

While the lowered frame rate seemed to have a positive impact on page load time in the lab on our “low-end” reference hardware, we’re having a much harder time measuring any appreciable improvement in CI. We have scheduled an experiment to see if improvements are detectable via our Telemetry system on Beta.

We need to be prepared that this particular adjustment will either not have the desired page load improvement, or will result in a poorer quality of experience that is not worth any page load improvement. If that’s the case, we still have a few ideas to try, including:

  • Lowering the refresh driver tick, rather than the global frame rate. This would mean things like scrolling and videos would still render at 60fps, but painting the UI and web content would occur at a lower frequency.
  • Use the hardware vsync again (switching to 30fps turns hardware vsync off), but just paint every other time. This is to test whether or not software vsync results in worse page load times than hardware vsync.

Avoiding spurious about:blank loads in the parent process (Completed by Gijs Kruitbosch)

Gijs short-circuited a bunch of places where we were needlessly creating about:blank documents that we were just going to throw away (see this bug and dependencies). There are still a long tail of cases where we still do this in some cases, but they’re not the common cases, and we’ve decided to apply effort for other initiatives in the meantime.

Experiments with the Process Priority Manager (In-Progress by Mike Conley)

This was originally Doug Thayer’s project, but I’ve taken it on while Doug focuses on the epic mountain that is WebRender Document Splitting.

If you recall, the goal of this project is to lower the process priority for tabs that are only sitting in the background. This means that if you have tabs in the background that are attempting to use system resources (running JavaScript for example), those tabs will have less priority at the operating system level than tabs that are in the foreground. This should make it harder for background tabs to cause foreground tabs to be starved of processing resources.

After clearing a few final blockers, we enabled the Process Priority Manager by default last week. We also filed a bug to keep background tabs at a higher priority if they’re playing audio and video, and the fix for that just landed in Nightly today.

So if you’re on Windows on Nightly, and you’re curious about this, you can observe the behaviour by opening up the Windows Task Manager, switching to the “Details” tab, and watching the “Base priority” reading on your firefox.exe processes as you switch tabs.

Cheaper tabs in titlebar (Completed by Mike Conley)

After an epic round of review (thanks, Dao!), the patches to move our tabs-in-titlebar logic out of JS and into CSS landed late last year.

Along with simplifying our code, and hammering out at least one pretty nasty layout bug, this also had the benefit of reducing the number of synchronous reflows caused when opening new windows to zero.

This project is done!

Enable the separate Activity Stream content process by default (In-Progress by Mike Conley

There’s one known bug remaining that’s preventing us from letting the privileged content process from being enabled by default.

Thankfully, the cause is understood, and a fix is being worked on. Unfortunately, this is one of those bugs where the proper solution involves refactoring a bit of old crufty stuff, so it’s taking longer than I’d like.

Still, if all goes well, this bug should be closed out soon, and we can see about letting the privileged content process ride the trains.

Grab bag of notable performance work

This is an informal list of things that I’ve seen land in the tree lately that I believe will have a positive performance impact for our users. Have you seen something that you’d like to nominate for a future list? Submit the bug here!

Also, keep in mind that some of these landed months ago and already shipped to release. That’s what I get for taking so long to write a blog post.


  1. For now, “low-end” means a machine with 2 or fewer cores, and a clock speed of 1.8Ghz or slower 

07 Feb 18:51

How to blog

by Tom MacWright

How to blog

I’ve been continuously writing here for about 9 years. This will be the 300th or so thing posted to the internet on this domain. Here are some of the things I’ve learned about starting a blog and keeping it going.

Own your domain and use simple technology

There are two things that matter, in terms of blog technology:

  1. You own your domain
  2. It works

First: you should own your own domain. If your blog is hosted on Medium, WordPress, or another site that puts it on a me.company.com address, then your ability to move to a new technology, or escape a bankrupt company’s shutdown is limited. Because I own macwright.org, I have full control over redirects: if I want to switch the URL structure of this blog, or move to a new technology or even a new domain, I can do that.

Beyond that, the rule is whatever works. Jekyll works, and so does WordPress, and Gatsby.

For a new blog, likely any popular open source software is a good idea, and stick with the most normal option you can. You can get lost in window-shopping for something a little bit better, or in a particular language, but, really, it just doesn’t matter. This site runs on Jekyll, which is supposedly one of the slower options. It builds in under a minute, and I can see live changes locally to my posts in a few seconds. Sure, Hugo would make that 12 seconds instead of 60, but it doesn’t really matter: I don’t need instant publishes to the web, and you probably don’t either. And static site generator performance has absolutely no relationship with actual website performance.

So, just don’t overthink it. If that last paragraph got you in the weeds, or if you’re not a programmer and don’t want to get into the details, I’d recommend two choices:

  • If know Markdown, use Jekyll and GitHub Pages
  • Otherwise, use WordPress

I don’t recommend choosing a hosted platform - with the potential rare exception of WordPress.com, which does an admirable job of helping people leave and switch to self-hosted WordPress.

Every popular blog ‘community’ that exists today will soon be gone, just like everything from the past - just in the history of this website, so many cool but ultimately unsustainable platforms have come and gone.

Never change the technology

Once you choose the technology that runs your blog, use it. Don’t replace it, ever. Never ever rewrite it.

If you’re trying to blog, write. Work in the ‘posts’ and ‘drafts’ folders. Create TODO lists and schedules to get posts live. Stay out of the blog configuration, templates, plugins, and whatnot.

Now, sure, it’s fun to tinker from time to time. This blog, macwright.org, changes over time, at the pace of about 100 lines of code a year, mostly deletions. But this change is limited and intentionally sporadic, never happening more than a few times a year.

This is a specific instance of a larger problem: most people are unable to finish their side projects or focus on their side hustles, because they get distracted and sidetracked by tinkering and other things that increase the complexity of the project, instead of working toward the original goal. Being able to manage oneself is a skill as useful as it is rare, and I’m sure there are a few business books that draw that idea out into hundreds of pages.

So: focus. Blog software is mostly the same anyway.

Write something on a schedule

I write a post called ‘Recently’ every month. I’ve missed a few months, but on the whole, that’s the cadence. The post recounts what I’ve been ‘consuming’ - books, television, music, art, travel - and sometimes what I’ve produced elsewhere that didn’t fit on macwright.org.

Recently plays a key role in keeping the blog alive: it is a routine. It has been extremely successful in keeping me aware that I had a place to write when I wanted to, and keeping a pulse here even when I haven’t been writing very often.

It has something to do with burnout, too. When I write here, I wrote because of strongly held beliefs, of passionate interest, and the excitement of the creative process. There’s little practical reason to do it: I don’t make a cent from macwright.org, and where it has benefited me professionally, it has done so in an unintentional way I’d rather not overthink. For me, burnout is caused by doing something I usually love at a time when I don’t love it. I can picture few things more torturous than having a quota here, or trying to pick a ‘popular topic’ that would have ‘readership’. When my interests overlap with what the crowd wants, it’s a lovely coincidence. But I won’t force it.

Recently lets me keep the chain going, without faking it, and without trying to write about something I don’t care about.

Write what you’d like to read, and embrace the edit

Some writers can credit their success to their English teacher, but others should pin their failure on formalities that have no place outside the classroom. The internet doesn’t require you to introduce yourself, to write a conclusion that begins “In Conclusion…”, or to conspicuously avoid the passive voice. What matters is whether you’ve communicated your message and your style. Paul Graham’s Write Like You Talk is a good starting point.

07 Feb 18:50

escapekit: Air Paris-based art director and photographer...











escapekit:

Air

Paris-based art director and photographer Daniel Forero’s most recent series shows inflated balloons compressed between marbles slabs. The series was inspired by the shapes and colours of stones that compose the buildings in Daniels new home of Paris. 




Expresses something about being human in an unyeilding world. To survive, you must bend like the grass in the wind.

07 Feb 18:50

amospoe: “The Future is the biggest shaggy-dog story of all.” ―...



amospoe:

“The Future is the biggest shaggy-dog story of all.”
― Tom McCarthy

07 Feb 18:50

ehoradote: Jean-Luc Godard I always feel that a man and a...



ehoradote:

Jean-Luc Godard




I always feel that a man and a woman who do not like the same films will eventually divorce.

| Jean-Luc Godard

07 Feb 18:50

Growing ideas and PKMastery workshop

by Lilia

When I stopped working the most difficult part was to leave that space where ideas are grown and to leave seeds of new insights to be there without helping them to grow. I needed to make that choice eight years ago, to be able to recover from burnout and to learn how to care for myself, our three kids and my permaculture garden.

It was good to know that the ideas from my PhD research and early insights from the work on distributed Agile teams didn’t stay laying still while I was busy growing human beings and pumpkins. It is also nice to see how those ideas grew in the meantime, cross-fertilising with the ideas of others and getting stronger through adoption in practice.

So, when I got back on Twitter, just at the right moment to get an invitation for a Personal Knowledge Mastery workshop by Harold Jarche in Eindhoven, I had all the fun of getting an update from the first hands of someone who was helping ideas to grow further integrating insights of different people. Harold also did a lot of work to spread ideas of Personal Knowledge Management in practice, renaming it somewhere on the way into PKMastery.

Tweet by @hjarche: "Turning the wheels of #PKMastery with my inspiration @mathemagenic in Eindhoven"

The workshop was interesting not only to meet Harold and to discuss the possibilities of working on PKM ideas and practices further. With the group of participants we talked about various issues, concepts, resources. Some things that resonate with where I am now:

  • Converging and diverging, social structures, activities and conditions to enable one or another and the ability to switch between those.
  • Going beyond cognitive: embodiment,  emotions, wholeness, feeling concepts inside.
    Letting go, making choice, unconstraining. Practices that help to stay on track in the cloud of possibilities.
  • PKM routines. Sense-making: practices, monetizing, changing the world. Changing the world, also through art, was a particularly interesting discussion, since it touched on “start from yourself” point, where I’ve learned a lot in the last years, and on creating attractors for convening, which connects to my interests in creating spaces where interaction emerges.

It was also pretty amazing to see that a lot what I’ve learned in my PhD research is still valid and valuable. Technologies and the specifics of dynamics around them do change, but in essence a lot of networking, sense-making and reputation management via presence and activity traces is the same. When at some point discussion turned into blogging I found myself saying a lot of stuff that I summarised for the articles for Informatie Professional, published in 2010: blogging for knowledge workers: incubating ideas and personal networking (Dutch versions in .pdf).

When talking about monetising sense-making we talked not only about possible options, but also went along the lines of Weblog as a backstage: performance is counterproductive. As I went to reread it I had to pull out this quote (context: blog networking study), which is probably true for more than just weblogs:

Being yourself (like with good friends) – vulnerable, personal, multidimentional – in public, you meet others.  If weblog is an attractor, a “gravity pull” (Ton) then whatever you project outside “people will appear who appreciate that” (Martin). You start to “chat with people as they were your friends” (Dave) and they eventually become your friends. You start performing, they become an audience.

 

The post Growing ideas and PKMastery workshop appeared first on Mathemagenic.

07 Feb 05:35

Greater Toronto Area Rogers internet users reportedly facing service disruptions

by Shruti Shekar

Many Rogers customers across the Greater Toronto Area are reporting interruptions with their internet service.

The carrier’s official @RogersHelps Twitter account states that the issues extend across Southern Ontario and that they are due to weather conditions.

According to the website “Is The Service Down Canada,” outages are reported in Mississauga, Toronto, Etobicoke, Ajax, Thornhill, Oshawa, and Markham, Ontario.

The site states that 66.8 percent of complaints came from customers mostly having issues with their internet service being disrupted.

The @RogersHelp Twitter account has been responding to various tweets from customers asking about service disruptions. Complaints are also coming from areas of downtown Toronto like Queens Park, Queen Street East, and Young and Bloor.

Rogers

Rogers recently faced a similar service disruption due to bad weather, but services went back up shortly after.

Source: Is The Service Down Canada

The post Greater Toronto Area Rogers internet users reportedly facing service disruptions appeared first on MobileSyrup.

07 Feb 05:35

Adobe Premiere CC audio enhancement bug causing MacBook Pro speakers to blow

by Patrick O'Rourke
MacBook Pro 2018

An Adobe Premiere CC audio bug is causing some MacBook Pro speakers to blow, according to reports from multiple users.

The bug, which was first reported by 9to5Mac, initially appeared in Adobe’s Premiere CC forum.

A screenshot of the post is available below:

Adobe Forum

There are multiple users in this thread reporting they are experiencing the same speaker problem. The speaker blowing glitch seems to occur when users run Adobe Premiere CC enhancement tools that clean up audio or enhance speech.

In the same thread, a representative from Adobe stated that turning off the laptop’s microphone is necessary when using these tools. To do this, navigate to ‘Preferences,’ then ‘Audio Hardware’ and finally ‘Default Input’ and ‘No Input.’

Though it remains unclear what is causing the issue, it seems to have something to do with the microphone picking up the speaker’s output and amplifying it, ultimately resulting in the speaker blowing.

It’s unclear how widespread the issue is as it stands right now. If you’ve experienced the bug let us know in the comment section below.

Source: Adobe Via: 9to5Mac

The post Adobe Premiere CC audio enhancement bug causing MacBook Pro speakers to blow appeared first on MobileSyrup.

07 Feb 05:34

Fake Facebook profile of Canada’s Immigration Minister was used to scam refugees for money

by Shruti Shekar

A fake Facebook profile of Minister of Immigration, Refugees and Citizenship Ahmed Hussen was defrauding refugees of thousands of dollars.

According to the CBC, the fake profile spelled the minister’s name with only one “s,” but had used his pictures from his official Facebook page.

Information on the account was written in Arabic and English. CBC reported that it received the link from two refugees in Turkey.

The refugees, who had suffered incredibly and fled Iraq in January 2016, told CBC they got a message from someone claiming to be the minister at 2am.

One of the refugees said the minister refused to speak to him over the phone, but said over text messages that he would help him get permanent residency in Canada if the refugee sent him $3,550. That cost, the fake minister claimed, would be for the refugee’s entire family.

When the refugee said he couldn’t afford it, the fake minister said he wouldn’t be able to help because it costs money to become a citizen.

CBC News reported that it tried to message the fake profile, but shortly after the profile was deleted. CBC also noted that Immigration, Refugees and Citizenship Canada did not confirm if it was looking into the fake website or the case.

Image Credit: YouTube (screenshot) 

Source: CBC

The post Fake Facebook profile of Canada’s Immigration Minister was used to scam refugees for money appeared first on MobileSyrup.

07 Feb 05:34

Lyft will soon allow users to request electric or hybrid vehicles

by Patrick O'Rourke

It looks like ridesharing service Lyft is going all in with EV and Hybrid vehicles.

With plans to add thousands of electric vehicles to its network throughout 2019, it makes sense for the ridesharing service to bring the ability to specifically request an EV or hybrid vehicle directly from its Android or iOS app.

The option to request an EV or hybrid is rolling out now in Seattle, Washington before expanding to other cities. Lyft says that riding in EVs or Hybrids will not cost more money than a standard gas-powered car.

Lyft

“In 2019, Lyft will work to introduce thousands of electric vehicles (EVs) onto our platform, and will make it easier for riders to request them through Green Mode. These efforts will provide cleaner transportation options for Lyft riders, and increase net earnings for our driver community. Once adopted widely, EVs hold the promise of making cities more livable by dramatically reducing air pollution,” writes Lyft is a recent press release about the announcement.

Lyft also offers EV or hybrid through the ridesharing service’s Express Drive program, allowing drivers to rent electric vehicles for a weekly rate that also includes the cost of unlimited charging.

It’s unclear when the feature will be making its way to the Canadian cities. Lyft is available in, including Hamilton, the Greater Toronto Area and Ottawa.

Source: Lyft 

The post Lyft will soon allow users to request electric or hybrid vehicles appeared first on MobileSyrup.

07 Feb 05:34

Google working on prototype ‘Never-Slow’ mode for Chrome browser

by Brad Bennett

A recent discovery by Chrome Story details a commit that can be enabled on Chromium Gerrit that forces websites to run as fast as possible.

This doesn’t come without a price. The mode adds limits to things like image sizes, the number of images on a page and more. In the new method, almost everything you see on a webpage has a new smaller budget that it can’t go over to force it to load faster.

‘Never-Slow’ mode is still in testing, so it’s unlikely that it will cause changes to the web anytime soon, but if it’s ever imposed as Chrome’s default, it will likely cause some backlash from developers.

A screenshot of the resource budgets imposed by Never-Slow mode.

That said, this new mode could be useful for people that need to have a ton of tabs open at once and they don’t care about anything except the body text on a webpage. If it can implement something like Safari’s Reader View that automatically applies itself to sites to make them load faster that could be a game changer.

Of course, since Google is also an ads business, this possibility seems unlikely.

Source: Chrome Story 

The post Google working on prototype ‘Never-Slow’ mode for Chrome browser appeared first on MobileSyrup.