Shared posts

07 Feb 22:35

"Culture isn’t about ping pong tables or foosball. Culture is about what you reward in your..."

“Culture isn’t about ping pong tables or foosball. Culture is about what you reward in your...
07 Feb 22:34

Slack Overhauls Emoji Support Across Platforms

by Federico Viticci

In other emoji-related news, Slack today announced that they're going to support new emojis (including those from Emoji 5.0 released in 2017) across multiple platforms. If you use Slack on a regular basis, you know that the company has been notoriously slow over the past couple of years in adopting the latest emojis despite having launched features based entirely on them.

As noted by Jeremy Burge at Emojipedia, however, better emojis on Slack have brought a deeper change for Slack users on non-Apple platforms:

Users of iOS or macOS will see the least change to design in this release, as Slack previously defaulted to using Apple designs on all platforms.

Apple's emoji designs remain the set displayed when accessing Slack on any Apple platform.

Those using on Windows, Android, or any non-Apple platform will see a consistent set between: but it's not what you might expect. Google's emoji designs are being used for all non-Apple platforms now as shown by this alert:

And:

While Apple's emoji font is entirely owned and copyrighted by Apple, Google's emoji font (named Noto Color Emoji) is provided with an open source license which allows other projects to use this within the terms set out in the SIL Open Font License. Given this, it's possible that Slack believes it is on firmer ground to be using Noto Color Emoji rather than embedding Apple emoji images on competing platforms.

Jason Snell argues that this move will lead to a different emoji experience for Slack users who access the service from non-Apple platforms:

The result is emoji fragmentation, where different users of Slack will see different versions of the same general concept. Also, users like my friend Erika might prefer one set of emoji designs to another, but they no longer have a choice in the matter.

That’s the bad news. The good news, at least, is that Slack is rolling out support for new emojis, including gender splits and skin tones, that it previously didn’t.

I wonder if Apple's apparent push toward locking their emoji designs to the iOS ecosystem may have played a role in Slack's decision to implement an open-source emoji set instead (see also: WhatsApp). Still, I'm happy that I can share all modern emojis on Slack; I'll have to rethink some of my typical emoji reactions now.

→ Source: blog.emojipedia.org

07 Feb 22:32

Deborah Gordon | The Most Important Connection In Any Network Is The Local

by Stowe Boyd

Deborah Gordon cuts to the heart of how all biological systems work, including us:

We live enmeshed in networks. The internet, a society, a body, an ant colony, a tumour: they are all networks of interactions, among people, ants or cells — aggregates of nodes or locations linked by some relation. The power of networks is in their local connections. All networks grow, shrink, merge or split, link by link. How they function and change depends on what forms, or disrupts, the connections between nodes. The internet dominates our lives, not because it is huge, but because each of us can make so many local links. Its size is the result, not the cause, of its impact on our communication.
Nowhere is the decisive influence of local interactions easier to see than in ants, which I study. The local is all an ant knows. A colony operates without central control, based on a network of simple interactions among ants. These are local by necessity, because an ant cannot detect anything very far away. Most ant species can’t see, and all of them rely on smell, which they do with their antennae. The important interactions are when ants touch antennae, smelling each other, or the ground, smelling chemicals deposited by other ants.
The shifting network of brief interactions transforms a group of ants, each unable to assess any global purpose, into the orderly chaos that is ant-colony behaviour.

Or human behavior: we are more like ants than we are not.

Think of this analogy when considering how people communicate or act differently in groups of different size or density:

They [Argentinian ants] adjust their search paths to density. When there are many ants searching, each ant turns around a lot, almost at random. If there are only a few ants, they walk in straighter lines. The cue to density seems to be brief antennal contacts with other ants. The apparent rule is: ‘If I meet another ant often, I can turn around more. If I don’t, I have to walk in a straighter line.’ These simple interactions between pairs of ants function in the aggregate to adjust the scale of the network to the optimal size for the number of ants available.

Cross-posted from workfutures.substack.com and stoweboyd.com

07 Feb 22:32

Top Chef favourite brings taste of the Caribbean and Creole to Test Kitchen

by Bernice Chan
Chef Kwame Onwuachi is happy to be back in Hong Kong, ready to cook a taste of home for diners on his second visit as guest chef at Test Kitchen from February 7-11. The last time the 28-year-old Bronx native was here, in March 2015, he was getting ready to open his restaurant Shaw Bijou in Washington DC. Hong Kong dining: food industry veteran’s favourite restaurants, from Cuisine Cuisine to Mak’s Noodle But just before he did that Onwuachi, who previously worked at places like...
07 Feb 22:32

Brenty’s First Pod

RSParser is now a CocoaPod! It’s my first.

I’m super-proud of myself for taking this the last few tiny steps of the way there — Silver Fox did all the rest of the much-appreciated work.

This means that if you’re a CocoaPods user, you can now go forth and parse feeds.

Still to do: support Carthage and Swift Package Manager. And, after this repo, there are at least a half-dozen more to do.

But that’s okay — doing open source is what I signed up for, and learning and using the infrastructure is part of the gig.

PS I really like what happens in the Terminal when you successfully publish a pod. Here’s a screenshot.

07 Feb 22:32

