Shared posts

23 Dec 16:25

Project management for academics I: Managing a research pipeline

by Raul Pacheco-Vega

I am always honored when fellow scholars mention my name as someone worthy of being followed for advice on planning.

I am a very systematic planner and I love having my life neatly organized and planned (I am a Virgo, a Type A and an Upholder).

Drafts monthly plans

While I have taken Masters-level project management courses and have read the entire Project Management Institute PMBOK (Project Management Body of Knowledge), I have a very particular set of processes that work for me, and sometimes, work for other folks.

The one question I saw on Twitter today regarding how to do research planning prompted me to curate a list of resources and scholars whose research pipeline processes might be of help for anybody who follows me or reads my blog. Here is my Twitter thread.

While this thread was about project management, I had to discuss something equally important: if you are the principal investigator of a laboratory, or you use the lab model to engage your students and research assistants, you can’t develop your own research pipeline without consulting others. Each member of the team’s research pipeline needs to align with that of the principal investigator, and vice-versa.

A few respondents offered their own advice on research pipeline management and I link to their responses in my thread.

Overall, I do hope that this thread and blog post will be useful to scholars as they plan their research pipeline! Also grateful to every scholar I quoted here for sharing their processes.

23 Dec 16:24

An Email From The CEO

by Richard Millington

Ask your CEO (or her assistant) if she wouldn’t mind sending out a few personal emails to top community members as thanks for everything they’ve done for the community this year.

They have to be personalised (no mass cut & paste to the entire community) and they have to come from the CEO’s account.

You can even draft them up. Be sincere and honest. Don’t pretend the CEO is reading every post when they’re clearly not. For example:

Hi [member],

I’m the CEO of [company] and my team have been telling me about your great contributions to the community over the past year. They especially liked your posts about [x], [y], and [z].

I just wanted to drop you a quick note of thanks.

Our community only works because of key members like you who take the time to help other members. Please don’t ever hesitate to drop me a line if there is ever anything I can do to help.

Thanks again,

[name],
CEO, [company name].

If you can’t get the CEO to send out a few pre-written emails from her account, then find the next senior person who will.

23 Dec 16:24

Color breakdown of Scientific American covers

by Nathan Yau

For Scientific American, Nicholas Rougeux and Jen Christiansen show the shift in hues for the magazine’s covers over the past 175 years. The changes serve as a proxy for technology advancements, changes in ownership, and shifts in thinking.

Tags: color, covers, Scientific American

23 Dec 16:23

Hundreds of ‘pink slime’ local news outlets are distributing algorithmic stories and conservative talking points

Priyanjana Bengani, Columbia Journalism Review, Dec 20, 2019
Icon

Forget the content of these sites, which is a product of the times. Rather, consider the methodology, which is to use "low-cost automated story generation" technology to create networks of local news outlets. Why is this relevant? Because the idea is not far removed from online course sites of the same design (after all, the connectivist MOOC and Moncton Free Press have the same basic design). And this points to a dystopian future of online learning producing courses "typically during election cycles—and create and amplify material to support political outcomes." The trend is already entrenched in local media - how long before it becomes entrenched in education?

Web: [Direct Link] [This Post]
23 Dec 16:23

Who deserves a reply? Take the “No Ghosting” pledge.

by Josh Bernoff

One terrible thing that happens in professional circles is “ghosting” — failing to reply to someone after an exploratory conversation. It’s rude after a date, but inexcusable after an interview. Let’s talk about who deserves a reply and what kind of reply you owe them — or don’t. Who deserves a reply? Not everybody. If … Continued

The post Who deserves a reply? Take the “No Ghosting” pledge. appeared first on without bullshit.

23 Dec 15:54

P.E.I. adding six new EV chargers across the province

by Brad Bennett

The province of P.E.I. is pushing hard to build six new electric vehicle charging stations across the island to help it’s residents feel more confident in buying EVs.

This is one of the first steps of the province’s Sustainable Action Plan that it launched on November 6th.

According to province officials who spoke with CBC News, some chargers are already under construction and should be done in early 2o20. These locations are Borden, Charlottetown, O’Leary Summerside, Wood Islands and Souris.

Beyond the new chargers, the province is also working to increase ridership on its transit systems, pushing electric vehicle sales and active forms of transportation like biking and scootering.

To help increase EV adoption on the island, the action plan also plans to offer people some form of a rebate, but there’s no word on when that will roll out.

In Canada, only Quebec and B.C. offer EV rebates on a provincial level. The federal government provides a $5,000 buying incentive, but it only applies to specific car models that cost less than $45,000. The Quebec rebate can be up to $8,000, and the B.C. incentive ranges up to $3,000.

Source: CBC News, P.E.I Sustainable Action Plan

 

The post P.E.I. adding six new EV chargers across the province appeared first on MobileSyrup.

23 Dec 15:54

Samsung S11+ rumoured to feature 5x optical zoom with 48-megapixel sensor

by Dean Daley
S10

Samsung’s and Huawei’s 2020 flagships will take two different approaches with their optical zoom capabilities.

Reportedly, Samsung’s Galaxy S11+ will sport a 5x optical zoom camera with a 48-megapixel sensor, whereas Huawei’s P40 Pro will feature a 10x optical zoom shooter with a 16-megapixel sensor.

This rumour comes from the well-known leaker, Ice Universe (@UniverseIce).

According to past leaks, both handsets will sport periscope lenses to achieve these optical zoom capabilities.

The S11+ will reportedly also sport a 108-megapixel sensor, an ultrawide-angle lens and a time-of-flight sensor for depth. It’s currently unclear what other lenses or sensors the P40 Pro will feature.

Samsung will reportedly unveil the Galaxy S11 series on February 18th, and Huawei will reveal its P40 series in March. 

Source: Ice Universe

The post Samsung S11+ rumoured to feature 5x optical zoom with 48-megapixel sensor appeared first on MobileSyrup.

20 Dec 01:28

Sleep may organize the flow of fluids that wash...

20 Dec 01:27

