Shared posts

07 Apr 05:04

Oversimplified: Mission Bicycle Maintenance

by brandon

Here in SF, we’re reaching a point in the year where the rain finally seems to be dialing itself back, the sun is teasing us during fleeting hours of the day, and the fog…well the fog sorta just does it’s thing. Which is all a round about way of saying we'll be getting out a lot more often in the coming weeks/months and it's time to check the vital signs on that bike of yours.

If you’re a fair weather rider, your bike probably collected dust over the winter months and could use a little tune up due to some mild neglect.

On the flip side, if you trucked it through the rain, sleet, and/or snow this winter, we applaud you and know for a fact that your bike is in need of a little love before you get out on some summer rides.

Either way, the “sunny” spring and summer days theoretically aren’t too far off, which means it’s time to make sure your bike’s in tip-top riding shape. The below information is meant to make even the most novice of riders/mechanics feel comfortable with doing some basic maintenance on their trusty set of wheels from the comfort of their own home. 

 

Setting up for maintenance:

Alright, we know it's highly unlikely that you are one of our few customers that have made the investment in a  full-on bikestand at home like Josh. For the rest of us, we're going to suggest flipping your bike over onto its backside (pictured above) to allow it to remain stable and stationary while getting it's yearly checkup.

 

Greasing and tightening:

So one of the most overlooked and easy to accomplish bits of maintenance comes down to a few common tools and a little grease and/or lube.

  • With a multitool or set of hex wrenches, go around your bike making sure each bolt is nice and tight. They tend to wiggle a little loose over time, and it never hurts to make sure they’re snug when you’re getting ready for a long season of rides.

    • Pro tip: DO NOT over-torque your bolts. We know you’re strong but you really don’t have to prove it to your bike. If you slip up and strip a bolt out it’s not gonna be fun to fix.

  • Hit your chain with a little degreaser and give it a quick wipe down with a towel to get major pieces of gunk/grime off of it. Looking clean? Awesome. Now, while running your crankset, try to apply an even coating of chain lube to the entirety of the chain. Work in some backpedal action to really coat the lube into the chain and gears. Let the applied lube sit for a few hours, and then give the chain a light wipedown to remove any excess.

  • Here’s an important one that we see fall to the wayside all too often: greasing your seat post! If neglected, the result is a completely seized up post. This one’s super simple and basically explains itself. Pull your sea post allllll the way out, give it a nice new coat of grease inside the seat tube, slide that sucker back in to your preferred saddle height, and tighten up your seat post collar to secure it in place. Boom, you’re good for about another year.

Helpful tools in our shop:

 

Flat Fixes:

  • Look for low tread and/or any small holes that may be developing in your current tires. These are likely to attribute to your next flat tire, and are in fact a good indicator that you’re in need of a new tire.

      • Pro tip: Some Continental tires have wear indicators to make this even easier!

  • To pull off a deflated tire, simply insert your tire levers between the rim and the bead of the tire, then carefully inch them around the bead until you are able to pull the entire side wall out and over the rim.

  • Next, remove your deflated tube, and check the INSIDE lining of your tire to see if anything sharp is hiding inside, sometimes a small piece of glass or rock will be sitting in there waiting to puncture your next tube before you ever get a chance to ride – don’t let it happen to you.

  • Finally, insert your new tube, pull the bead of the tire back inside the rim, and get to pumping!

      • Pro tip: Most tires have their maximum PSI indicated on the sidewall of the tire itself.

Helpful video link:

Helpful tools in our shop:

 

Brake Adjustment:

Caliper brakes a little on the loose side? This is another easy at-home fix in many cases.

  • Just a simple twist of the barrel adjuster should tighten you up a decent amount. It may seem counter intuitive, but all you need to do is twist the adjuster to the left and essentially unscrew it. This will tighten your brakes a pretty decent amount, but If you’re maxing it out, you’re most likely due for a real tune up here at the shop.

  • Also make sure to check your pad wear! There’s nothing nastier than scratching the heck out of your rims and the sound of metal on metal as you try to brake with no pad left. If it’s time for new inserts, bring your bike in and we can swap them out for new ones. ($15 all said and done)

 

Tension your chain & tune your gears:

If you’ve opted into riding one of our internally geared bikes, you’re in luck. The Alfine gear tuning adjustment is super easy. All you need to do is the following:

  • Shift your bike into 4th gear.

  • Locate the little yellow indicator lines on the drive side of the hub. These will be inside a tiny clear window, right next to the shifter cable running around the hub.

  • Twist the barrel adjuster on your shifter until you are able to align the two yellow squares, and voila, you’re all tuned up. These are just painted guidance lines, so you may have to play with the adjuster a bit while riding to get it perfect.

Rolling on a single speed? Check your chain tension and make sure there’s no unnecessary slack. If you do notice that your wheel has shifted forward and is causing chain slack, simply do the following.

  • Loosen your rear wheels axle nuts until you’re able to move the wheel back and forth in the rear dropouts.

  • Next, pull the wheel all the way back, and tighten it down to ensure a taut chainline.

  • Turn your crankset to check the tension along the entire rotation. There is always a tight and loose spot in the chain, and you want to find the perfect tension for the entirety of the chain – not just one spot. 

Helpful video link:

 

Finally, ride it out:

And with that, you’ve (hopefully) successfully prepared your bike for some summer riding. Didn’t break the bank, and hardly broke a sweat. Now the rest is up to the weather man!

If for any reason there’s something going on with your bike that you don’t feel comfortable fixing, don’t panic – we’re here for you. Feel free to reach out to us at the shop and we’ll be happy to help out. To schedule your tune up with the shop, please don’t hesitate to reach out during our normal business hours at (415) 683-6166

 

07 Apr 05:03

Twitter Favorites: [MacWBishop] Few things better illustrate the degree to which nothing is currently happening than this photo of a deserted stree… https://t.co/Y41ORxTT3g

Mac William Bishop @MacWBishop
Few things better illustrate the degree to which nothing is currently happening than this photo of a deserted stree… twitter.com/i/web/status/1…
07 Apr 05:03

Twitter Favorites: [AlexDRMather] “If pedestrians would just stay on the sidewalks and follow the rules, they’d stop dying in record numbers”, they s… https://t.co/x26kIsu6KR

Alex Mather @AlexDRMather
“If pedestrians would just stay on the sidewalks and follow the rules, they’d stop dying in record numbers”, they s… twitter.com/i/web/status/1…
07 Apr 05:03

Twitter Favorites: [BenSpurr] Still remember the sound of thousands of kids packed into the Skydome booing Mike Harris as he came up to introduce… https://t.co/zYPY4rG4Dp

Ben Spurr @BenSpurr
Still remember the sound of thousands of kids packed into the Skydome booing Mike Harris as he came up to introduce… twitter.com/i/web/status/1…
07 Apr 05:03

Opinion: It’s time to give the West Coast Express the big expansion it deserves

by Stephen Rees

West Coast Express (BCVX) 906

The long title comes from an article published yesterday in the Daily Hive written by Ian Ius. He has had a brainwave which had me wondering why no-one seems to have proposed this before – as far as I know. The short version is that while WCE would be hard to expand along the Burrard Inlet, it would be possible to run an all day, every day, service from Coquitlam out to the Valley with the Evergreen Line providing connections to the rest of the system. It is worth your time to click on that link and read the whole thing.

I thought at first I would not have much to add, and I apologise if you have read some of this from me before. I make no claims to originality here.