Tilted Axes and a Reminder About “Glanceability”

by Tony Hirst

Via the Flowing Data blog (Roger Federer career in rankings and wins) this pretty chart from an SRF story, 20 Jahre, 20 Titel.

The rotated axes balance the chart and make the achievements of Connors, Federer and Lendl more “central” to the story. (SRF are a Swiss news organisation…)

I quickly copied and rotated the chart, and here’s how it look with the axes arranged more traditionally:

The composition feels unbalanced, and at a glance feels like there is less of a story in the chart. (Glanceability… that takes me back…. I first heard the phrase from James Cridland – Learnin’ from Virgin – then, as I noted in Powerpoint Presentations That Support Glanceability, Lorcan Dempsey dug into it a little bit more: Glanceability.)

It also reminds me of “banking to 45 degrees”, “the idea that the average line slope in a line chart should be 45º. This has been dubbed banking to 45º and has turned into one of the bits of common wisdom in visualization as determining the ideal aspect ratio [although it more specifically relates to] the comparison between the slopes of two lines, and the slope is the average between those two lines. So if the goal is to be able to compare the rates of change between lines, the 45º average slope makes sense as a rule” Robert Kosara blog post on Aspect Ratio and Banking to 45 Degrees.

The original statement comes from Cleveland, W.S., McGill, M.E. and McGill, R., (1988) The shape parameter of a two-variable graph, Journal of the American Statistical Association, 83(402), pp.289-300 [JSTOR],  and I think I should probably read it again…

By the by, SRF are one the best news orgs I know for sharing their working – the recipes for the above story can be found on their Gihub repo at srfdata/2018-01-roger-federer – so I could probably have recreated the unrotated chart directly from that source, if I’d had the time to play.

PS see also: Five ways to read a scatterplot on the Datawrapper blog.

07 Feb 22:32

HomePod: locked in

by Rui Carmo

Nilay nails it–right now, it’s only worthwhile if you’re an audiophile (which I wish I had the time and money to be), deep into Apple’s music ecosystem (I still have ITunes Match, but have to wonder for how long) and can put up with the dumbest personal assistant of the lot.

I’ll pass.

07 Feb 22:32

Starman in the Sky

by Rui Carmo

Even if the core booster failed to land, it was great to watch history in the making–and the “DON’T PANIC!” sign in the Roadster’s dashboard was just icing on the cake.

I had the good fortune to watch the launch live with my kids yesterday, and the synchronized landing of both lateral boosters was an utterly lovely, chilling moment:

I would love to work at SpaceX–it’s likely to be our most meaningful endeavor at this point, and they’re having a lot of fun.

What more could you ask of life?

07 Feb 22:32

Star Man Live

by Ton Zijlstra

Yes, it is the folly of man, or rather Elon Musk, and can be seen as a hubris filled PR stunt: launching a Tesla Roadster into space just because. But is a good upgrade from the wheel of cheese he launched in 2010, and it sure beats lumping blocks of concrete into orbit to see if a rocket works as planned. Landing 2 boosters to be re-used is no mean feat either even if the core engine missed its landing site and crashed, nor is reducing the cost of a launch 10-fold. The successful test launch of this Falcon Heavy shows Space X is more than serious about pushing development forward. Having fun by hurling a car into space is just the cherry, not the cake.

The resulting live video footage of the empty space suit behind the wheel with our blue ball circling in the background is pure fun. Topped off by a Don’t Panic message on the dashboard. I only hope Star Man that as rumour has it indeed brought a towel for the next leg of the trip in the general direction of Mars and then ever onwards.

07 Feb 22:31

Online Communities Gone Bad (and getting them back on track)

by Caterina Fake

After my appearance on the podcast Masters of Scale, a lot of people have written to me for advice on managing their communities. Here’s one request and my response, which I posted with permission, in the interest of making the internet a more civilized place.

Things had gotten so bad in this founder’s community, that even employees were thinking of leaving. The team felt hamstrung by their users. He explains:

When we first started our community I was in there posting every day setting the tone. Over the years as the company scaled I chose to spend time on other things beside posting in the forum. Gradually over time things got bad…then really bad…now horrible. 5-10 members of the community have started berating everyone in between posting useful content. Do you have any principles or experiences I can draw upon to think about how to solve this?

Yes, I wrote back, this community has run amok. A garden needs both fertilizer and weedkiller. But most of all it needs a gardener. Go back in and participate as much as before. Community manage with a heavy hand. Promote good people, respond to them.  Make them shine. Build good admin tools to silence bad actors.

You have to take a “iron fist in velvet glove” approach; warn borderline cases, and discuss their behavior with them. Often they can be rehabilitated. But for those who will not change: ruthlessly delete the accounts of abusive people, irrespective of their contributions. Keeping 5-10 bad people have undoubtedly lost you dozens, even hundreds, that you don’t even know about. They’ve stifled other people who are still participating and darkened the atmosphere of the whole community.

Community management is art, not science. There is no black and white when dealing with people. Choose your community team carefully, and find people with good instincts. Have all members of the team participate in the community. And be present there yourself.

07 Feb 22:31

SotD: Sodade