JZBUILD - An Easy Javascript Build System

by Steve Hanov

I love languages where you need years of experience to write code that works, and languages where if you don't do everything exactly right, you will shoot yourself in the foot. (See my article "C++: A language for next generation web apps"). Naturally, I love javascript.

Fortunately, Javascript has tools that will help catch bugs before you run it. One is JsLint. Following Douglas Crockford's crazy rules eliminates many cross-browser compatablility problems, and it syntax-checks the code too. The Google Closure compiler performs static analysis of the code to catch a few more problems, and as a bonus it will compress and obfuscate your code for you.

JZBUILD is a build system to simplify the process.

Download jzbuild.py

git clone http://github.com/smhanov/jzbuild.git

Like any of the other dozen javascript build systems, JZBUILD will:

  • Run all of your javascript through a built-in copy of jslint for error checking.
  • Concatenate files together and feed them into the Closure compiler or YUI compressor, without sending your code over the web.
  • Process include directives. JZBUILD resolves dependencies so your files will be included in the proper order.
  • Include files from other folders. For example, you might have a folder full of re-usable javascript components that are used in several projects. JZBUILD will let you pull these files into your current project.

JZBUILD is designed to be easy to use.

  • JZBUILD only requires python and Java to run. If you don't have another tool that it needs, it will download it automatically.
  • You don't need any configuration file. By default, JZBUILD will process all files in the current folder.
  • JZBUILD includes built-in "externs" for the closure compiler, so it will work with projects that use the jquery javascript library. It includes other tricks to make the compiler work on your code.
  • It works on Linux and Windows

Tutorial

Although this example is in Windows, JZBUILD works equally well on Linux.

Suppose you have a folder full of javascript files -- eg, foo.js, and bar.js.

 Directory of H:demo

07/29/2010  09:25    <DIR>          .
07/29/2010  09:25    <DIR>          ..
07/29/2010  09:26              8392 foo.js
07/29/2010  09:26              2303 bar.js
               2 File(s)           10293 bytes
               2 Dir(s)     377,483,264 bytes free

Run JsLint on them:

jzbuild.py

Run JsLint and concatenate them together into MyWebApplication.js:

jzbuild.py --out MyWebApplication.js

Run JsLint and compress them using the YUI compressor into MyWebApplication.js. The YUI compressor will be downloaded for you.

jzbuild.py --out MyWebApplication.js --compiler yui

Run JsLint and compress them using the Google closure compiler into MyWebApplication.js. The compiler will be downloaded for you.

jzbuild.py --out MyWebApplication.js --compiler closure

Included files

JZBUILD processes include directives by searching the current folder and any included files. Suppose foo.bar contained a line like this:

//#include <bar.js>

And bar.js contained a line like this:

//#include <MyUsefulFunctions.js>

Where MyUsefulFunctions.js is in the folder ../shared. Then you can compile your whole web application by specifying only "foo.js" on the command line:

jzbuild.py --out MyWebApplication.js --compiler closure -I../shared foo.js

The -I option says to search the given path for input or included files. JZBUILD takes a list of input files on the command line. It reads each of them and processes included files as well, and sticks all of them together before sending them to the output file.

Note: It is incorrect to say JZBUILD "includes" files. The files are only included once, no matter how many times you specify "#include". This directive will be renamed "@require" in a future version.

Advanced Usage

When it starts, and you didn't specify "--out" on the command line, JZBUILD will look for a file named "makefile.jz" in the current folder.

Example makefile.jz

Here's an example makefile.jz. In it, we specify two projects to build. The "release" project will use the closure compiler to create MyWebApplication.js from "foo.js" and all files that it includes, searching in the folder "../shared" for any included files. It will also prepend "license.js" to the output.

It also specifies a second project, called "debug". The "debug" project contains the option "base: release", which means to inherit all the settings from the "release" project.

When this makefile is in the current folder, you can build a specific project by specifying its name on the command line. For example, to build the release project, use:

jzbuild.py release
// You can use comments in a JZBUILD makefile.jz. The file format is exactly like
// JSON, except that quotes and commas are optional.
// A file is an object of projects. Each project produces one output file.
// When you invoke JZBUILD you must specify a project to build unless there
// is only one in the file.
{
    // Here is a project description. You only need one project but we will
    // define several for completeness.

    // You can give a project a name. You can use it to refer to the project
    // from other projects.
    release: {
        // The output file will be created from the input files. It is a
        // string with the path to the output file.
        output: MyWebApplication.js

        // 'input' is an array of input files. You should use only the filename
        // and not the path. When jsbuild starts it will automatically find
        // the files it needs from the include path. It will also expand this
        // list based on any //#include  directives.
        input: [foo.js]

        prepend: [license.js]

        // The include path specifies an array of paths to search for files.
        // It always includes the current folder.
        include: [../shared]

        // The compiler specifies the compiler to use. The default compiler is
        // 'cat' which simply appends files together. The other
        // option is 'closure' which refers to Google's closure compiler. If
        // you do not have the closure compiler JZBUILD will download it for
        // you. However you will need to have Java installed to use it.
        compiler: closure

        // Here are the options to the closure compiler.
        compilerOptions: [
            --compilation_level ADVANCED_OPTIMIZATIONS
            --warning_level VERBOSE
        ]
    }

    // Here is a second project.
    debug: {

        // This project is special because it inherits all the properties from
        // its parent project. It specifies the parent by name.
        base: release

        // Here we override the options to the closure compiler to include
        // pretty-printing so we can easily see what it is doing.
        compilerOptions: [
            --compilation_level ADVANCED_OPTIMIZATIONS
            --warning_level VERBOSE
            --define=ENABLE_DEBUG=true
            --formatting PRETTY_PRINT
        ]
    }
}

Goodies to make the Closure compiler work properly

Built in externs

An externs file is built in to JZBUILD, so you can use the jquery library with the closure compiler, and it will give you useful warnings when you call the functions with the wrong parameter types.

@export annotation