I have always advocated a better transit link between Surrey City Centre and Coquitlam Centre. Yes you can do that by SkyTrain now, but with two transfers and an indirect route. I think a better service could be provided by a nonstop direct bus on Highways 1 and 7 over the Port Mann Bridge. The new low floor express buses would do nicely.

18468

Photo by UltraBuizel 10 on flickr Creative Commons Licensed

The other thought that occurs to me is that there is a very good example of the integration of heavy rail passenger service with freight in Chicago where the Metra Services run on several Class 1 railroad lines. The most intensive freight plus Metra route is the BNSF “Race Track” out to Aurora Illinois from Union Station. This has multiple tracks and a very advanced signalling system. Sadly, Metra service on Sundays is only once every two hours, but there are plenty of freight trains that pass in that time.

METRA 194

There is also a commuter rail system the serves the Montreal metropolitan region, some of it electrified. I have yet to experience that. Which, by the way, is also the case with West Coast Express. Not that I haven’t tried, but I just couldn’t come up with a way to make it work when I was travelling out to Abbotsford for evening meetings.

 

07 Apr 05:03

Book Review: Waking Gods

by Martin

A couple of weeks ago I read the first book of the ‘Themis Files’ trilogy by Sylvain Neuvel and was blown away by the original story. In some cases I find that sequels to an original story might not be bad but have a hard time reaching the same level of storytelling and content of the previous book. So I was wondering how it would be in this case.

The second book of the trilogy, ‘Waking Gods’ continues where the first book ended. 10 years later, another giant alien robot suddenly appears in London and just sits there, doing nothing for a few days. People are getting nervous and start doing stupid things and things pretty much start going downhill from there. The storytelling is quite the opposite, however, and I had an even harder time putting this book down than the first one. I’m glad that I started reading the book during a few days vacation so I didn’t have to compromise on my sleeping hours to finish the book.

I won’t go further into the details of the plot but suffice it to say that after the first third of the book it become obvious that this is not going down utopia way. In general, I don’t like dystopian science fiction so I’m glad things only started to turn this way in the second book as I would otherwise not have picked up the first book in the first place. But there is still some hope and I’ll let you decide for yourself if the ending is more utopian or dystopian. Like the first book, the end is sort of a cliffhanger but the story has enough of a closure to wait a few days before going for the final volume in the trilogy.

07 Apr 05:02

Twitter Favorites: [JodiesJumpsuit] My terrible, no-good hot take on the PMO scandal: I’m not convinced of the virtue of anyone involved, but the entir… https://t.co/A58e0ezsvl

jump ship @JodiesJumpsuit
My terrible, no-good hot take on the PMO scandal: I’m not convinced of the virtue of anyone involved, but the entir… twitter.com/i/web/status/1…
05 Apr 20:51

These Weeks in Firefox: Issue 56

by lina

Highlights

  • Firefox Lockbox now available on Android! Check it out!
  • Responsive Design Mode in Dev Tools supports Meta Viewport, behind the devtools.responsive.metaViewport.enabled pref!

Responsive Design Mode with broken meta viewport handling Responsive Design Mode with fixed meta viewport handling

Screenshot of new "Logins and Passwords" app menu item

  • The autocomplete suggestion list has a spiffy new “View Saved Logins” button.

Screenshot of "View Saved Logins" button in autocomplete suggestion list

Screenshot of "Reload All Tabs" button in Privacy settings

Screenshot of new FxA avatar button in panel

  • Rust-powered bookmark syncing landed in Nightly, behind the services.sync.engine.bookmarks.buffer pref! This is an under-the-hood change that lets us share core sync logic between Desktop and mobile. Please file a bug if you notice issues.

Friends of the Firefox team

Here’s a list of all resolved bugs.

Fixed more than one bug

  • akshitha shetty
  • Carolina Jimenez Gomez
  • Dhruvi Butti
  • Fanny Batista Vieira [:fanny]
  • Florens Verschelde :fvsch
  • Helena Moreno (aka helenatxu)
  • Hemakshi Sachdev [:hemakshis]
  • Heng Yeow (:tanhengyeow)
  • Ian Moody [:Kwan]
  • Jawad Ahmed [:jawad]
  • Mellina Y.
  • Monika Maheshwari [:MonikaMaheshwari]
  • Neha
  • Nidhi Kumari
  • Syeda Asra Arshia Qadri [:aqadri]

New contributors (🌟 = first patch)

Project Updates

Activity Stream

  • Preparing to launch the Pin Tabs CFR message globally in 68
    • Currently just en-US in Beta (around 10% of the people that open the message will also pin the tab)
  • We’re investigating Pocket New Tab startup performance
    • There is a regression on the reference hardware compared to the default (66) New Tab experience
    • The current theory is that it is caused by network calls/processing for fetching images
    • The target is to make Pocket New Tab the default experience in 68
    • Working on lazy loading images
    • Meta Bug for performance work

Add-ons / Web Extensions

Applications

Services (Firefox Accounts / Sync / Push)

  • Thom is working on an HTTP client abstraction for our Rust components. We’ll use Necko via GeckoView on Android, and system networking libraries on iOS.
  • Thom and Ryan are also working on a crypto abstraction, using NSS and OS-level crypto, for encrypting and decrypting sync records and push messages.

Browser Architecture

Developer Tools

  • Thanks to Fanny Batista Vieira (GSOC), Adrian Anderson (Outreachy) and nikitarajput360 (Outreachy) for working on bug 1115363 – Add a Copy context menu item to the Storage Inspector.
  • Thanks to Avi Mathur for working on bug 1291427 – Table headers are not removed when selecting an empty storage
  • Good number of external contributions for the Console:
    • Helena Moreno added support for Cmd+K to clear the console – Bug 1532939
    • Helena Moreno added support to open URL of network messages with Cmd/Ctrl + click in the console – Bug 1466040
    • Erik Carillo made the console less painful to navigate with the keyboard by adding a role=main attribute on the output – Bug 1530936
    • Bisola Omisore implemented NOT clearing the console input when evaluating, for the editor mode – Bug 1519313
      • lots of in progress bugs
  • Grouping of tracking protection messages in Console is in progress – Bug 1524276
  • Column breakpoints in the Debugger are faster and more polished, esp. on reload
  • Network Panel now has support for resizable columns (Bug 1533764). Kudos to Lenka, who finished this feature during her Outreachy internship and who already picked up the next feature.
  • Landed a blank markup view bug related to a CORS issue (Bug 1535661)
  • Landed a redesigned settings panel for RDM (thanks to our design contributors @KrisKristin) and will soon land the ability to edit devices
  • You can now (remote) debug service workers in e10s multiprocess if you are also running the new ServiceWorkers implementation (dom.serviceWorkers.parent_intercept) (bug)
  • The all new and improved about:debugging is getting close to shipping (try it by enabling devtools.aboutdebugging.new-enabled or going to about:debugging-new). This new version allows you to debug Gecko in USB devices without launching WebIDE, amongst many other improvements.
    • If you test it and find bugs, please file them here and we’ll take care of them.
  • Removed Shader, Web audio, Canvas and shared components (see Intent to Unship for reference)