Cesária Évora is probably the only person you’ve ever heard of (now that you’ve heard of her) from Cabo Verde, which is an island group 570km west of Africa’s westernmost point. She was a really great singer and recorded lots of fine collections of music. It’s hard to pick from among them, but Sodade is a fine example.

Cesária Évora

I don’t know much about Ms Évora or about Cabo Verde either. Miss Perfumado, from which Sodade comes, is probably her best-known work. All of the songs on it are good, and in fact everything I’ve ever heard from her is pleasing to the ear. There’s not a lot of change in intensity or sound from one song to the next, which is not a problem. Her music really comes alive on my big expensive stero, layers of rhythm and melody shifting around behind her voice, with lots of beautiful room between the notes.

I never saw her live, but perusing videos reveals that she liked to perform with a big band, mostly plucked strings of one kind or another. The videos reveal another thing; she loved the stage. I poked around the web but couldn’t find any pictures of her with the big goofy maternal grin that her audiences got at the top of the show.

Wikipedia says that Sodade is “a Capeverdean slow coladeira song written in the 1950s by Armando Zeferino Soares.” It’s an exile’s song, the kind of thing they play in a little country that many have to leave to make a go of it.

This is part of the Song of the Day series (background).

Links

Spotify playlist. This song on Spotify, Amazon, iTunes. Live video. If you type Cesaria Evora live into YouTube, you’ll find a lot of full concerts, and pretty well any o them will improve any room it’s played in.

07 Feb 22:31

Building Walkable Neighbourhoods Proven to Lower Health Risks

by Sandy James Planner

 

gbcnh151130ahua_tnb_4

Here is some  solid and unequivocal proof that urban design and health need to work together hand in hand for healthier people and neighbourhoods. A new study has found “significant associations” between the walkability of a neighbourhood, lower blood pressure and reduced hypertension risk. This is the largest study yet done with 430,000 people aged 38 to 73 that live in 22 cities in the United Kingdom.  The study shows the importance of good urban design for walkable communities to improve the health of residents.

Even more surprising is that the lower blood pressure and reduced hypertension risk went across different age, income and physical environment variables and remained consistent.  “Protective effects” of walkability were “particularly pronounced” in women, those aged between 50 and 60 years, and those living in more dense or economically deprived neighbourhoods.  Published in the International Journal of Hygiene and Environmental Health diseases, “researchers at the University of Hong Kong and Oxford University said the findings demonstrated the need for public health interventions to factor in urban design.”

The study lead Dr. Chinmoy Sarkar  stated “With the increasing pace of urbanisation and demographic shifts towards an ageing population, we become more vulnerable to chronic diseases… if we are able to invest in creating healthy cities through small retrofits in the design of our neighbourhoods to make them more activity-friendly and walkable, then probably, we will have significant savings in future healthcare expenditures.”

Researchers created a walkability index using “residential and retail density, public transport, street-level movement, and proximity to attractive destinations. Poorly designed spaces generally inhibited walking and physical activity, promoting sedentary lifestyles; and were detrimental to social interactions, and as such associated with poorer mental health and wellbeing.”

Designing and retrofitting cities to promote active lifestyles could therefore have significant repercussions for the health of urban populations and governments’ related expenditure around the globe, said Sarkar. “Well-designed cities of today will be healthy cities of tomorrow.”

vancouver-walkable-770

 

07 Feb 22:30

Google is Allegedly Working on ‘Yeti’, a Video Game Subscription Streaming Service

by Evan Selleck
Google has Android TV in its efforts to take over the living room, as well as its lineup of Google Home speakers, but there is still room to expand. Continue reading →
07 Feb 22:30

Backpack Decisions

mkalus shared this story from xkcd.com.

"This one is perfect in every way, except that for some reason it's woven from a tungsten mesh, so it weighs 85 pounds and I'll need to carry it around on a hand cart." "That seems like a bad--" "BUT IT HAS THE PERFECT POCKET ARRANGEMENT!"
07 Feb 22:30

Important announcement: Deprecation of 2.0 API

by Context.IO

Important announcement: Deprecation of 2.0 API

Context.IO has two versions: Lite and 2.0. Lite is the newest version of our API, and 2.0 is the legacy version.

After many years of supporting both versions, we are finally deprecating the legacy 2.0 version, in favor of having one merged API in the future. The full deprecation of the 2.0 API will occur on Dec. 15th, 2018.

Before the deprecation of 2.0 is complete, Context.IO will ensure Lite has as much feature parity with 2.0.

We will be removing some endpoints that are not widely used, but we have done extensive research and are confident developers migrating to Lite will be covered by Lite’s features.

Context.IO is also offering a migration path to Lite. You can read more about how to migrate below.

What does this mean in the short-term?

For new developers
The 2.0 version of the API is unavailable for any new developers signing up for Context.IO. All new developers should use the Lite version of our API moving forward.

For existing developers
Existing 2.0 developers should migrate their API usage to Lite before the Dec. 15th, 2018.

Are 2.0 and Lite fully compatible?

For the most part, 2.0 and Lite are compatible. You will still have access to listing webhooks, folders, listing messages, listing attachments, retrieving individual messages, and retrieving message flags.

Will there be feature parity between 2.0 and Lite?

We are striving to achieve as much feature parity between the two versions of the API as it makes sense.