A painful reality (and the whole point) of using the advanced compilation mode of the closure compiler is that it renames everything, so if you need to refer to a property of an object from HTML then it won't work unless you "export" it as described here.

JZBUILD makes this easy using the @export annotation. For example:

//@export MyGreatObject
/** @constructor */
function MyGreatObject()
{

}

//@export MyGreatObject.prototype.dostuff
MyGreatObject.prototype.dostuff = function()
{

}

When the compiler is set to "closure", the above will cause JZBUILD to add the required exports to the code. Specifically:

window["MyGreatObject"] = MyGreatObject;
MyGreatObject.prototype["dostuff"] = MyGreatObject.prototype.dostuff;

License

The JZBUILD system is open source. It is released to the public domain. However, it contains portions of code that fall under other licenses. The full license information is found in the source code.
20 Dec 01:27

Reflecting on “It’s Our Research” at Mozilla

by Jennifer Davidson

Authored by Jennifer Davidson, with contributions from Julia Starkov, Jim Thomas, Marissa (Reese) Wood, and Michael Verdi

I thought we involved stakeholders in research pretty perfectly, here at Mozilla. Stakeholders come to research studies, listen attentively to research report-outs, and generally value the work our team does. Then I read “It’s Our Research”. I still think the Firefox User Research team has great buy-in across the organization, but after reading Tomer Sharon’s book, there are so many more things we could improve on! And what fun is a job, if there’s nothing to improve, right?

I’d like to call in some stakeholders to help me tell four short stories related to four pieces of advice Tomer Sharon provides in his book. (By the way, there are so many ideas in that book, it was hard to pick just four.)

Let’s start with the “failures”. Failure is a big word, but they’re really two examples where I could’ve done better, as a user researcher.

Never skip a field debriefing

An artistic bridge in Salem, Oregon with a clear blue sky.
An artistic bridge in Salem, Oregon with a clear blue sky. The weather was just too nice to debrief.

Tomer Sharon recommends that we never skip a debrief. A debrief includes those precious moments immediately after interviewing a participant or visiting a participants’ home. They capture your first reactions after the experience. Sharon details that they’re important because it helps prepare for analysis, and helps stakeholders remember the sessions. On the Firefox UX team, we have a great debrief culture. We reserve time after interviews, even if they’re remote interviews to capture initial thoughts. This practice is more formal when we do field research — where we not only have an individual debrief form that we fill out immediately after each visit, but we also do group debriefs together after each interview to talk together about what we observed. I would say we always do debriefs after every interview or session with our users, but then I’d be lying. Let’s have Julia Starkov, a Mozilla IT UX designer talk about her experience when we skipped a debrief in the field.

The time we skipped a debrief, as told by Julia:

We wrapped up our Salem user research on a Friday afternoon; we were staying in different cities and some of us had plans right after the interview. We were also parked outside of the participant’s house so we decided to skip the group debrief and get the weekend started. While this felt like a huge relief at the time, I regret not pushing for us to meet at a cafe and wrap up the research together. By the time the weekend came and went, and I flew back to California, it was hard to recall specific parts of that interview, but mainly, I felt we could have definitely benefited from starting synthesis right away as a group. Overall, I thought the research effort was a total success, but I feel like I would have retained more insights and memories from the experience with a bit more team-time at the end.

Always include an executive summary

An executive summary is a few sentences, maybe one slide (if it’s in slide format) that summarizes a research study. I’ll tell you — it is the hardest part of a research study. Let’s have Reese Wood, Firefox VP of Product, explain the importance of an executive summary.

The importance of an executive summary, as explained by Reese:

The purpose of an executive summary is to describe the main and important points of your document in such a way that it will engage the readers. The intent is to have them want to learn more and continue to read the document. This is important because the reader will pay greater attention to detail and read the doc all the way through if they are engaged. In short, without a good executive summary, the document will likely not get the attention it deserves.

Reese puts it nicely, but I’ll reiterate, without an executive summary, people may not pay any attention to the study results (a researcher’s worst nightmare!). So over the past year, the Firefox UR team has been iterating on our executive summary style, to better fit the needs of our current executives. We try to be more succinct with our executive summaries than before, with clear takeaways and calls to action for each report.

Now let’s move on to talk about a couple of successes.

Make it easy to participate

A picnic table overlooking the Puget Sound, with a coffee, a packet, and post-it notes on it
A picnic table overlooking the Puget Sound, with a coffee, a packet, and post-it notes on it. We took our research packets everywhere that week. Also, it’s never too nice to debrief.

Be prepared — not only with great research practices like doing a pilot (a practice research session before doing the rest of the study, to work out the kinks in a research protocol) — but also, by making it easy for stakeholders to participate. This means that the researcher, or a supportive operations manager, needs to do some administrative tasks. When you have stakeholders come with you on home visits, get them the materials they need to take notes or photos. With every field research trip I do, I find little tweaks I can make to improve the stakeholder experience. Earlier this year, I took a little extra planning time, and with a great example from other team members (particularly, Gemma!), created a packet in a waterproof (that’s important if you’re doing research in the rainy Pacific Northwest like we were) document folder for each stakeholder. It felt like making personalized goodie bags for a birthday party. The packet contained everything they needed to participate: pen, sharpie, note-taking guide, photograph shot list, post-its, a legal pad, and a label with their name on the packet. And Jim Thomas, Firefox Product Manager, will talk about his experience participating in field research.

The time I participated in field research, as told by Jim:

As a Product Manager, I know how important it is to spend time connecting with your users, learning how they think about your product, observing what they do and how they react. I’ve done this informally throughout my career, but formal field research seemed like it would involve a lot more rigor. In fact, it was even more rigorous, but it didn’t feel like it thanks to the prep work put in by the team. Every session had our roles and responsibilities planned ahead of time, with relevant materials in a convenient package. Debriefing after each session was simple even at restaurants or picnic tables because everything we needed was at our fingertips. All the process was handled for me so I was able to focus on my most important goal: learning about our users and their perspectives.

Analyze together