Lint

  • Ian Moody is rolling out the ESLint rule no-throw-literal across the tree.
    • This will help improve our error messages and handling.
  • Gijs is working on enabling at least basic ESLint parsing for XUL files.
  • ESlint is now enabled for docshell/, uriloader/, dom/browser-element/ and dom/url/
  • (Hopefully) landing soon:
    • ‘Automatic’ ESLint configuration for test directories.
    • Less .eslintrc.js files will be needed.
    • Directories where the path is of the following formats will be automatically configured and not need a .eslintrc.js file:
    • xpcshell:
      • **/test*/unit*/
      • **/test*/xpcshell/
    • browser-chrome mochitests: **/test*/**/browser/
    • plain mochitests: **/test*/mochitest/
    • chrome mochitests: **/test*/chrome/
    • I’m planning more follow-up work in the future to reorganise non-matching test directories to fit these structures where possible. Things like browser/base/content/test may get special exceptions.

Mobile

Firefox for Echo Show

Android Components

Password Manager

Performance

This is a graph of the ts_paint startup paint Talos benchmark. The highlighted node is the first mozilla-central build with the hidden window work. Lower is better, so this looks like a nice win!

Performance tools

  • Added “Build Type” and “Update Channel” information to header metadata panel.

Metadata panel on Firefox Profiler that includes “Build Type” and “Update Channel” information

  • Added a “PID” label under the global tracks.

Parent Process track with PID under it

  • Working on PII sanitization before sharing a profile. Will be ready within a couple of weeks.

Privacy/Security

Search and Navigation

Search

  • Studies:
    • Federated learning should launch in April
    • NewTab Search in private browsing is live
    • Quantum Bar in nightly is live
  • Working on remaining unit test failures, before landing built-in WebExtension Search Engines on Nightly 68

Quantum Bar

  • Nightly study is ongoing, got useful bug reports, keep them coming
  • Lots of autofill fixes and burning down list of blockers
  • Work continues on accessibility, RTL, flicker
  • Initial API design for future experiments, under discussion
05 Apr 20:50

Instapaper Liked: How B.C. brought in Canada's 1st carbon tax and avoided economic disaster

As the last four provinces to resist carbon pricing are dragged into a new federal tax scheme, the country's oldest carbon tax might serve as a good example of…
05 Apr 20:50

Twitter Favorites: [shawnmicallef] This is true of most logos.

Ontario Hot Tub Panic @shawnmicallef
This is true of most logos.
05 Apr 20:50

Twitter Favorites: [Felix3333] @SnarkySteff @sillygwailo Oh! The nickname for Ignacio goes the other way... the snack is named for him. :-)

Felix @Felix3333
@SnarkySteff @sillygwailo Oh! The nickname for Ignacio goes the other way... the snack is named for him. :-)
05 Apr 20:50

Instapaper Liked: No Earrings, Tattoos or Cleavage: Inside China’s War on Fun

One example of how China is infantilizing the country’s culture: The Chinese film industry put a black dress on Sally Hawkins’s nude body when “The Shape of…
05 Apr 20:49

Work Futures Daily-We Don’t Need Better Leaders

by Stowe Boyd

Beacon NY — 2019–04–04 — This issue’s title is due to Harold Jarche, who I quote at length in the quote of the day.

Continue reading on Work Futures Institute »

05 Apr 20:48

Decentralize Your Secrets with CHURP

by Deepak Maram and Fan Zhang and Ari Juels

At the heart of decentralized systems today is a demoralizing irony. Vast resources---intellect, equipment, and energy---go into avoiding centralized control and creating "trustless" systems like Bitcoin. But hapless users then defeat the whole purpose of these systems by handing over their private keys to centralized entities. Or worse still, they lose their keys, sending about $14 billion in Bitcoin into a black hole (according to an estimate made two years ago).

But who can blame them? Even experts find key management hard. That's why, decades after its invention, public-key cryptography is rarely used for things as simple as e-mail encryption.

It's also why the hapless users of cryptocurrency in question aren't "they." They're also "we." Even at IC3, some of us shamefacedly use centralized exchanges instead of managing our own keys.

Wouldn't it be nice if true decentralization were within the grasp of ordinary users, if there were a system that: (1) made user key management easier and (2) was itself actually decentralized? And, even better, if it could: (3) manage keys for entities that can't store secrets, such as smart contracts?

These are the goals of CHURP (CHUrn-Robust Proactivization), a new system we've developed at IC3 and presented in a paper. CHURP is an open-source project already in plans for further development and adoption at Oasis Labs, and we hope to see it used in many other places.

Committees: Here today, gone tomorrow

Decentralized key management, like single-user key management, is easy in principle. A committee of n nodes can hold a private key SK that is distributed using (t,n)-secret sharing. An adversary must then corrupt t+1 nodes in order to steal SK. This creates a strong obstacle to compromise.

Any t+1 nodes can act in concert to access SK, ensuring high uptime. In fact, by means of threshold cryptography, nodes can perform operations with SK using individual shares, never explicitly reassembling and exposing SK. The figure below shows a (2,5)-secret sharing. Each of the five nodes (A1, A2, ..., A5) has a share (the small blue square) of the secret (the orange oval). Any three nodes can jointly compute the secret. The idea is similar to multisig addresses in cryptocurrency.

(2, 5)-secret sharing

An example of (2, 5)-Shamir secret sharing.

A number of decentralized systems, e.g., Enigma, Calypso and Coconut make use of such key management via committees. It's a compelling option, but there are some lurking problems.

The first problem is the risk of mobile adversaries. It may be hard for an adversary to compromise t+1 nodes in a short space of time. If a static set of nodes stores SK indefinitely, though, an adversary can attack nodes gradually, ultimately corrupting the t+1 it needs to learn SK.

The classical countermeasure to mobile adversaries, devised in the 1990s, is known as proactivization. Nodes periodically refresh their shares, i.e., perform a fresh secret-sharing of SK. If proactivization happens on, say, a daily basis, then the shares that an adversary compromised yesterday no longer count today. In our (2,5)-secret sharing example, if the adversary compromised 2 shares yesterday and 2 today, despite having 4 shares, she can't reassemble SK. Yesterday's shares aren't compatible with today's. Proactivization forces an adversary not just to compromise t nodes, but to do so quickly, before a refresh happens.

There's a second big problem, though---particularly in decentralized systems. Nodes may enter and leave the system. Thus the set of nodes in a committee may change over time, i.e., they're subject to churn.

Churn is a problem that existing secret-sharing schemes, even proactive ones---simply don't solve.

Churn is a Challenge

In order to understand why committee churn is not an easy problem, let's consider a naive strategy for handling it.

Handoff between two committees

Handoff between two committees.

The figure above shows two committees---equal-sized old and new committees. Due to churn, some nodes in the old committee leave (A2 and A3), while new nodes replace them (B2 and B3). For the purpose of this example, assume that both the committees use (2,5)-secret sharing for some secret SK. (2,5)-secret sharing is meant to protect against compromise of two nodes. So let's assume that a mobile adversary can control two nodes in each of the old and new committees.

A naive strategy might directly transfer shares between the old nodes and the corresponding new ones that replace them. In particular, in the above example, node A2 could give its share to node B2 before leaving, while node A3 could give its share to node B3. But this quickly falls apart in the face of a mobile adversary. This adversary could corrupt nodes A1 and A2 in the old committee and B2 and B3 in the new committee. Thus the adversary learns a new share through node B3. The adversary thus learns 3 shares in total. Since we're using a (2,5)-secret sharing, she thus learns SK, breaking the system. [1]

CHURP Comes To Rescue

In a nutshell, CHURP is a proactive secret-sharing system that solves the above problem, and handles committee churn securely. It's not the first system to do this, but it's the first practical one.