The following are 2.0 endpoints that are not widely and as such will be deprecated on June 15th, 2018:

  • threads endpoint
  • files endpoint
  • email_addresses endpoint
  • contacts endpoint: This endpoint depends on the 2.0 sync cache, which is being removed. However, we’re adding a brand new “contacts” endpoint to the Lite version of the API. If your app needs this endpoint, please see follow the instructions to migrate to the Lite API.

Message search parameters that will be deprecated

  • file_name
  • file_size min/max
  • indexed before/after
  • thread_size

Webhook filters that will be deprecated:

  • “filter_folder_removed” webhook filter

Migrating to Lite

If you want to migrate users on your own, you can migrate users to Lite easily by sending a POST request to “lite/users” with the “migrate_id” param set to the 2.0 account ID you want to migrate. You can read more about this on our docs here.

When using the migrate_account_id, the account / user id will not change. This means once you migrate a user to Lite this way, you can continue to use the same ID.

Things to keep in mind when migrating to Lite:

  • 2.0 message_ids will not work in Lite
  • Webhooks will need to also be migrated to Lite

Making 2.0 message IDs compatible with Lite

2.0 message_id values are specific to the 2.0 API and do not work in the Lite version of the API.

We are working on changing this in the near future so 2.0 message_ids will be compatible with Lite. This will involve a format change from current message_ids to a new format.

Old format: “message_id:” 22ef5508161675ac50e8c370
New format: “message_id:” 15801AC59551F0A7

This new format will be released soon, and an announcement will be made once this new format is released.

Updating your webhooks

You will also need to move your webhook definitions over to Lite from 2.0. This is a great time to consider whether your webhooks should be set at the user-level, or at the application level.

If all of your user-level webhooks are the same (i.e. they all have the same filters), you are an excellent candidate for Application-level webhooks. Application level webhooks only need to be set once, and they apply to your entire user base.

Application-level webhooks help keep things DRY, and are much more maintainable on the developer end as well (as you only have to keep one webhook definition updated, vs. one for each one of your users).

We strongly suggest using Application-level webhooks when you move your webhook definitions over to Lite.

Backfilling data

If you have a cache or message store, you may want or need to backfill data to update message_id values.

If this is the case, we recommend you leverage our historical webhooks feature.

When a new user is added to your Context.IO account, we perform a backscan of the account going through its entire message history. When you have set a webhook with the “receive_historical” filter set to true (or 1), we will send you a webhook callback for each message we find in the backscan.

This will help you perform a backfill of messages for a user in just a few seconds or minutes, depending on how large the account is. Once this backfill is performed and historical webhooks are sent, the backscan cannot be triggered again, but you will continue to receive webhooks for new messages for the user.

Historical webhooks are set only at the Application-level.

You can learn more about historical webhooks here.

Help migrating users

If you have a large user base and would want help or feedback regarding migrating users to Lite, feel free to reach out to us at support@context.io.

Leaving Context.IO

We understand not everyone will be on board with the migration from 2.0 to Lite, and may want to take this time to migrate to a different service altogether.

If this is the case, you will need to provide a 30-day written notice, per our Terms of Service. You can do so by emailing support@context.io.


Important announcement: Deprecation of 2.0 API was originally published in Context.IO on Medium, where people are continuing the conversation by highlighting and responding to this story.

07 Feb 18:32

Since We Fell

This skillful, puzzling, deceptive book about deceptive people starts with a clever feint. We’re trying to locate our absent father. Mother never wanted us to know anything about him, but she’s gone now. The clues are scarce. We hire a private investigator, but even the expert urges us to give up. The story, it turns out, has nothing at all to do with our missing father, but we’re going to see a lot of that shamus.

07 Feb 18:32

Adrian Miles

Terrible news that Adrian Miles, the brilliant Australian scholar of film and new media, died suddenly yesterday while bicycling in the countryside. In hypertext and new media circles, Miles is best known for his brilliant insight that the hypertext link functions as a cinematic cut. “While Michael Joyce once, rather famously, commented that ‘hypertext is the word's revenge on TV’,” Miles wrote, “I'd like to suggest that hypertext is in fact cinema's revenge on the word.” His 2001 paper on “Hypertext Structure as the Event of Connection,” which won the third Ted Nelson Award, is one of the great hypertext papers of all time. It springs from a remarkable insight:

Links generate what I’d like to characterise as an ‘anxiety’ within hypertext. This anxiety is evident in relation to writer’s and their use of hypertext, a reader’s ability to derive pleasure from reading hypertext, and is present in most theories of hypertext and linking which seek to provide rules for the application, role, or relevance of links in hypertext.

Miles’s anxiety does much to explain the subsequent technical, rhetorical, and political history of hypertext writing. An early proponent of Web video and a tireless advocate of personal expression — even and especially by students — on the Web, Miles coined the term vlog and did much to popularize the practice.

As a critic, he was a bold and a generous reader, always focused on the work without much care for the writer’s fame or following, and always placing the work ahead of the theory. No one was better at finding common sense in the airy realms of critical theory; I’ll never forget his application, one warm afternoon in Melbourne, of Bataille’s construction of excess to the biological roles of the nest of the Bowerbird and the tail of the Superb Lyrebird.