Sticky notes on a white board, arranged in columns, with various colors.
Lots of sticky notes about how people learn to use new software and apps that the team pulled together. This was one of four walls that were covered in sticky notes by the end of the analysis.

Sharon recommends analyzing results together with stakeholders. He mentions that ideal outcomes from analyzing together are:

  • “Stakeholders are more likely to act upon study results because they participated in the study’s development”
  • “The design or product changes are more likely to be the right ones because they are based on multidisciplinary angles that try to solve the same problem”

Involving stakeholders in analysis can be tricky because analyzing data is difficult! It’s entirely too easy to use broad strokes to say what you think you saw, but to be rigorous with qualitative research analysis, we dive deep into the weeds with every action, every comment, to see if any themes or patterns emerge.

I mentioned earlier that Sharon recommends debriefing with stakeholders who are doing research with you. Notably, debriefs are not analysis. They may start the analysis juices going, but analysis is much more in-depth and complex.

We don’t always involve stakeholders in analysis, particularly if the timing is tight. However, in one case, I spent an extra few days in Germany, so we could do analysis immediately after field work. I think it went really well, and I was so happy to be about 80% done with analysis before even leaving Germany. Let’s hear what it was like for Michael Verdi, a Firefox UX designer and my partner on the project.

The time I participated in multiple days of analysis in Berlin, as told by Michael:

I’m really happy I got to participate in the analysis phase. I’d done it on a previous project and found it extremely valuable. In addition, I thought we were fortunate this time to be able to begin right away while everything was fresh. It’s so good to spend time digging into details and carefully considering everything we saw. It’s also difficult (but great practice) to hold off on trying to solve all the problems right away. I feel like by the time I did move on to design I’d really absorbed the things we learned.

This is not the end

While this blog post was a great reflection exercise about my practice as a user researcher with involving stakeholders in research, it is not the end of the story. The practice of user research is just that — a practice that takes practice, and continuous improvement. Next year, I hope to work on other concrete ideas that our Firefox UR team can implement to increase stakeholder involvement in user research even more.

Thank you to Gemma Petrie and Elisabeth Klann for reviewing this blog post.

Also published on the Firefox UX blog.


Reflecting on “It’s Our Research” at Mozilla was originally published in Firefox User Experience on Medium, where people are continuing the conversation by highlighting and responding to this story.

20 Dec 01:26

Mossberg on Tim Cook’s Apple

by Rui Carmo

I love Walt’s writing, but can’t help feeling he’s holding back a little (even though he does stick his finger in some of the wounds Apple has wrought in its customer base).

Personally, I think Tim Cook has done a stellar job of scaling the company but an absolutely lousy one at ensuring all its products stayed at the far end of the inspirational and quality scales.

I wouldn’t worry about Apple being able to churn out another blockbuster device–but I do worry about their ability to deliver excellent user experiences, because iOS and macOS are both crumbling at the base (i.e., in both stability and reliability).

Yes, the iPhone is (still) the best smartphone out there on many counts, and that is largely due to a combination of huge momentum and vertical integration that Tim has kept polishing. And yes, the Watch is a great product, and many people subscribe to the notion that more sophisticated content services is a next logical step (again, largely building upon the iTunes user base).

But the Mac (and software quality in general) have degraded to a point where many people are not just beyond being openly critical, but starting to question if someone else shouldn’t be running the show.

Because, all things considered, none of the above are worth squat if your customers stop being your advocates–and the Mac was a huge part of that for many years.


20 Dec 01:24

Did Tulsi Gabbard show courage by voting “present” on impeachment?

by Josh Bernoff

When the US House of Representatives impeached President Trump last night, unlike every other member of the House, Tulsi Gabbard voted “present.” Is she a courageous centrist, or just a coward? Let’s look at her statement. About that impeachment Here’s what happened last night. The votes to impeach came from 229 House Democrats and one … Continued

The post Did Tulsi Gabbard show courage by voting “present” on impeachment? appeared first on without bullshit.

20 Dec 01:24

Car2Go Gone: I’ll miss my SmartCar

by Gordon Price

Sad news: Car2Go (ShareNow) is shutting down its North American operations (and pulling out of a few European cities like London and Florence).

The company cited operational costs and the lack of necessary infrastructure to support new technology, like electric vehicle car-sharing, for the decision.

The company says it has more than 230,000 users in Vancouver.

“Vancouver was really very, very attractive for Car2Go,” Gordon Price of the SFU Centre for Dialogue said. “We were the car-sharing capital of North America, maybe the world. It wasn’t true in the rest of North America.

We made the switch to car-share when we scrapped our car with an incentive from the Province – for a year of Car2Go!  Loved it, especially the SmartCar which could fit into those tiny left-over spaces in the West End.

Along with Evo and Modo, Car2Go was making a difference: Vancouverites in dense neighbourhoods were making the switch.  There was even sign of ‘share-turation’ on some blocks. (Hopefully, Evo and Modo can fill some of the void.)

Losing money over time is never a winning business strategy, but Daimler (Car2Go’s parent) strategy may have been to dominate the market prior to the availability of autonomous cars.  They got the timing wrong on that (indeed, it may be a lot longer before self-driving cars are seen in dense, complex cities) and are moving away from research and development of autonomous vehicles elsewhere.

It doesn’t always pay to be first.

20 Dec 01:23

More Questions About .org

by Mark Surman

A couple of weeks ago, I posted a set of questions about the Internet Society’s plan to sell the non-profit Public Interest Registry (PIR) to Ethos capital here on the Mozilla blog.

As the EFF recently explained, the stakes of who runs PIR are high. PIR manages all of the dot org domain names in the world. It is the steward responsible for ensuring millions of public interest orgs have domain names with reliable uptime and freedom from censorship.

The importance of good dot org stewardship spurred not only Mozilla but also groups like  EFF, Packet Clearing House and ICANN itself to raise serious questions about the sale.