The key innovation in CHURP is something called dimension-switching. Suppose, in our example above, it were somehow possible to switch temporarily from a (2,5)-sharing of SK to a (4,5)-sharing during the handoff from the old committee to a new one. Then, despite being able to learn 3 shares, the adversary would not learn SK.

Dimension-switching essentially "dilutes" the secret shares thus preventing leakage despite the adversary learning more during the handoff. CHURP uses bivariate polynomials (two dimensional polynomials) to share the secret. Switching from (2,5)-sharing to (4,5)-sharing can be achieved by switching between the two dimensions of the bivariate polynomial. For more details of our construction, please refer to the full paper.

Another key innovation in CHURP is a tiered protocol that achieves high performance and strong robustness simultaneously. By default, CHURP uses an optimistic path. It assumes that all nodes execute the specified protocol correctly. In this case CHURP is highly efficient. If any node cheats (e.g., it sends malformed messages), however, CHURP can efficiently detect the fact and then switch to an alternative, pessimistic execution path. In this case, the protocol runs slower but is resilient to cheating players. The optimistic path in CHURP is especially communication-efficient. The best known protocol prior to CHURP [Schultz07] incurs 5GB of network bandwidth for a 100-node committee. By comparison, CHURP (optimistic path) incurs only 2MB---a 2300x improvement! In fact, even the pessimistic path of CHURP performs better than any previously known protocol.

CHURP has some other bells and whistles. For example, it uses a trusted setup phase, as required by a special commitment scheme [Kate10] that helps keep communication costs low. But if this trusted setup fails, CHURP still remains secure. The innovation here is a hedge---an additional verification step that detects compromised trusted setup and switches to a secondary pessimistic path that avoids the vulnerable commitment scheme, at the cost of some additional slowdown.

Despite the technical intricacy, using CHURP in your project is easy. At a high level, CHURP provides a concise API that enables periodic committee rotation without changing the secret. We strongly encourage you to checkout the code and play with the demo.

Lots of Applications

Blockchain systems, by nature, cannot store private data. The ability of CHURP to store and manage private keys through dynamic committees enables interesting applications without introducing centralization. Below, we briefly enumerate a few of the most important potential applications of CHURP.

1) Cryptocurrency Management: Rather than relying on centralized exchanges to store private keys on behalf of users, or using hardware or software wallets, which are notoriously difficult to manage, users could instead store their private keys with committees. These committees could authenticate users and enforce access-control, resulting in the decentralized equivalent of today's exchanges.

Cryptocurrency

2) Decentralized Identity: Initiatives such as the Decentralized Identity Foundation, which is backed by a number of major IT and services firms, envision an ecosystem in which users control their identities and data by means of private keys. Who will store these keys and how is an open question. The same techniques used for private key management would similarly apply to assets such as identities.

Identity

3) Smart-contract attestations: CHURP could augment smart contracts with confidential state, allowing them to, e.g., produce attestations regarding blockchain state change. Such signing would be of particular benefit in creating a simple smart-contract interface with off-chain systems. For example, control of Internet-of-Things (IoT) devices is a commonly proposed application of smart contracts (smart locks being a notable early example). If smart contracts cannot generate digital signatures, then the devices they control must monitor a blockchain, a resource intensive operation infeasible for IoT devices. A smart contract that can generate a digital signature, however, can simply issue authenticable commands to target devices.

Smart Lock

If you are interested in learning more about CHURP, please check out our website, code, or even the paper, co-authored with Lun Wang, Andrew Low, Yupeng Zhang, and Dawn Song, all of UC Berkeley. We are excited to hear about any challenging use-cases for CHURP you might have!

[1] There are other issues with this naive strategy such as the assumption of equal sized committees and that all nodes stay alive till the new replacing nodes join. We don't make any such assumptions in the actual protocol.
05 Apr 20:48

Attracting more developers to F#

UPDATE: If you are reading this piece, please also read the follow up post I published a few days later.


Sometimes folks complain about Microsoft's posture toward F#.

You've probably seen these kinds of remarks on Twitter and GitHub and so on. People compare the amount of attention and resources that Microsoft gives to F# compared to C#. Terms like "second class citizen" and "red-headed stepchild" get used.

In some cases these comments are accompanied by strong emotions, expressed either directly or with sarcasm.

Let's acknowledge that Microsoft DOES give more attention to C#, and for good reasons. The following picture appeared in one of the slides during a presentation at Build in 2017:

C# users outnumber F# users by two orders of magnitude. That's huge. Giving a lot of attention to C# just makes sense. It's all about the users.

So the real question is...

Why don't more people use F#?

This post is a follow-up to another blog entry I wrote back in 2015. The nutshell summary of that piece is that F# is a "discontinuous innovation", so Geoffrey Moore's chasm principle applies, which means that F# will never take over the .NET world, because C# is simply too good.

So, four years later, where are we? It looks to me like F# is continuing to grow, and a lot of good F# things are happening. But in the big picture, some things are basically unchanged: C# is still FAR more widely used. F# is still considered esoteric.

Here's an example of how this plays out: In the recent election for the .NET Foundation board, AFAICT, none of the winning candidates identify as an F# developer, and only one of them even mentioned F# in their candidate statement. Please understand that I'm not saying this as a complaint. This is merely an interesting barometer reading of where we are. In other words, with respect to F#, the election result is an accurate reflection of the .NET ecosystem, because there are only six board slots, and F# is used by far fewer than one-sixth of .NET developers.

So, if we want more people to use F#, what do we do? Is the situation hopeless? I think not. But with all due respect, complaining about Microsoft's resource allocation won't help.