07 Feb 18:31

Despite lagging smartwatch market, Apple Watch shipments jumped in 2017, says report

by Patrick O'Rourke
Apple Watch Series 3 on wrist

Even though the smart watch market is shrinking, the Apple Watch continues to sell well, according to new numbers from analytics firm Canalys.

The group’s study indicates that Apple Watch sales hit 18 million shipments in 2017, which is a 54 percent jump over the device’s 2016 shipment numbers.

By Canalys’ count, only 13 percent of sales relate to the Apple Watch Series 3 LTE, while 35 percent account for the non-LTE Series 3. It seems the combined sales of the Series 1 and Series 2 Apple Watch make up the bulk of the company’s wearables shipments, which makes since given the price tags of those devices were heavily discounted following the release of the Series 3.

Apple Watch 2017 sales Canalys

The increase in sales could also be due to the fact that the LTE version of the Apple Watch received wider distribution, following the tech giant’s partnership with carriers to sell the wearable in their retail stores. Specifically in the Canadian market, both Telus and Bell sold the Apple Watch Series 3 LTE and offered plans for the wearable.

During Apple’s most recent earnings report, where the company performed below Wall Street expectations for Q4 in some respects, the company’s CEO Tim Cook stated that “it was our best quarter ever for the Apple Watch.”

While I used the Series 3’s LTE functionality extensively at launch, I recently turned the feature off. While I can see why some people might find a constant LTE connection useful when it comes to a wearable device, I typically always have my smartphone on me anyways, making the fact that the device always needs to be tethered to a smartphone less of an issue.

That said, using the Series 3’s LTE connectivity while out on the water in my sailboat was very useful since it allowed me to leave my smartphone on the shore and concentrate on chilling in my boat on the open water.

Apple has never officially released Apple Watch sales in its earnings report, instead opting to lump the wearable into its “other products” category.

Source: Canalys Via: TechCrunch

The post Despite lagging smartwatch market, Apple Watch shipments jumped in 2017, says report appeared first on MobileSyrup.

07 Feb 18:31

In a floundering tablet market, Apple’s iPad continues to sell well

by Mackenzie Allen
iPads in classroom

According to statistics from analyst firm IDC, tablet shipments fell by 6.5 percent (from 174.9 to 163.5 million units) last year, continuing a trend of annual double-digit decreases since 2016.

Someone forget to tell Apple though, as the tech giant managed to grow its shipments from 42.6 to 43.8 million and increase its market share from 24 to 27 percent despite lower demand for tablets, according to IDC’s statistics.

Apple tablet sales market share chart

For perspective, Samsung, the distant runner-up with 15.2 percent market share, experienced a decline of 6.4 percent in that same period. Just behind them is Amazon with 10.2 percent, the only other manufacturer to break double-digit market share.

Apple has a commanding lead of ‘slate’ tablet manufacturers, responsible for shipping 27 percent of the more than 43 million slate tablets sold in the final quarter of 2017.

Source: IDC Via: TechCrunch

The post In a floundering tablet market, Apple’s iPad continues to sell well appeared first on MobileSyrup.

07 Feb 18:31

Essential Phone receives February security patch one day after Google devices

by Igor Bonifacic
Essential Phone

While the Essential Phone has had its share problems, there’s been one major area where the phone has consistently delivered.

On February 5th, Google released the February 2018 Android security patch for Pixel and Nexus devices.

One day later, Essential announced via Twitter, that it was doing the same for the Essential Phone. I got Google’s latest security patch on my Essential Phone late last night.

As Android Central notes, the speed at which Essential has been pushing security patches to the Essential Phone has been consistently on point.

Security patches aren’t the most exciting thing in the world, but they’re critical to the ongoing safety and security of users. It’s refreshing to see a third-party Android OEM, even if it’s one with deep ties to Google, take them seriously.

Source: Essential Via: Android Central

The post Essential Phone receives February security patch one day after Google devices appeared first on MobileSyrup.

07 Feb 18:31

theScore’s Race 2 PyeongChang lets you hit the slopes as ‘Don,’ ‘Vlad’ and ‘Kim’

by Patrick O'Rourke
theScore Olympics

In what is surely set to be the most bizarre story MobileSyrup will publish this week, Toronto-based theScore, a sports-focused publication, has released what seems to be a promotional game called Race 2 PyeongChang.

In the game, players take control of three characters named ‘Don,’ ‘Vlad’ and Kim,’ avatars that share a striking resemblance to U.S. President Donald Trump, Russian President Vladimir Putin and North Korea’s supreme ruler, Kim Jong-un.

The game, which is available in theScore app’s ‘Discover’ section, allows fans to take control of three characters, with the goal of getting them down the ski slope as fast as possible by collecting power-ups and dodging obstacles.

Race 2 PyeongChang is not only a ridiculously addictive mobile game, it also offers a fun and playful twist on our already incredible coverage of the Winter Games,” said John Levy, CEO of theScore, in a press statement.

The game plays like a standard classic top down skiing title in the same vein as Skiing Yeti Mountain of Ski Safari, complete with retro pixelated visuals.