As I noted in our original post, a private entity managing the dot org registry isn’t an inherently bad thing — but the bar for it being a good thing is pretty high. Strong rights protections, price controls and accountability mechanisms would need to be in place for a privately run PIR to be trusted by the dot org community. Aimed at the Internet Society, Ethos and ICANN, our questions focused on these topics, as well as the bidding process around the sale.

On Monday, Ethos CEO Erik Brooks published a blog post replying to Mozilla’s questions. The public response is appreciated — an open conversation means more oversight and more public engagement.

However, there are still critical questions about accountability and the bidding process that have yet to be answered before we can say whether this sale is good or bad for public interest organizations. These questions include:

1. For the Internet Society: what criteria, in addition to price, were used to review the bids for the purchase of PIR? Were the ICANN criteria originally applied to dot org bidders in 2002 considered? We realize that ISOC may not be able to disclose the specific bidders, but it’s well within reason to disclose the criteria that guided those bidders.

2. For Ethos: will accountability mechanisms such as the Stewardship Council and the incorporation of PIR as a public benefit corporation be in place before the sale closes? And, will outside parties be able to provide feedback on the charters for the B-corp before they are finalized? Both are essential if the mechanisms are going to be credible.

3. Finally, and possibly most importantly, for ICANN: will you put a new PIR contract in place as a condition of approving the deal? If so, will it provide robust oversight and accountability measures related to service quality and censorship issues?

We need much more information — and action — about this deal before it goes ahead. It is essential that Ethos and the Internet Society not close the PIR deal — and that ICANN does not approve the deal — until there are clear, strong provisions in place that protect service quality, prevent censorship and satisfy the dot org community.

As I wrote in my previous blog, Mozilla understands that a balance between commercial profit and public benefit is critical to a healthy internet. Much of the internet is and should be commercial. But significant parts of the internet — like the dot org ecosystem — must remain dedicated to the public interest.

The post More Questions About .org appeared first on The Mozilla Blog.

20 Dec 01:22

"Culture is the name for all those things we practice without really believing in them or taking them..."

“Culture is the name for all those things we practice without really believing in them or...
20 Dec 01:22

Proviz Reflect360 cycling gloves review

by jnyyz

I’ve been happy with the two jackets that I’ve ordered from Proviz. Recently I bought a pair of their highly reflective cycling gloves, which were billed to be waterproof and good for colder weather, as mentioned in the nine reviews on their website.

This is what they look like in real life.

First impressions were not positive. I picked the size according to their directions, and they fit in terms of width, but the fingers are very stubby and too short for me. The cuffs are also very short.

In addition, each glove has a pair of fairly stiff pads that make gripping things rather awkward.

Finally, I wore these gloves on a recent rainy/snowy ride, and after only about 15 minutes, they were soaked through. Once my hands were wet, the loose lining made it extremely difficult to the gloves back on.

In terms of warmth, I’d say that in dry conditions, they’d be good down to about 5°C.

So this is the first article from Proviz that I absolutely cannot recommend. I wrote a more measured review and submitted it to their website, but somewhat unsurprisingly, it was not posted.

20 Dec 01:22

Default User

by Bryan Mathers
default user

I’m guilty of thinking that “user” is a gender-neutral term.

It turns out that this is rarely the case. By “default user” we commonly unconsciously think white male. That’s because those that are doing the building are while males. Blind Spots 1, Bryan 0.

I’ve been listening to the excellent book Invisible Women – Exposing Data Bias in a World Designed for Men (by Caroline Criado Perez) – it’s literally eye-opening…

The post Default User appeared first on Visual Thinkery.

20 Dec 01:21

Content-based Filtering

The publish/subscribe pattern is central to data in motion — event-driven and messaging-based apps, I mean. I’m increasingly convinced that pub/sub software just isn’t complete without some sort of declarative filtering technology, so that you can subscribe to a huge shared torrent of data and only see the parts of it that you need to process. You could look at everything and write code to reject the data you don’t care about, but it’s nice to write a declarative rule and have the system take care of the filtering for you.

[This is part of the Event Facets series.]

This piece is about data-filtering technology we’ve been cooking up at AWS, and that I’ve personally put a whole lot of work into. The proximate cause for publishing now is that while this feature has been around for a while in the old CloudWatch Events and in SNS, we’re just rolling out all the latest bells and whistles in EventBridge. I want to write about it because it’s different enough from other filtering technologies to be interesting.

EventBridge’s events are delivered in JSON, but this tech ought to apply to any nested JSON-like structured data. The syntax is called “Event Patterns”, and the idea is that the filters don’t look like SQL or really any other popular query language, they look like the events they’re filtering.

To make this concrete, let’s look at a typical event you might encounter on EventBridge:

{
  "version": "0",
  "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
  "detail-type": "EC2 Instance State-change Notification",
  "source": "aws.ec2",
  "account": "111122223333",
  "time": "2017-12-22T18:43:48Z",
  "region": "us-west-1",
  "resources": [
    "arn:aws:ec2:us-west-1:123456789012:instance/ i-1234567890abcdef0"
  ],
  "detail": {
    "instance-id": " i-1234567890abcdef0",
    "state": "terminated"
  }
}

In the following sections, all the examples will match this event.

Event Patterns have the same structure as the Events they match

Suppose you wanted to subscribe only to events from EC2. Here’s the Event Pattern:

{
  "source": [ "aws.ec2" ]
}

The pattern simply quotes the fields you want to match and provides the values you are looking for.

The sample event above, like most events, has a nested structure. Suppose you want to process all instance-termination events:

{
  "source": [ "aws.ec2" ],
  "detail-type": [ "EC2 Instance State-change Notification" ],
  "detail": {
    "state": [ "terminated" ]
  }
}

Only specify the fields you care about

In the example above, you only provide values for three fields: The top-level fields “source” and “detail-type”, and the “state” field inside the “detail” object field. EventBridge ignores all the other fields in the event while applying the filter.

Match values are always in arrays

Note that the value to match is in a JSON array, that is to say surrounded by “[” and “]”. This is so that you can provide multiple values. Suppose you were interested in events from EC2 or Fargate:

{
  "source": [ "aws.ec2", "aws.fargate" ]
}

If the value of the “source” field was an array, that would work too: The pattern would match if the intersection between the pattern array and the event array (both treated as sets) was non-empty.

Ands and Ors

The filter language is a bit surprising in that when you provide multiple possible matches, as immediately above, that’s an OR operation — you match if any one of them does. But when your pattern has multiple fields, that’s an AND because all of the fields have to match. Oddly, this seems to meet people’s needs quite well. And if you really need OR’ed fields, you can post two filters, one with each of the options.

You can match all the JSON data types

Consider the following Auto Scaling event:

{
  "version": "0",
  "id": "3e3c153a-8339-4e30-8c35-687ebef853fe",
  "detail-type": "EC2 Instance Launch Successful",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "2015-11-11T21:31:47Z",
  "region": "us-east-1",
  "resources": [
   ],
  "detail": {
    "eventVersion": "",
    "responseElements": null
   }
}

You can match the “responseElements” field as follows:

{
  "detail": {
    "responseElements": [ null ]
  }
} 

This works for numbers too. Consider the following Macie event (truncated for brevity, and pardon the klunky line breaks, need to make my CSS smarter about code):

{
  "version": "0",
  "id": "3e355723-fca9-4de3-9fd7-154c289d6b59",
  "detail-type": "Macie Alert",
  "source": "aws.macie",
  "account": "123456789012",
  "time": "2017-04-24T22:28:49Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:macie:us-east-1:123456789012:trigger/trigger_id/alert/alert_id",
    "arn:aws:macie:us-east-1:123456789012:trigger/trigger_id"
  ],
  "detail": {
    "notification-type": "ALERT_CREATED",
    "name": "Scanning bucket policies",
    "tags": [
      "Custom_Alert",
      "Insider"
    ],
    "url": "https://lb00.us-east-1.macie.aws.amazon.com/111122223333/posts/alert_id",
    "alert-arn": "arn:aws:macie:us-east-1:123456789012:trigger/trigger_id/alert/alert_id",
    "risk-score": 80,
    "trigger": {
      "rule-arn": "arn:aws:macie:us-east-1:123456789012:trigger/trigger_id",
      "alert-type": "basic",
      "created-at": "2017-01-02 19:54:00.644000",
      "description": "Alerting on failed enumeration of large number of bucket policies",
      "risk": 8
    },
    "created-at": "2017-04-18T00:21:12.059000",
    // truncated for brevity
    . . . 

Suppose your security policies require you to react when Macie reports anything with a risk score of 80 and a trigger risk of 8:

{
  "source": [ "aws.macie" ],
  "detail": {
    "risk-score": [ 80 ],
    "trigger": {
      "risk": [ 8 ]
    }
  }
}

Numbers work properly

While the pattern above works, it doesn’t work that well, because it only matches against the JSON exactly as stated. So for example, if the programmer generating that Macie event changed their code so that it emitted "risk-score": 80.0, the rule wouldn’t match.

Fortunately, EventBridge has numeric matching built-in. This would allow you to implement security policies much more flexibly and reliably. For example, here’s a pattern that matches a trigger risk value of 8 (even if it’s expressed as “8.000” or “8.0e0”, and any risk-score value over 50 but less than or equal to 100.

{
  "source": [ "aws.macie" ],
  "detail-type": [ "Macie Alert" ],
  "detail": {
    "risk-score": [ { "numeric": [ ">", 50, "<=", 100 ] } ],
    "trigger": {
      "risk": [ { "numeric": [ "=", 8 ] } ]
    }
  }
}

This kind of numeric matching is useful, but is limited to values between -1.0e9 and +1.0e9 inclusive, with 15 digits of precision, that is to say six digits to the right of the decimal point.

Note that match expressions go into arrays just like literal values. Match expressions and literals can be mixed up as much as you want.

Prefix matching

Suppose you want to process all the auto-scaling events from AWS’s European regions. There’s a match expression for that.

{
  "source": [ "aws.autoscaling" ],
  "region": [ { "prefix": "eu-" } ]
}

IP address matching

For one reason or another, it’s not that uncommon to encounter IP addresses in event fields. Since the CIDR notation was explicitly designed to match IP ranges, it works well as a filter syntax:

{
  "caller-ip": [ { "cidr": "192.168.100.0/22" } ] 
}

It works with IPv6 too!

{
  "caller-ip": [ { "cidr": "2001:db8::/120" } ] 
}

(Confession: I’ve never seen one of these in the wild in our event ecosystem.)

(Confession: I don’t think the CIDR capability has quite finished deploying as of the publishing of this blog.)

Existence Matching

Suppose you wanted to make an ElasticSearch full-text index of a bunch of events. To do this, you might want to select all the events that have a description field:

{
  "detail": {
    "description": [ { "exists": true } ],
  }
}

You could also use { "exists": false } to select events that don’t contain some particular field.

Anything-but matching

Sometimes you want to exclude rather than include a particular field value. Suppose you want to process all the events except those that are CloudTrail reports of API calls:

{
  "detail-type": [ { "anything-but": "AWS API Call via CloudTrail" } ]
}   

The anything-but match expression can blacklist literal strings or also a list of values, but the list has to contain either all strings or all numbers. Suppose you wanted to see all the events except those that came from EC2 or S3:

{
  "source": [ { "anything-but": [ "aws.ec2", "aws.s3" ] } ]
}

The anything-but match expression can also use a nested match expression to exclude prefixes. For example, EventBridge’s main event bus has a huge number of events coming from all the AWS services, but you can also inject your own events using the PutEvents API. You can distinguish AWS’s events and process only your own because the “source” field in all the AWS events begins with the string “aws.”.

{
  "source": [ { "anything-but": { "prefix": "aws." } } ]
}

The future?

People seem to like this idiom a lot — EventBridge has a huge number of customers. Also, we’ve got a super-efficient implementation currently processing an immense number of events per second, that I’d like to open-source. We keep getting requests for more filtering features (wildcards or regexes are an obvious direction) and have managed to keep new stuff rolling out steadily.

There’s one problem: It’s not SQL-flavored, and a high proportion of software people sort of think in SQL when they want to select data. There have been attempts to extend SQL to be a good citizen of the world of non-relational data; the one I’m most familiar with, because it’s recent and from AWS, is PartiQL.

I’m biased in that I’ve never actually liked SQL, but I recognize that this is not exactly a majority opinion. Anyhow, it’s on my mind.

20 Dec 01:20

Satechi Debuts Cleverly-Designed USB-C Apple Watch Charger

by John Voorhees
Source: Satechi

Source: Satechi

Satechi began selling a new MFi-certified Apple Watch charger today with a clever design that looks perfect for iPad Pro users.

The charger, which is made of space gray aluminum and retails for $44.99 in the US, has a USB-C connector that plugs directly into devices with USB-C ports. Attached to an iPad Pro while using a Smart Keyboard Folio, you can charge your Watch and conveniently see the time thanks to the Watch’s Nightstand Mode. Satechi includes a short USB-C male to female cable in the box for situations where you don’t want the charger connected directly to a device, such as a MacBook Pro where it would block other USB-C ports.

I haven’t had a chance to try it yet, but this charger looks like it would have been perfect when I was traveling last week, so I ordered one immediately. During that trip, I worked on my iPad Pro on and off throughout the day, and Satechi’s charger would have been an excellent way to charge my Watch and had a minimal impact on the iPad Pro’s large battery.

For a limited time you can use the coupon code GIFTSATECHI to get Satechi’s USB-C Magnetic Charging Dock for Apple Watch for 20% off.


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
20 Dec 01:18

Facebook working on its own OS for AR, new brain-sensing hardware

by Jonathan Lamont
Facebook app on phone

Facebook is reportedly developing its own hardware, software and operating system (OS) so it doesn’t need to rely on Google or its Android OS.

According to a report from The Information (via TechCrunch), Facebook has tasked Mark Lucovsky, co-author of Microsoft’s Windows NT, with building an OS from the ground up.

Facebook’s VP of hardware, Andrew ‘Boz’ Bosworth, said the company doesn’t think it can trust the marketplace or competitors to ensure “the next generation has space for [Facebook].”

However, don’t worry — Facebook’s apps won’t vanish from your phone. The social network is focussing on building an OS for use with AR glasses. By making the leap to its own operating system, Facebook could build social interaction deeper into devices.

Having its own OS would also mean that a potential disagreement between Facebook and Google wouldn’t affect the social network’s plans for gadgets. Devices based on Android, or some version of that OS, could be at the mercy of Google.

Facebook is taking hardware seriously

On the hardware side, Facebook is ramping up efforts at a new office for its augmented reality (AR) and virtual reality (VR) team. Located in Burlingame, California — about 25km northwest of the company’s headquarters in Menlo Park — the 70,000-square-foot space is designed to house almost 4,000 employees.

Facebook told TechCrunch that the AR/VR team will move there in the latter half of 2020. That team can make use of the space’s labs and testing areas, but will still have members at other offices in California, New York, Washington and abroad.

Further, the company reportedly held acquisition talks with semiconductor company Cirrus Logic, which makes audio chips for Apple and more, according to The Information. While the deal never went through, it was an indication of how serious Facebook is taking hardware.

Facebook wants to read your thoughts

Finally, the report addresses Facebook’s work on more social hardware. On the one end, you have products like Oculus and Portal, which now feed into the company’s core advertising business. These products supply the social network with some data about what people do, such as which games they play. Facebook then uses that information to serve ads.

However, the company wants to go further than that, and know what’s on our minds before we act. The Information reports that Facebook is working on brain-computer interface hardware, which it has successfully shrunk from the size of a refrigerator to something that can be held in your hand, although it’s still a ways from integration in a phone.

The system uses sensors to recognize a word someone is thinking about. Facebook told TechCrunch that it has made progress in improving the word error rate. It’s also expanded the dictionary of words that can be recognized. It can now decode brain activity in real-time and Facebook is working on an intermediary system for identifying single words as it pushes towards brain typing at 100 words-per-minute.

Ultimately, it seems Facebook has learned a lot since its last major hardware push — an HTC-made device called ‘First’ running a forked version of Android with Facebook’s Home platform. While the HTC First and Facebook Home never took off, it seems the attempt taught the social network some valuable lessons.

With its current hardware push, the devices won’t necessarily generate huge amounts of money for Facebook. Instead, they’ll help the company remain relevant in the next wave of computing and smart devices. It hopes to keep the experience a social one as well, likely while it gathers data to feed its advertising business.

Source: The Information Via: TechCrunch

The post Facebook working on its own OS for AR, new brain-sensing hardware appeared first on MobileSyrup.

20 Dec 01:16

RT @ProfPech: Meanwhile, in the real world, we are looking at real prospect of seeing first EUMS (i.e. Poland) establishing a Soviet-style…

by ProfPech
mkalus shared this story from piris_jc on Twitter.

Meanwhile, in the real world, we are looking at real prospect of seeing first EUMS (i.e. Poland) establishing a Soviet-style justice system in fundamental breach of EU Treaties and open defiance of ECJ case law, with judges to be disciplined & dismissed for applying EU law... twitter.com/EU_Commission/…

"The Lisbon Treaty has rediscovered Europe's true soul.
It went to the core of our European identity: democracy, the rule of law, rights and liberties for all." − @vonderleyen pic.twitter.com/uSjbgtKF5j




421 likes, 176 retweets

Retweeted by piris_jc on Thursday, December 19th, 2019 8:14am


175 likes, 88 retweets
20 Dec 01:16

Generate haikus about where you live with this cool online tool

by Jonathan Lamont

If you ever wondered what a computer would say if it looked at Toronto and wrote a haiku, now you can find out.

A team of designers and builders called Satellite Studio has built a tool called ‘OpenStreetMap Haiku’ that can generate haikus based on a database of information. On the OpenStreetMap Haiku website, Satellite Studio explains that it uses OpenStreetMap (OSM) data — self-described as a giant list of all the things in the world — to ‘see’ what’s around a given point on a map.

Users can experiment with this on the Haiku website by dragging around a minimal black-and-white map of the globe. The site generates a haiku based on what’s near the centre point on the map.

Satellite Studio matches OSM data to tags that randomly yield different potential verses. For example, if there’s a grocery store near the centre point, it’d get a supermarket tag that may yield verses like “The cashier’s bored” or “A lonely aisle.” Of course, it may not actually match the 5-7-5 syllable format of a traditional haiku, but more often than not, I found the site produced three interesting lines — most containing the word ‘chilly,’ an appropriate descriptor considering the recent weather in Toronto.

The designers seem well aware that the haikus might not be perfect, writing that the results are “sometimes fun, often weird, most of the time pretty terrible.”

But that doesn’t make generating poems about your favourite Toronto neighbourhoods — or any place in the world — any less fun. If you’re interested in playing around with the haiku generator, you can check it out here. If you’re curious about how Satellite Studio built OpenStreetMap Haiku, you can read a full breakdown of the code here.

Source: Satellite Studio Via: Toronto Star

The post Generate haikus about where you live with this cool online tool appeared first on MobileSyrup.

19 Dec 06:13

Potato Chips from Heaven

by peter@rukavina.net (Peter Rukavina)

To the anonymous person who, perhaps knowing what a trying week this has been for our family, left a bag of potato chips with french onion dip in our front vestibule today: you are the greatest—the greatest.

19 Dec 06:13

Whatever happened to 2019 – and online learning?

Tony Bates, Online learning and distance education resources, Dec 18, 2019
Icon

" Looking back," says Tony Bates with typical restraint, "it still looks quite a busy year, despite my efforts to cut down, but next year will be different!" Maybe, but I'll believe it when I see it. :) As usual, his observations are worth noting: "instructors and educators are still in control of education, but that control is beginning to slip away as uninformed politicians (e.g. Doug Ford in Ontario), commercial organizations (e.g. OPMs), and computer scientists (AI applications) begin to look for cost savings or ‘efficiencies’ through automation and/or online learning."

Web: [Direct Link] [This Post]
19 Dec 06:13

136 Mindblowing & Groundbreaking Internet Videos

Jason Kottke, Dec 18, 2019
Icon

Jason Kottke links to Joe Sabia's list of 136 internet videos which he says “left some sort of impression on me since the dawn of the internet video explosion." The list is on Google Slides, which loads a bit awkwardly, which is why I'm using the Kottke link as the reference. I had seen many of the videos on the list, but many more qwere new to me. What they have in common si that they show how online video is in many ways a new medium, allowing huge swathes of creative content to exist that had never been seen before. And like Kottke, I would also add a few things - Wesch's The Machine is Us/ing Us leaps to mind, as do the hours-long hiking/biking/camping videos, as do Tiny Desk concerts, as does Joss Stone's Total World Tour, as does Where is Matt, as does the UQAM lip dub, as do fail videos and dashcams, and as do animated history videos.

Web: [Direct Link] [This Post]
19 Dec 06:12

A behind the scenes look at xAPI adoption by our numbers

Tara Morey, Rustici Software, Dec 18, 2019
Icon

A lot of work is happening behind the scenes on things like learning record stores (LRS) and activity records. This report on xAPI adoption gives readers a sense of that work. That said, it's still early days. xAPI's growth, while better than linear, isn't exactly exponential yet. For many providers, SCORM provides enough data for now. And as the report notes, "there are still features that remain underutilized. Two main areas for the xAPI community to focus on improving are xAPI Profiles and xAPI statement signing."

Web: [Direct Link] [This Post]
19 Dec 01:59

Recommended on Medium: Why We Should Make the Most of the Tech We’ve Got

Designing for fancy new technology can mean we ignore the elegantly practical tech we already have

Continue reading on Modus »

19 Dec 01:59

Twitter Favorites: [amye] I want to sign an email today with Happy Friday and see who notices.

amye scavarda perrin @amye
I want to sign an email today with Happy Friday and see who notices.
19 Dec 01:59

Twitter Favorites: [cmall] Car2Go is shutting down in North America. Congratulation to the people supporting the predatory business practices of Uber and Lyft.

Chris Mallinson @cmall
Car2Go is shutting down in North America. Congratulation to the people supporting the predatory business practices of Uber and Lyft.
19 Dec 01:59

Twinning Tweets: Why the housing crisis won’t be solved in Vancouver

by Gordon Price

At Vancouver City Hall, December 18:

Vancouver council approved a contentious rezoning application to build a five-storey rental building at Larch and West Second Avenue in an 8-3 vote Dec. 18. after a public hearing that attracted dozens of speakers, for and against. …   The Larch street building will produce 63 rental units — 13 for moderate income households.

Some neighbouring residents, who formed Kits Neighbourhood Group, campaigned against the Larch Street project, arguing it didn’t fit neighbourhood character, the building is too high, dense and bulky, and not enough affordable units are being provided to justify the incentives being offered to the developer.

Imagine trying to approve hundreds of these ‘missing-middle’ developments one by one – or even through a mass rezoning to allow them anywhere.  Imagine a ‘Kits Neighbourhood Group’ city-wide (as Colleen Hardwick undoubtedly will).

 

Meanwhile, at Surrey City Hall, December 16:

Alison Brooks Architects has won approval for a residential-led scheme in Vancouver, Canada, featuring a series of towers, the tallest a 38-storey skyscraper …

The project for Rize Alliance Properties will create 1,126 homes on the site in the burgeoning City of Surrey (City Centre) …

It was waved through at a City of Surrey Public Hearing …

 

Do the math: 63 versus 1,126.  Do the political calculation: one project tries to nibble away at The Grand Bargain, the other reinforces its expediency.

What are the odds that the City of Vancouver will provide enough housing of any kind, incentivized or not, to make a substantial difference in the housing crisis?