My claim is that we (F# fans) need to examine how we are contributing to the problem.

F# Positioning

First let's talk about the different ways that we can view F# and its place in the world. As is my tendency, I will speak of this as an east/west continuum with two endpoints.

F# is:

An ML dialect that happens to run on the CLR ---------------------------------------- A .NET language that happens to be an ML dialect

The "west" endpoint (to the left) is about perceiving F# as primarily a functional programming language. The fact that F# runs on .NET is merely an implementation detail. When we develop with F#, we are usually not thinking about .NET.

To the "east", at the other end of the spectrum, we speak of F# as primarily a .NET language. The fact that F# runs on .NET is important. When we develop with F#, we are often thinking about broader aspects of .NET.

Let me first say that both of these perspectives (and all the shades of gray in between) are valid. I'm not here to tell you how you must view F#.

However...

Here's what is NOT going to happen

If your perspective of F# is near the west end of my continuum, I assume that you are NOT one of the people who is upset about Microsoft's level of attention for F#. And if you are, I further assume you believe that shouting at the rain will make it stop.

Seriously. This isn't gonna happen. Microsoft is not going to try to convert the world to the functional programming paradigm.

To be clear, I should explicitly say here that I don't work for Microsoft and do not speak for them. My remarks here should be seen for what they are, opinions and predictions from an outsider.

Still, this should be obvious. Microsoft is all about .NET.

Back to the point...

A specific example

In late 2017, issue #3976 was logged in the GitHub repo where the F# compiler is developed.

Nutshell summary: The F# compiler has its own backend (which, like the rest of the F# compiler, is written in F#). Somebody suggested replacing that backend with System.Reflection.Metadata, which is what the Roslyn compiler uses. Don Syme said no. The issue was closed.

Let's think for a moment what it might mean for the F# compiler to share a backend with Roslyn. It seems likely that such a move could greatly affect the way people inside Microsoft think about F#. Maybe folks in DevDiv think of F# as "separate", and moving its compiler onto Roslyn's backend would help change that. Maybe the increased interdependence between F# and the rest of .NET would make it more fully recognized as an important part of the .NET story.

In short, I believe a shared infrastructure for the F# and C# compilers would move us at least somewhat eastward.

So am I saying that Don Syme made the wrong choice? Certainly not.

But I do wonder how often that same decision pattern gets applied in other contexts.

Simply put, the compiler is a special case. It is essentially always a good idea to have the primary compiler for a programming language be written in that language.

But what happens if we take this sort of "F# only" mentality and apply it to all kinds of other libraries and projects? Broadly speaking, that philosophy adds westward pressure.

And like I said, there's nothing inherently wrong with the west side of my continuum. Functional programming is cool.

But if we want to promote more adoption of F#, the solution lies to the east.

Painful transitions

So all that stuff I wrote about F# and the chasm? It wouldn't be quite as applicable if it were possible to adopt F# more incrementally.

Technologies that can be adopted gradually don't really have chasm problems. The chasm exists for "discontinuous innovations", where the change causes a lot of pain. I'm talking about situations where you can't really adopt The New Thing unless you give up the way you do things now. That's what creates the chasm.

And that's why most people don't use F#. It's just too big of a change to swallow.

Things might be different if F# had features which are conceptually familiar to C# developers. Like, you know, if F# had support for classes and mutable variables and loops and object oriented programming -- that would be cool.

Things might be different if F# could interoperate with the rest of the .NET world. Like, you know, if it were possible to have an app which is written partly in C# and partly in F# -- that would make things so much easier.

Okay, I'll stop the silliness. Yes, I know that F# already has these things. I'm trying to make my point by pretending otherwise.

Seriously. Imagine trying to put together a credible story for how to make a gradual, incremental, pain-free transition from C# to Haskell.

No, really. Try to imagine that. I'll wait.

In contrast, the corresponding story for F# basically writes itself. If you want to get started with F#, you can have some working F# code in your repo by the end of the day. Your solution might have 50,000 lines of C# code, and none of that has to change when you add 50 lines of F#.

So why does the F# chasm exist?

Because we created it.

Or at the very least, we make the chasm wider.

F# has all kinds of stuff to support a great story about very incremental adoption, but that is not typically what we emphasize when we're talking to someone. Instead, we seem to think the way to get people to switch to F# is to explain how it's "better". Here's why that doesn't work.

When we say this:

The F# type system IS just so much BETTER, with discriminated unions AND records, the functional paradigm is really POWERFUL.

What people hear is this:

___ F# ____ ______ IS ____ __ ____ DIFFERENT, ____ _____________ ______ AND _______, ___ __________ ________ __ ______ SCARY.

Every time you say "better", people hear "different". That's just the way it is.

Talking about how F# is better than C# is usually self-defeating. Because if F# is really that much better, then it must be really different, which probably means the change is going to be painful or expensive.

Promoting incremental adoption of F#

If you actually WANT to evangelize pure functional programming (on .NET or anywhere else), ignore this article and go back to measuring your chasm. It's wide.

But promoting F# can be much more effective than that, if we emphasize incremental change. In fact, even the word "change" isn't quite right, as the choice to use F# can be purely additive.

One thing we need to do is celebrate all parts of F#, not just the parts that are associated with the functional paradigm.

Sometimes we talk about F# kinda like this:

Yeah, F# is a multi-paradigm language, but it's really supposed to be used for functional programming. Real F# is about is functional purity. There are various escape hatches available, such as classes and mutable, but we should feel shame when we use them.

This kind of messaging is NOT the way to help F# people understand that F# can be adopted gradually.

It's also not necessary. Yes, there are some great benefits to be had in functional programming, but trying to start people at the west endpoint is what creates the chasm and drives people away. The goal of promoting F# adoption should be to get people who are OFF the continuum to relocate and be ON the continuum, and the easiest point of entry is the east endpoint, using familiar things like classes and objects and mutable collections.

And by the way, there's no need to worry that they might stay there and never experience functional programming in its full glory.

First of all, even if they did stay east, would that really be a problem? F# is a pretty great language for OOP. If they like using it that way, why not let them be happy?

Second, they won't stay there. Once someone gets on the continuum, it's hard to stay at the east endpoint with the wind constantly blowing to the west. Most people will find a comfortable spot somewhere in the middle.

THIS is what makes F# a great language.

You don't have to take my word for it

The F# repo on GitHub contains, among other things, the source code for the compiler I mentioned above. Running git log shows over 6,800 commits, around 20% of which were done by Don Syme himself.

So what kind of F# code does our BDFL write?

A quick grep shows that mutable is used 246 times, and that's just in the backend. Casual browsing through the code shows plenty of classes. I even found places where they use regular mutable collections from System.Collections.Generic.

And we should not be surprised. If Dr. Syme didn't want these kinds of features to be used, why would he make them part of the language?

Bottom line

The least effective way to promote F# adoption is the one that comes most naturally, a narrative that includes criticism of C# as part of our claim that F# is better.

Instead, we need an entirely different and more positive narrative: ".NET development with C# is great, and adding F# can make it even better."

05 Apr 20:47

Kids Love These Volume-Limiting Headphones That Protect Young Ears

by Alex Roth
Kids Love These Volume-Limiting Headphones That Protect Young Ears

We’ve previously posted deals on the Puro BT2200 kids Bluetooth headphones that brought them to $60 or $70 (they’re normally $100), but their current $50 price is the lowest we’ve seen. These headphones are the top pick in our guide to the best kids headphones. Also half off are the PuroQuiet over-ear active noise-cancelling headphones, which are not an official Wirecutter pick due to their high $200 regular price but are worth considering at $100.

To find the best headphones for kids, our testers had two primary criteria: safe volume levels and designs that kids actually liked enough to wear. In both respects, the Puro BT2200 came out on top. According to our review, “The wireless design is also handy for avoiding tangles, a favorite feature of our big-kid panelists. The size and weight fit kids from 2½ to 11 years comfortably, so you can buy these headphones once and they’ll grow with your child, and they are sturdy enough that they should last a long time, too. In fact, we long-term tested these headphones with several kids, including on cross-country flights, and all of our test pairs are still doing just fine.”

As for the noise-cancelling version, we liked everything about that pair but the price. In our review we say, “The PuroQuiet headphones fit just as well, are just as sturdy, and measure acceptably within safe limits. The noise cancelling is actually effective, especially for airplane noise. However, we believe that the $200 asking price is more than most families are willing to spend for kids headphones. If you travel a ton and don’t mind the expense, the PuroQuiet headphones are the only active noise-cancelling headphones for kids that we are aware of, and we are comfortable recommending them for those who can afford the asking price.”

05 Apr 20:47

The reported discrimination and sexual harrassm...

The reported discrimination and sexual harrassment behavior at Microsoft is unacceptable, needs to be accounted for, and made right.

05 Apr 20:47

Find your Green Candidate

by peter@rukavina.net (Peter Rukavina)

In my spare evening hours here in New Hampshire this week I worked on a “Find your Green Candidate” widget for the Green Party campaign website.

This turned out not to be a trivial thing do to, in part because I couldn’t find a ready-made open data source of which civic addresses are in which electoral district. So I had take the electoral districts GIS layer and the civic address layer and use QGIS to run a point-in-polygon process to marry the two. The result was a MySQL table that looks like this:

Screen shot (detail) of electoral districts table

The table maps each civic address to its electoral district: like 71 48 RD is in District 2, for example.

Next I had to create a table of Green Party candidates, also keyed to electoral district:

Screen shot (detail) of candidates table

With this table I can look up who the Green candidate is for District 2, Susan Hartley.

With the data in place, I wrote an API, in PHP, that accepts a civic address fragment and returns matching addresses as an HTML fragment. For example, if I POST 99 B to this API, I get back:

  • 99 BAGLOLE WHARF RD, SOUTHWEST LOT 16
  • 99 BALCOM DR, SUMMERSIDE
  • 99 BALD EAGLE LN, MILLCOVE
  • 99 BARBOUR CIR, CHARLOTTETOWN

In other words, the first four addresses that match that address. If I send a longer address fragment to the API, like 99 BAL, I get the subset of addresses that continue to match:

  • 99 BALCOM DR, SUMMERSIDE
  • 99 BALD EAGLE LN, MILLCOVE

You’ll notice that the ID of the list items returns contains all the data I need to render the candidate information for any address; while this isn’t efficient in terms of the size of the API payload, it does mean that I don’t need to make a second API call to get candidate details.

With the API in place, I wrote a JavaScript app to manage the actual candidate lookup.

The nice thing about this approach is that it’s a standalone tool that can be used in the field to help electors find their Green Candidate (it’s installable as a progressive web app) and it’s also embeddable in any other website:

That’s how you see on the Green Party candidates page, and how you can put it on your own website by pasting in:

Since first releasing this a few days ago, I’ve been tweaking the design so that it integrates well with the Green website, and so that it behaves well inside an iframe on both desktop and mobile. It’s been a fun exercise.

I welcome any feedback you might have on how it works (or, if it doesn’t, how it’s broken!).

05 Apr 20:47

Theresa May's only consistency is failure

mkalus shared this story .

You would have thought, by law of averages, that Theresa May would occasionally behave in a way that looked dignified or principled, even if only by chance, but it simply never happens. Every action she takes is defined by self-serving irresponsibility and deception. She is, if nothing else, utterly reliable. You can set your moral watch by her: Whatever she is doing, it is by definition the worst way you could possibly behave in the circumstances.

Take her letter to Donald Tusk this morning. The nuts and bolts of it are positive. She's requesting an extension to Article 50 to avoid a cliff edge next week. She is launching preparations for European elections so that we can extend further in the future. All good. But just look at the manner in which she framed all this.

Just hours before the prime minister sent her letter, reports emerged that European Council president Donald Tusk would offer Britain a one-year extension to next April. And yet in her letter, May still asked for a short extension to June 30th, even though she knew it would be rejected.

It is quite extraordinary how consistent her failure is. The facts change around her, but it makes no difference. She sees the offer, then does what she was going to do anyway, knowing that this will involve defeat in just a few days time. It's like the Brexit negotiations never went away: a British team with no imagination, no emotional or strategic intelligence, trying the same things over and over again to no avail.

Of course, May's real tactic is to blame the EU for forcing a long extension. She doesn't propose a realistic end date herself, because she wants to be able to pretend that it was pushed on her by Brussels. She is quite literally setting herself up for failure.

It is such a profoundly honourless way to behave. It has become very tiring indeed to watch this country be led by someone with such low ethical standards in their conduct. And worst of all, for the global media to be covering it while it happens. Brexit is not just reducing us in the world's eyes as a political project. May's manner, her approach to diplomacy, is so shameful that it is hurting the world's impression of what constitutes the British personality. She is making us look scheming and inept. You can get away with being one of those things. Being both is dreadful.

We are now stuck in the extraordinary situation of watching our negotiating partner force a more advantageous situation on us against our stated will. This is admittedly for their own reasons. They have no intention of holding emergency summits every month to extend the timetable again each time May fails. So they prefer a one-year extension which can be cancelled whenever a deal is agreed.

This is being termed - in the dreadful portmanteau manner we are seemingly condemned to inflict on ourselves - a 'flextension'. But in reality it is just the standard operating system for Article 50. The original legal text says that EU laws cease to apply "from the date of entry into force of the withdrawal agreement or, failing that, two years after the notification". There was no reason to think the extension rules would operate differently.

On the basic level of national self-interest - you know, the way most countries behave and which we did too not so long ago - asking for a short extension makes zero sense. It limits our options and thereby our leverage. May wants to get the deal done quickly. Fine. But what if she fails, which given her track record is not exactly unlikely? Then she needs more time. She would have to go cap-in-hand to the EU begging for a further extension, over and over again, more pathetic each time, our national reputation an expanding stain on the floor. Or, alternately, she could ask for a longer extension and then cut it short if she got it all done quickly. There is no downside to this. Any rational actor would pursue it. But it is not politically palatable at home.

At some point we have to realise that a culture in which rational self-interest and political acceptability are mutually exclusive is not healthy. It suggests we have gone functionally insane as a country.

The immediate consequence is that we are now being treated by our negotiating partner as a kind of charity case. A long extension actually gives up their time advantage, which they used to such punishing effect during the original Article 50 window. Now we have debilitated ourselves so thoroughly, made such an obvious and profound pig's ear of the whole thing, that the EU isn't even bothering to use all its leverage. It is an acute humiliation. It is like someone beating you in a fight while checking their phone.

But imagine for a moment that May succeeds, which - who knows? - might still happen. We put a man on the moon, after all. Perhaps the great scientific accomplishments of mankind could extend to the prime minister not making a catastrophic mess of things. What happens then?

If she succeeds by May 22nd, as originally planned, we will have held an election campaign for the European parliament, selected candidates, seen them tour the country and then, at the very last minute, they'll be pulled out and the EU will be forced to initiate back-up plans for those seats.

What a stain on our national reputation for us to be treating a democratic institution with such little respect. And this, of course, is being instigated by Brexiters whose entire argument rested on the absence of democracy in Europe. That democracy always existed and now we smear and sabotage it for our own grubby self-interest without even a flicker of recognition about the hypocrisy and shamefulness it involves.

Or perhaps she will succeed in her plan by June 30th, as she specifies in the letter - the date just before new MEPs take their seats. So in this scenario candidates would have been selected, campaigns conducted, constituencies toured, elections held, and then, the moment that the men and women selected by voters to represent them were about to take their seats, they would be whisked away like it was all a dream.

That is May's plan. That is literally what she is proposing. The fact she is so bad at her job that it won't happen is irrelevant. This is her intention.

What a limitless disgrace this is as a political proposition. What a full-time, 24/7, every-day-including-Christmas moral abyss she is. The prime minister has spent the last three years insisting that holding a second referendum would destroy people's trust in the democratic process. And this is how she behaves. This is how she treats elections. As something to be dismissively engaged in and then cast aside, like a bogey you can't flick off your fingers.

She really is absolutely shameless. There is no competition anymore, there is no question: She is, quite simply, the worst British prime minister of our lifetime, and quite possibly of anyone else's.

Ian Dunt is editor of Politics.co.uk and the author of Brexit: What The Hell Happens Now?

The opinions in Politics.co.uk's Comment and Analysis section are those of the author and are no reflection of the views of the website or its owners.

05 Apr 20:45

Engineering Proteins in the Cloud with Python and Transcriptic, or, How to Make Any Protein You Want for $360

Brian Naughton, Boolean Biotech, Apr 05, 2019
Icon

The promise is something else: "In this article, I'll develop Python code that will take me from an idea for a protein all the way to expression of the protein in a bacterial cell, all without touching a pipette or talking to a human." In many ways this post is super-complex and I wouldn't expect readers to work though the example provided. For one thing, it would cost some money, and for another, synthesizing your own proteins isn't exactly the easiest thing to do if you don't have any bio-engineering background. That said, this is a fantastic example of the sort of thing we can do with dynamic data-driven open educational resources (OER). Even if all you do is follow along and tweak the embedded algorithms and graphs, you're still gaining something. (From 2016, via O'Reilly - the website is getting slammed at the moment but the response on Wayback is pretty good). More tools for working in the cloud from last week.

Web: [Direct Link] [This Post]
05 Apr 20:45

Librem Laptop RAM and Storage Bump, 32GB max RAM

by Kyle Rankin

Technology is constantly improving, and we do get excited whenever we can add those improvements and upgrades to our products — especially when we can do so without raising prices. Recently, we announced a version 4 upgrade for our Librem 13 and Librem 15 laptops; today we are happy to announce we have upgraded the default configuration on both laptops to 8GB RAM and a 250Gb M.2 SATA disk, while keeping the same base price of $1399 and $1599 respectively.

We know that many of our customers have high RAM requirements, whether that’s due to using a RAM-hungry OS like Qubes or to just having too many chat tabs open in your browser. The single SO-DIMM RAM slot in the Librem 13 and Librem 15 meant an upper limit of 16GB RAM on our laptops… until now. Due to constant advances in RAM density we have been able to validate 32GB SO-DIMMs in our current product line and starting today will offer 32GB RAM as a premium upgrade to both the Librem 13 and Librem 15. If you’ve been holding off on your Librem laptop order because of RAM, wait no longer!

The post Librem Laptop RAM and Storage Bump, 32GB max RAM appeared first on Purism.

05 Apr 20:45

A Voice Assistant Has Become My Co-Parent

by Alex

Every parent I know fantasizes about adding another parent to the mix to help out with the children. I have found that fantasy co-parent in a tidy package: our Amazon Echo.

Like Google’s Home device, the Echo is a voice-controlled assistant that sits in the corner of the room, springing to life when requested. For our family, the Echo has evolved into a tool that helps handle everyday parenting jobs—like managing screen time—as well as more complex ones like giving the children a hand with homework and helping put them to bed.

For the rest of the story, check out today’s Wall Street Journal.
05 Apr 20:44

The Best Wireless Mouse

by Justin Krajeski
The Best Wireless Mouse

After researching 42 wireless mice and testing 14, we found that the Logitech M720 Triathlon Multi-Device Wireless Mouse is the best wireless mouse for most people because it is more comfortable to use than nearly every other mouse we tested, connects easily via a USB dongle or Bluetooth, and tracks well on most surfaces.

05 Apr 20:44

5 Reasons Why Tech Startup Founders Are Using New Domain Extensions For Brand Building

by Guest Author

Tech startups are positioned as cutting-edge entities that offer brilliant pathbreaking solutions and innovative products. And if you run a tech startup, you’d know how hard it is to find a name, and a subsequent domain name, that is worthy of the innovation you offer. However, with hundreds of new domain extensions now available, you can let your hair down and get creative with your name choices.

However, creativity doesn’t necessarily mean opting for bizarre names. Because the tech startup naming trend is gradually shifting from outlandish and goofy to sensible and smart. This is because startup founders don’t wish to spend time explaining the name of their tech venture as opposed to talking about what they do!

Which is why many tech startup founders are opting for simple and evocative domain names such as shadow.tech, brilliant.tech, decision.tech, and pragmatic.tech to denote their business on the internet. Slick, isn’t it?

Towards this, we’ve put together a list of five reasons to help you get a better understanding as to why you, as a startup founder, should also opt for a short and memorable name on relevant new domain extensions: 

Use a new domain extension to reflect your technology background

Using a short, crisp, and meaningful name on a relevant domain extension is the smartest way of highlighting who you are and what you do. Not just that, a smart online identity works well to build a sustainable business and transform it into a strong brand. For instance, if your technology startup is flanked with a .TECH domain extension, anyone who comes across it will know what your business specializes in.

In fact, Asher Kagan, CEO at Shadow (www.shadow.tech), a high-performance cloud-based computer that recently raised a whopping $71.7 million dollars, said, “We have a strong technical background and the founding team has worked in some of the most advanced technology companies and industries before. We are proud of our tech roots and the .TECH domain reflects this origin.”  

Use a new domain extension to find exact match names

How many small businesses or tech startups can say that their brand name and domain name are the exact same? With a new domain extension, there is a high chance of finding the name of your choice and one that perfectly aligns with your brand name and ideologies. Take, for instance, Hayley Leibson’s Lady In Tech that goes by www.ladyin.tech.

Even Hemanth Velury, Co-founder, and CEO at VirtualSpaces (www.virtualspaces.tech), recently said, ”We needed something that showcased the fact that we indulge in cutting edge technology and choosing a .TECH domain extension was a no-brainer.”

Use a new domain extension to create a tech brand

Availability of names on new domain extensions means you can find a short, memorable, and relevant name on a relevant domain extension – qualities of a great brand. Simple one-word domain names that are clean and devoid of any grammatical flaws or special characters or numbers make for a striking online identity.

For instance, www.brilliant.tech, www.insight.tech, and www.mondial.tech, to name a few, are great examples of brandable online identities.

Heather Stratford, CEO at Stronger (www.stronger.tech), a cybersecurity company, said, “We wanted to use the word ‘Stronger’ but also wanted people to know that we were in technology. The .tech domain name was a great solution. Our name became Stronger.tech – short, powerful, and conveyed what we do and which industry we belong to. We get lots of questions and compliments for it. It is unique, but so is our company.”  

In fact, even Martin Piirmaa, COO & Co-Founder at Autobahn.tech (www.autobahn.tech), is of a similar opinion. He recently stated, .tech is the best choice for us since we are a tech company. This way we have been able to highlight our tech expertise. Our website visitors will get a better understanding of what the company is about and since it’s a unique domain name, it might even be easier to remember. I think we made the right choice as the .tech domain creates uniqueness and it’s easy to build a brand around it.”

Use a new domain extension to efficiently position your startup

Correct positioning is half the battle won when it comes to branding. And that’s exactly what sporting a relevant domain extension does for your startup. A URL such as www.thewardrobe[.]store clearly suggests that you run an eCommerce business or www.littlely[.]tech clearly establishes that you run a tech business. This is a great way to position your startup. 

Siddhartha Vinnakote, Co-founder and CTO at Mobigraph, the company that powers www.xpresso.tech said, As a technology company, we always wanted a URL that reflects the same. Now we can get creative with our name choices since the .TECH domain extension clearly positions us as a technology innovator. It really helps us getting identified.

Furthermore, Eta Sheidaei, CEO and Co-founder at Kwaita (www.kwaita.tech) had similar thoughts too. He said, With this unique URL we show that we are there right from the start. Unique URLs are becoming more and more important to position and present yourself online.

Use a new domain extension to stand out from the competition

The primary aim for any business is to outwit the competition and come across as an authority in a niche. While bringing a unique core competency to the table and offering innovative products in the market is imperative, picking a smart domain name that shatters clichés is equally important. 

Why? Because a domain name is the first touchpoint between your startup and anyone who comes across it.

Matt Hanbury, the Founder of Dublin based Lightly Technologies (www.lightly.tech) recently stated, “Since our company is called Lightly Technologies, using a .tech domain was the perfect fit for us. It’s given us a short, modern URL that really stands out.”

Transform your tech startup into a powerhouse brand by choosing a smart and memorable name on a relevant domain extension!

Eshan Pancholi – Senior Content Marketing Specialist, RADIX

Eshan is a Senior Content Marketing Specialist at Radix, the registry behind some of the most successful new domain extensions, including .STORE and .TECH. You can connect with him on Twitter and LinkedIn. .

05 Apr 20:44

Google Leaks Info About the Pixel 3a and Pixel 3a XL This Time

by Evan Selleck
News and information about Google’s next smartphones has surfaced intermittently over the last few months. As is par for the course, those leaks and rumors have circulated from third-party sources. But this time Google is getting in on the fun ahead of any kind of official announcement. Continue reading →
05 Apr 20:44

Seeing Better

by Jim

When I was in the fourth grade, we figured out that I needed glasses. I was complaining about having trouble reading what was on the blackboard and after moving to the front row didn’t solve the problem, I was dispatched to an eye doctor. Sure enough, I was nearsighted. A few weeks later I got my first pair of glasses.

I particularly remember the sense of wonder at discovering that street signs were something you were supposed to be able to read from inside the car as you drove by. My eyes weren’t shaped to see the world in 20/20 on their own but I inhabited a world where a simple prosthetic compensated for that limitation.

I also lived in a world and a time when nuns were quite happy to provide the structure and discipline a daydreaming young boy might need to complete his lessons. External supports, innate curiosity, and a few extra IQ points took me a pretty long way.

I survived—actually thrived—for a long time because I operated in environments that offered supports matched to my deficits. I was well into my 40s before I suspected that I had ADD. As my responsibilities and environment changed, I kept trying to get closer to the blackboard until I ran out of rows. What I didn’t have was a way to figure out what constituted glasses or how to get the right prescription.

What I had instead was a story of the Peter principle in action. I had blown past my abilities. My credentials were accidental; past performance is not an indicator of future performance. Now, it also turns out that ADD and depression are often correlated, so add that to the equation.

Having a way to name what was going on was a necessary but not sufficient step. It made it possible to have productive conversations with the experts. We experimented with the various meds that worked for many, but not for me. The compensating strategies I had developed over time were matched to environments I no longer operated in. One choice would have been to return to a matching environment. Unfortunately, those environments have continued to shrink in our modern world.

So that leaves the choice of formulating a prescription that lets me see the board in front of me. The benefit of this particular metaphor is that I don’t have to be discouraged when a prescription that works for some doesn’t work for me.

The tricky part is that we talk more about what the prescription is than we do about why and how it works. When we talk about eyesight, we know how to assess and correct for myopia and astigmatism. And we know why the corrections work. When we’re trying to compensate for deficits in managing focus and attention doing complex knowledge work, we have to dig deeper and build provisional theories as we experiment.

This is clearly a work in progress. I am curious about how others might be tackling presumably similar challenges of matching their work practices to the unique demands of their environments? What metaphorical myopias and astigmatisms are you dealing with? How have you gone about designing and implementing corrections that work?

The post Seeing Better appeared first on McGee's Musings.

05 Apr 20:44

Work Futures Daily-Three Times

by Stowe Boyd

Beacon NY — 2019–04–05 — Usually I don’t post on Friday, but my week was interrupted by attending an event in NYC Tuesday, CNBC @Work. In…

Continue reading on Work Futures Institute »

05 Apr 20:44

Future of the Granville Bridge

by Gordon Price

 

In these two current Streetviews of the Granville and Burrard Bridges, I counted the number of pedestrians, cyclists and cars – and yes, I know the weather is distinctly different in each.  (Click title of post to see images.)

 

 

Roughly, about the same number of cars on both, a few less pedestrians on the Granville, but no cyclists.   Notice, especially, the four south-bound lanes: empty.

That’s why the City’s proposal for a new walking, rolling, and cycling path across the Granville Bridge, without adversely affecting vehicles – cars, trucks, transit – is doable.  Just as we did on Burrard.

The draft project goals are to:

– Make walking, rolling, and cycling across the bridge accessible, safe, and comfortable for people of all ages and abilities.
– Provide direct and intuitive walking, rolling, and cycling connections to key destinations and to the rest of the network
– Create a special place that provides an enjoyable experience for all.
– Accommodate motor vehicles, considering the needs of transit, emergency services, and people driving.
– Design with the future in mind, considering related projects and opportunities to coordinate work.

It was identified as a priority in the early 2000s as part of a False Creek Crossing Study, and included in the City’s Transportation 2040 Plan (2012).

 

Your chance to participate in the design is coming up.

In this first phase of engagement, we’re looking for input on the project goals, a better understanding of how you use the bridge today, and any specific ideas or concerns you have. We also want to hear your big ideas about the bridge!

Later this year, we’ll come back with concepts for you to review and help us develop further.

There are three open houses for Phase 1 of public engagement:

Date: Friday, April 12, 2019
Time: 11:00am – 7:00pm
Location: CityLab (511 W Broadway)

Date: Saturday, April 13, 2019
Time: 11:00am – 4:00pm
Location: CityLab (511 W Broadway, Vancouver)

Date: Tuesday, April 16, 2019
Time: 4:00pm – 8:00pm
Location: Vancouver Public Library, Central Library, Promenade Trade Fair: North End (350 W Georgia St)

 

There are also several other opportunities to get involved:

• The open house materials and a corresponding survey are available online (survey closes May 10)
• Future rounds of public engagement will take place this summer and fall for updates on previous phases of engagement and to review design concepts as they develop
• Workshops will take place throughout the process to allow for more in-depth discussions and idea exploration (free, registration required – see website)

To learn more about these opportunities, and to stay up to date on the project:

• Visit vancouver.ca/granvilleconnector
• Sign up for the project email list on our website
• Email us at granvilleconnector@vancouver.ca

05 Apr 20:44

Google shares Android Dev Summit date in cryptic tweet

by Brad Bennett

Google’s Android Developer summit is taking place from October 23rd to the 24th in Sunnyvale, California this year.

Google dropped a cryptic tweet on April 4th that hid the information behind a fast-moving GIF and some code.

When you pause the GIF at the right time in three different spots, it reveals all the information.

The final section to be revealed is a hexadecimal code that’s grouped by bytes and means October 23 to 24.

Source: Android Developers 

The post Google shares Android Dev Summit date in cryptic tweet appeared first on MobileSyrup.

05 Apr 20:43

Amazon opens first-ever office in Winnipeg, will focus on web services

by Bradly Shankar
Amazon Canada

Amazon has opened its first-ever office in Winnipeg, Manitoba located in The Forks’ Johnston Terminal.

The new 13,000 square-foot office will be occupied by Amazon’s ThinkBox web services division, which primarily develops creative tools technology for the entertainment industry.

ThinkBox’s tech has been used in major Hollywood movie franchises like Avatar, Harry Potter and Thor, as well as architecture, design, and engineering businesses around the world.

Amazon acquired ThinkBox in March 2017.

Altogether, the new office will “add dozens of new jobs to the area,” according to Blaine Pedersen, Winnipeg Minister of Growth, Enterprise and Trade.

Via: Global News

The post Amazon opens first-ever office in Winnipeg, will focus on web services appeared first on MobileSyrup.