Race 2 PyeongChang also features clever real life references, such as ‘The Don’ requiring users to “collect tweets” in order to continue moving, or Kim needing “uranium” in order to progress. In the case of Putin — I mean, Vlad — needs to collect “clean urine” in order to progress.

The game is available in theScore’s Android and iOS app under the ‘Discover’ section.

Source: theScore

The post theScore’s Race 2 PyeongChang lets you hit the slopes as ‘Don,’ ‘Vlad’ and ‘Kim’ appeared first on MobileSyrup.

06 Feb 22:53

My 2017 Homescreen — iPad Edition

06 Feb 22:53

MicroUSB-Wendekabel

by Volker Weber

IMG 2314

Ziemlich genau vor drei Jahren habe ich Euch vom tizi Flip erzält:

Wenn der Erfinder von USB einst beerdigt wird, dann wird man seinen Sarg noch zweimal heben bevor man ihn endgültig richtig herum ablässt. Ich weiß wirklich nicht, wie oft ich den USB-Stecker gewendet habe. Sehr clever das Ladekabel von tizi. Das passt in beide Richtungen. Verschiedene Längen, auch als Schlüsselanhänger. Und mit Apple-Zertifizierung, damit das iPhone nicht mault.

Das galt für den USB-A Stecker. Und Lightning sowieso. Nun legen die Macher noch mal nach. Auch der MicroUSB-Stecker ist umdrehbar.

image-21

Wie genial ist das denn? Hier fliegen jetzt sofort alle normalen MicroUSB-Kabel in die Grabbelkiste. Die Kabel gibt es in schwarz und rot sowie in 15 cm oder 50 cm Länge. Nehmen'se reichlich.

More >

06 Feb 22:52

The Apple HomePod reviews are in

by Volker Weber

I like Matthew Panzarino's four sentence review on Techcrunch:

Apple’s HomePod is easily the best sounding mainstream smart speaker ever. It’s got better separation and bass response than anything else in its size and boasts a nuance and subtlety of sound that pays off the 7 years Apple has been working on it. As a smart speaker, it offers best-in-class voice recognition, vastly outstripping the ability of other smart speakers to hear you trying to trigger a command at a distance or while music is playing, but its overall flexibility is stymied by the limited command sets that the Siri protocol offers. Buy a HomePod if you already have Apple Music or you want to have it and you’re in the market for a single incredibly over-designed and radically impressive speaker that will give you really great sound with basically no tuning, fussing, measuring or tweaking.

Lots of details and lot of other reviews. All reviewers say the speaker sounds amazing and beats the other speakers they compared them to. But they also said it has less power than a Play:1 stereo pair and that most people will not notice that the HomePod sounds better.

I think it's pretty simple. If you own an iPhone and use Apple Music exclusively, you should consider buying a HomePod. If you use Homekit devices, HomePod will be a better hub than Appke TV. And it works best if you live in a small apartment all by yourself. Otherwise you will have to disable quite a bit of the little Siri support it has, or it will all end in tears.

HomePods don't sell Apple Music. Apple Music sells HomePods.

06 Feb 22:52

Samsung Galaxy S9 to reportedly cost more than $1200 Canadian

by Dean Daley
Samsung Galaxy S9 leaked render

Samsung will reveal its premium smartphones, the Galaxy S9 and S9+ on February 25th at the company’s Unpacked event at MWC in Barcelona. According to an unnamed source who spoke to TechRadar, the device will cost £100 ($173 CAD) more than last year’s Galaxy S8. The publication says the source works in the UK mobile phone deals industry.

Last year, Samsung priced the Galaxy S8 at $1034.99 CAD outright, while the Galaxy S8+ had a $1114.99 price tag. Assuming the Korean company will inflate the price of the devices worldwide, the Galaxy S9 would cost $1207 and the Galaxy S9+ will adopt a $1287 price tag in Canada.

“You can expect the S9 to cost £100 more than the Galaxy S8 when it was released last year,” said TechRadar’s exclusive source. “The truth is that last year’s massively inflated smartphone prices on handsets like the S8, Note 8 and iPhone X have shown that there are plenty of people out there willing to pay these higher prices.”

Smartphones are only getting more and more expensive, however in comparison to last year’s devices, this new Galaxy S9’s price tag still isn’t unreasonable — well anything over a grand is considerably unreasonable. Comparing it to Apple, the iPhone X retailed for $1,349.99 outright for the 64GB model. Meanwhile the 256GB model featured a $1,569 a price tag. Samsung’s other premium smartphone, the Galaxy Note 8, at launch cost $1299, still a little over $10 more than the rumoured price for the Galaxy S9+.

While we can not confirm the validity of this source, looking at previous price jumps, it does look likely. When Samsung launched the Galaxy S7 the device retailed for $900 outright, while the Galaxy S7 edge had a $1000 price tag. Going even further back, the Galaxy S6 at launch cost $729 and the S6 edge $829 — and those were the prices for the 32GB S6 and S7 models.

It’s not unusual for Samsung, and other smartphone manufacturers, to raise the prices of their devices at least by $100, however, how high will they go?

Do you think the Galaxy S9 and S9+ will be worth the 1200 plus-dollar price tag?

Source: TechRadar

The post Samsung Galaxy S9 to reportedly cost more than $1200 Canadian appeared first on MobileSyrup.

06 Feb 22:52

The Mueller investigation appears to have been picking up steam in the last three weeks —and homing in on a series of targets.

by Andrea

Wired: Bob Mueller’s Investigation Is Larger – and Further Along – Than You Think. By Garrett M. Graff.

“President Trump claimed in a tweet over the weekend that the controversial Nunes memo “totally vindicates” him, clearing him of the cloud of the Russia investigation that has hung over his administration for a year now.

Nothing could be further from the truth.

In fact, if anything, the Mueller investigation appears to have been picking up steam in the past three weeks—and homing in on a series of targets.”

The author lists five separate investigative angles:

  1. Preexisting Business Deals and Money Laundering.
  2. Russian Information Operations.
  3. Active Cyber Intrusions.
  4. Russian Campaign Contacts.
  5. Obstruction of Justice.

Link via MetaFilter.

06 Feb 22:52

Enjoy the journey, not just the destination

by Josh Bernoff

I have been relentlessly focused on accomplishment. Reaching for the top is fun, but I need to pay more attention to what’s happening as I’m climbing. I don’t know where in my youth I developed the obsession to always reach for more, but it has always been there. SAT scores, graduating top of my class, … Continued

The post Enjoy the journey, not just the destination appeared first on without bullshit.

06 Feb 22:52

Algorithmic trading caused the flash crash: An explainer

On Monday, the stock market did something weird. Sure, it was sinking through the day — but then, at about 3 p.m. ET, it plummeted. Nobody could figure out why. There was no big headline, no sudden announcement.

“The drop in the morning was caused by humans, but the free-fall in the afternoon was caused by the machines,” wealth manager Walter “Bucky” Hellwig told Bloomberg.

Hup — there it is. Algorithmic trading caused the flash crash.

My “Midday Movers” producer asked me to offer an explainer for “algo trading,” as it’s nicknamed —but really, it’s not hard to grasp. Algo is when you program software to buy or sell stocks automatically, based on timing, price, quantity, or some mathematical model.

Algorithmic trading has a number of benefits: It rules out human emotion; it places trades instantly and precisely, locking in at the values you want; and lets institutional investors (like mutual funds and insurance companies) buy or sell huge quantities of stock in many smaller blocks, so as not to affect the stock price in the process.

Algo trading also, however, tends to magnify upward or downward trends, as we saw yesterday. Fortunately, the market largely recovered after the algo-driven selloff — maybe because humans came back to their desks.

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

06 Feb 22:51

On Missing the Point

(Disclaimer: before I get started, I should take extra care to note that I don’t speak for Omni. This is my personal blog, with my personal opinions.)

Every time I make some criticism of the App Store — that, for instance, the 30% cut for Apple is too high, or that free trials would be a good thing — some number of people respond that Apple is a business and they’re allowed to do what they’re doing.

They may also remind me that this is capitalism, and that I can vote with my feet — that is, go create an Android app (or whatever) where the cost is presumably lower.

And they remind me that I should work with the world as it is, rather than the world as I want it to be.

They’re not wrong. Of course Apple is a business and is within their rights to charge whatever they want to charge, and developers could go do something else. And when making business decisions we have to look at facts and best extrapolations, not wishes and ponies.

But that misses the point entirely.

* * *

The point is that we are allowed — even in a capitalist system! — to criticize and to ask for changes. You can ask your spouse to put away the dishes more often; you can ask your kids to do their homework before dinner; you can ask the government for universal health care or corporate tax cuts; and you can ask Apple to lower the App Store cut.

Imagine if Starbucks charged $20 for a latte. You might complain about it and ask them to lower the price. Even if there’s another coffee shop nearby with much less expensive lattes, you still might.

Yes! Even in a capitalist system you can do this! It’s totally a-okay! Even if they’re within their rights (they are) to charge that much. Even if they are a business!

There’s no sacred verse that says businesses acting lawfully can’t be criticized. Nothing says we can’t advocate for change. In fact, I’d say that that’s part of capitalism, too.

* * *

So I got into a lengthy Twitter argument about Apple’s 30% App Store cut.

My thinking is that a lower cut provides more incentive for developers to invest in high-quality, long-lived apps — and that that’s good for the platform and good for users, and good for Apple, and so everybody wins.

It’s at least worth trying (this being capitalism, there are no guarantees of success) — and, since Apple is the wealthiest company in the history of companies, they could afford to try this.

If I’m right, then everybody wins: Apple, users, and developers. And if I’m wrong, Apple is not in any financial jeopardy.

* * *

I don’t think I’m misunderstanding or breaking the rules of capitalism by saying this. Nor am I telling developers to base their business decisions on fantasies.

But somebody will tell me that I am.

06 Feb 22:50

Quick and Clean DMARC Record Processing with “Inline” Rcpp

by hrbrmstr

Much of what I need to do for work-work involves using tools that are (for the moment) not in R. Today, I needed to test the validity of (and other processing on) DMARC records and I’m loathe to either reinvent the wheel or reticulate bits from a fragmented programming language ecosystem unless absolutely necessary. Thankfully, there’s libopendmarc which works well on sane operating systems, but it is a C library that needs an interface to use in R.

However, I also really didn’t want to start a new package for this just yet (there will eventually be one, though, and I prefer working in a package context for Rcpp work). I just needed to run opendmarc_policy_store_dmarc() against a decent-sized chunk of domain names and already-retrieved DMARC TXT records. So, I decided to write a small “inline” cppFunction() to get’er done.

Why am I blogging about this?

Despite growing popularity and a nice examples site, many newcomers to Rcpp (literally the way you want to go when it comes to bridging C[++] and R) still voice discontent about there not being enough “easy” examples. Granted, they are quitely likely looking for full-bore tutorials covering a different, explicit use cases. The aforelinked Gallery has some of those and there are codified examples in — literally — rcppexamples. But, there definitely needs to be more blog posts, books and such linking to them and expanding upon them.

Having mentioned that I’m using cppFunction(), one could, further, ask cppFunction() has a help page with an example, so why blather about using it?”. Fair point! And, there is a reason which was hinted at in the opening paragraph.

I need to use libopendmarc and that requires making a “plugin” if I’m going to do this “inline”. For some other DMARC processing I also need to use libresolv since the library needs to make DNS requests and uses resolv. You don’t need a plugin for a package version as you just need to boilerplate some “find these libraries and get their paths right for Makevars.in” and add the linking code in there as well. Here, we need to register two plugins that provide metdata for the magic that happens under the covers when Rcpp takes your inline code, compiles it and makes the function shared object available in R.

Plugins can be complex and do transformations, but the two I needed to write are just helping ensure the right #include lines are there along with the right linker libraries. Here they are:

library(Rcpp)

registerPlugin(
  name = "libresolv",
  plugin = function(x) {
    list(
      includes = "",
      env = list(PKG_LIBS="-lresolv")
    )
  }
)

registerPlugin(
  name = "libopendmarc",
  plugin = function(x) {
    list(
      includes = "#include <opendmarc/dmarc.h>",
      env = list(PKG_LIBS="-lopendmarc")
    )
  }
)

All they do is make data structures available in the environment. We can use inline::getPlugin() to see them:

inline::getPlugin("libresolv")
## $includes
## [1] ""
##
## $env
## $env$PKG_LIBS
## [1] "-lresolv"


inline::getPlugin("libopendmarc")
## $includes
## [1] "#include <opendmarc/dmarc.h>"
## 
## $env
## $env$PKG_LIBS
## [1] "-lopendmarc"

Finally, the tiny bit of C/C++ code to take in the necessary parameters and return the result. In this case, we’re passing in a character vector of domain names and DMARC records and getting back a logical vector with the test results. Apart from the necessary initialization and cleanup code for libopendmarc this is an idiom you’ll recognize if you look over packages that use Rcpp.

cppFunction(
std::vector< bool > is_dmarc_valid(std::vector< std::string> domains,
                                   std::vector< std::string> dmarc_records) {

  std::vector< bool > out(dmarc_records.size());

  DMARC_POLICY_T *pctx;
  OPENDMARC_STATUS_T status;

  pctx = opendmarc_policy_connect_init((u_char *)"1.2.3.4", 0);

  for (unsigned int i=0; i<dmarc_records.size(); i++) {

    status = opendmarc_policy_store_dmarc(
      pctx,
      (u_char *)dmarc_records[i].c_str(),
      (u_char *)domains[i].c_str(),
      NULL
    );

    out[i] = (status == DMARC_PARSE_OKAY);

    pctx = opendmarc_policy_connect_rset(pctx);

  }

  pctx = opendmarc_policy_connect_shutdown(pctx);

  return(out);

}
,
plugins=c("libresolv", "libopendmarc"))

(Note: the code-formatting plugin was tossing a serious fit about the long text field so you’ll need to put a single quote after cppFunction( and before the line with the , if you’re cutting and pasting at home).

Right at the end, the final parameter is telling cppFunction() what plugins to use.

Executing that line shunts a modified version of the function to disk, compiles it and lets us use the function in R (use cacheDir, showOutput and verbose parameters to control how many gory details lie undeneath this pristine shell).

After running the function, is_dmarc_valid() is available in the environment and ready to use.

domains <- c("bit.ly", "bizible.com", "blackmountainsystems.com", "blackspoke.com")
dmarc <-  c("v=DMARC1; p=none; pct=100; rua=mailto:dmarc@bit.ly; ruf=mailto:ruf@dmarc.bitly.net; fo=1;", 
            "v=DMARC1; p=reject; fo=1; rua=mailto:postmaster@bizible.com; ruf=mailto:forensics@bizible.com;", 
            "v=DMARC1; p=quarantine; pct=100; rua=mailto:demarcrecords@blkmtn.com, mailto:ttran@blkmtn.com", 
            "user.cechire.com.")

is_dmarc_valid(domains, dmarc)
## [1]  TRUE  TRUE  TRUE FALSE

Processing those 5 took just about 10 microseconds which meant I could process the ~1,000,000 domains+DMARCs in no time at all. And, I have something I can use in a DMARC utility package (coming “soon”).

Hopefully this was a useful reference for both hooking up external libraries to “inline” Rcpp functions and for how to go about doing this type of thing in general.