Arduino Web Editor and Cloud Platform – Powered by AWS

Last night I spoke with Luca Cipriani from Arduino to learn more about the new AWS-powered Arduino Web Editor and Arduino Cloud Platform offerings. Luca was en-route to the Bay Area Maker Faire and we had just a few minutes to speak, but that was enough time for me to learn a bit about what they have built.

If you have ever used an Arduino, you know that there are several steps involved. First you need to connect the board to your PC’s serial port using a special cable (you can also use Wi-Fi if you have the appropriate add-on “shield”), ensure that the port is properly configured, and establish basic communication. Then you need to install, configure, and launch your development environment, make sure that it can talk to your Arduino, tell it which make and model of Arduino that you are using, and select the libraries that you want to call from your code. With all of that taken care of, you are ready to write code, compile it, and then download it to the board for debugging and testing.

Arduino Code Editor
Luca told me that the Arduino Code Editor was designed to simplify and streamline the setup and development process. The editor runs within your browser and is hosted on AWS (although we did not have time to get in to the details, I understand that they made good use of AWS Lambda and several other AWS services).

You can write and modify your code, save it to the cloud and optionally share it with your colleagues and/or friends. The editor can also detect your board (using a small native plugin) and configure itself accordingly; it even makes sure that you can only write code using libraries that are compatible with your board. All of your code is compiled in the cloud and then downloaded to your board for execution.

Here’s what the editor looks like (see Sneak Peek on the New, Web-Based Arduino Create for more):

Arduino Cloud Platform
Because Arduinos are small, easy to program, and consume very little power, they work well in IoT (Internet of Things) applications. Even better, it is easy to connect them to all sorts of sensors, displays, and actuators so that they can collect data and effect changes.

The new Arduino Cloud Platform is designed to simplify the task of building IoT applications that make use of Arduino technology. Connected devices will be able to be able to connect to the Internet, upload information derived from sensors, and effect changes upon command from the cloud. Building upon the functionality provided by AWS IoT, this new platform will allow devices to communicate with the Internet and with each other. While the final details are still under wraps, I believe that this will pave the wave for sensors to activate Lambda functions and for Lambda functions to take control of displays and actuators.

I look forward to learning more about this platform as the details become available!



Original URL:  

Original article

Cutestrap: 8k CSS framework

Toggle Gridlines

A sassy, opinionated CSS Framework. A tiny alternative to Bootstrap.

bower install cutestrap

Download | Github


Beautiful, consistent form controls that don’t compromise browser accessibility.


An “Implicit Grid” created using flexbox. Just a single class to create a grid.


All elements and components align perfectly to the baseline grid.


Easily customize the default variables and include only the files you need.


The BEM Methodology is used for naming conventions, because it’s simple and flexible.


Documentation is generated using KSS, making cutestrap a simple launching point for your styleguide.

Another framework?

There are plenty of amazing front end framworks already, such as, Bootstrap and Foundation. If you’re looking for something feature rich with loads of components, those are both great choices.

However, if you’re looking for something in between normalize.css and a full blown framework, meet Cutestrap. Cutestrap is only 8kb of CSS.


Form controls are unified in both their display and in their semantic markup. Because they are modified using only CSS, accessibility doesn’t suffer.


A default button is applied with the .btn class or automatically on button tags or button/submit inputs.



The grid is completely implicit, so columns will size themselves to be equal width to their siblings.

Grid Modifiers

The grid will display on all screens by default. If you’d like the grid to only start on larger screens, you can use these modifier classes. Columns will be stacked on smaller screens.


The grid will start 600px screen width.


The grid will start at 960px screen width.

Column Modifiers

By adding these modifier classes, you will change the flex-grow property that the columns use to size themselves, effectively changing the “weight” of the column. Heavier weighted columns will be wider than lighter columns. If all the weights are equal, the column widths will be equal.


Half the weight of the default column.


Twice the weight of the default column.


Wrappers are classes that have a max-width and padding. The size of the wrapper, determines max-width and the padding.

Class Effect
.wrapper-small Max width of 640 with top/bottom padding equal to the baseline.
.wrapper Max width of 960 with top/bottom padding of twice the baseline.
.wrapper-large Max width of 1200 with top/bottom padding of three times the baseline.


All the typography is sized using rems (based on 62.5% by default, going up to 78.125% on screens larger than 960px), to a baseline of 2.4rem by default. Every element adheres to this baseline grid with perfect vertical rhythm.


Headline 2

  • Unordered item
  • Unordered item

Headline 3

  1. Ordered item
  2. Ordered item

Headline 4

Headline 5


Headline 6
Table Header Table Header
Table Cell Table Cell


Class Effect
.disabled Disables pointer events and lowers the opacity
.clearfix Force an element to self clear its children
.f-none Set the float property to none
.f-left Set the float property to left
.f-right Set the float property to right
.ta-left Left align the text
.ta-center Center align the text
.ta-right Right align the text
.fw-light Light (300) font weight
.fw-normal Normal (400) font weight
.fw-semibold Semibold (500) font weight
.fw-bold Bold (600) font weight
.fs-small Small font size
.fs-base Default font size
.fs-large Large font size


If you notice something is broken or would like to request a feature, please open an issue on Github. You can also fork the repo and open pull requests, just check the README for guidelines.

If you want to chat, Shoot me an email.

Cutestrap ©2016

Original URL:  

Original article

Netflix is using ephemeral Client Certificates for SSH authentication

Yesterday at OSCON Russell Lewis, a senior software engineer at Netflix gave a talk
entitled How Netflix Gives All Its Engineers SSH Access to Instances Running In
The talk introduced a system called BLESS, which
issues short-term SSH client certificates based on AWS IAM roles. We’re excited to see Netflix
join the growing ranks of companies opening up about how they use client certificates to
control access to their infrastructure.


Modern authentication systems operate by having a user authenticate against a central
service in exchange for a limited access token. Using that token the user can access
various services for a limited period of time. After that they are required to
re-authenticate. If you’ve ever logged into a corporate single sign-on (SSO) system,
or even just a Gmail account, you’ve experienced this before.

By decoupling the authentication workflow from the underlying services these systems
offer a multitude of benefits: only a single system needs to handle sensitive
credentials, lowering the surface area for attack. Authentication policies can be
easily extended or modified by changing a single configuration. And in some cases
the centralized system can make more intelligent decisions based on additional factors
such as the user’s location or behavior.

In contrast, most organizations still use relatively primitive authentication schemes
to secure the SSH and RDP services that guard access to their most sensitive
infrastructure. Many rely on static SSH keys, which are difficult to centrally manage
and audit. Others use centralized systems like LDAP, which require users to enter
passwords or MFA codes directly into the servers they are authenticating to – hardly
a best practice even for a low value target.

Client Certificates

Systems like ScaleFT and BLESS use client certificates to modernize infrastructure
authentication. Instead of trusting widely distributed static credentials, or requiring
users to enter sensitive credentials into untrusted servers, these sytems operate as
a Certificate Authority (CA), allowing users to authenticate against a central authority
in exchange for short-lived infrastructure credentials.

Servers configured to trust certificates issued by ScaleFT or BLESS can cryptographically
verify that a user is authenticated, without requiring sensitive information from the
user or even needing to communicate with the CA.

Legacy infrastructure authentication mechanisms pose a major risk to organizations,
and client certificates are a critical part of any modern replacement. We’re excited
to continue seeing the creative solutions that companies like Netflix are using to
combat these risks, and we can’t wait to learn how other organizations are using
client certificates.

For details on how Netflix authenticates engineers to their production infrastructure,
check out the talk.

Recent Posts

ScaleFT Now Supports Okta as an Identity Provider

Phoebe Simon – May 10, 2016

We’re excited to announce that Okta is now available as an identity provider for ScaleFT! The most burdensome part of adopting a new technology is determining whether or not it will work with your existing infrastructure. At ScaleFT, our goal is to make our users’ lives better by not only providing enhanced security, but by also seamlessly integrating with the technologies our customers currently use. With this new integration, users who depend on Okta for authentication can painlessly adopt ScaleFT.

Announcing General Availability and CoreOS Support

Jason Luce – May 6, 2016

General Availability ScaleFT is now generally available, furthering our mission to eliminate vulnerabilities relating to credential theft in the cloud. We’ve extended the reach of our unified access control capabilities beyond what we had imagined for our first publicly available release. Feedback from our customers inspired us to implement Windows RDP support, Okta & SAML integration, enhanced Google Cloud support, and improved integration with DevOps tools such as Ansible. It was also exciting to see the capabilities of our platform when we instantly mitigated OpenSSH “UseRoaming” CVE-2016-0777 across all of our customers’ fleets.

Original URL:  

Original article

From Blue to Indigo to …


A New Citation Guide

A legal citation guide of a different hue, The Indigo Book, arrived on the scene this spring. Like the University Chicago Law Review’s Maroonbook, it was born of frustration over The Bluebook – but frustration of a very different kind.  The Maroonbook, first published in the late 1980s, still followed and revised by the University of Chicago Law Review, aimed to supplant The Bluebook’s complex and detailed dictates with “a simple, malleable framework for citation, which authors and editors can tailor to suit their purposes.”  In contrast, The Indigo Book, seeks to pry loose those very dictates, or at least the subset most important for participation in U.S. legal proceedings, from the proprietary claims made by The Bluebook’s proprietors.

Working under the guidance of NYU copyright expert, Professor Christopher Sprigman, a team of students spent over a year meticulously separating the “system of citation” reflected in The Bluebook from that manual’s expressive content – its language, examples, and organization.  The Indigo Book is the result.  Like the ALWD Guide to Legal Citation, first published in 2000, it endeavors to instruct those who would write legal briefs or memoranda on how to cite U.S. legal materials in complete conformity with the system of citation codified in the most recent edition of The Bluebook while avoiding infringement of that work’s copyright.

Unlike the ALWD Guide, which completes with The Bluebook for a share of the lucrative legal education market at a similarly substantial price, this new entrant is free.  It can be viewed online or downloaded, without charge, in either of two formats – PDF or HTML.  As the work’s forward explains, providing “pro se litigants, prisoners, and others seeking justice but … lack[ing] resources … effective access to the system lawyers use to cite to the law” was, for its creators, an important goal.

Relatively few U.S. jurisdictions formally require that citations in court filings conform to scheme set out in The Bluebook.  (I count one U.S. circuit court, a handful of U.S. district courts, and the appellate courts of eleven states.)  But Bluebook-compatible citations are consistent with the rules of most.  By removing price as a barrier and focusing on the legal materials most frequently cited in U.S. proceedings, this guide of a different color seeks to improve access to the nation’s judicial system.

Establishing a Space for Innovation

The Indigo Book is free in a second, more radical sense.  It has been released with a Creative Commons public domain dedication.  Anyone can copy and redistribute it.  Anyone can create new and different works based upon it.  No further permission from the creators or publisher is required.  The aim here is said to be the clearing of this zone, so important to our legal system, for further innovation.

From the very outset, The Indigo Book project has been both goaded and troubled by overbroad copyright threats and innuendo from The Bluebook’s proprietors and their attorneys.  By separating the widely used system of citation codified in the latter reference from its particularized expression, The Indigo Book seeks to build a wall between such claims and the projects of future software and database developers and citation guide authors.

“Not Authorized by Nor in Any Way Affiliated with …”

Why indigo?  As discussed in an earlier post, the four law journals that publish The Bluebook hold registered trademarks in three variations of that name.  The Indigo Book was, for a time, going to be “Baby Blue.”  The law firm representing the Harvard Law Review Association demanded that the title be changed and that it not be replaced by one “consisting of or comprising the word ‘Blue’”While denying that “Baby Blue” posed any risk of trademark confusion or dilution, the creators of the new guide decided, nonetheless, to change its name rather than waste time and money on litigation.  Quite possibly they shared Isaac Asimov’s view:

It is customary to list indigo as a color lying between blue and violet, but it has never seemed to me that indigo is worth the dignity of being considered a separate color. To my eyes it seems merely deep blue.

What Are the Likely Prospects for the New Guide?

In legal education

The Bluebook is published by four law journals and commands the allegiance of nearly all law student-edited reviews in the country.  Due to the place of those reviews in law school culture, faculty members responsible for courses on legal writing are under powerful pressure to teach the “Bluebook” rules.  Over time that pressure induced the Association of Legal Writing Directors (ALWD) to bring that organization’s competing guide into complete conformity.  Like the new Indigo Book, the ALWD guide is better organized than The Bookbook itself and, on many points, clearer in explanation and illustration.  It, too, has saved space and maintenance burden by limiting itself to U.S. sources.  Even so, powerful network effects have limited its market share.  For The Bluebook is not merely manifest in the format of the citations it enables journal editors, legal academics, lawyers, and legal assistants to produce.  It also represents a matrix of rule numbers and tables that facilitate communication about and resolution of citation issues.  Biblical exegesis is characterized by reference to chapter and verse.  Law review debates over proper citation form refer to Bluebook rule numbers, tables, and text.  Even at the powerfully attractive price point of free, The Indigo Book will run up against the dependence of most citation discourse within America’s law schools, student-edited journals, and large firms on The Bluebook’s classificatory scheme.

As a Resource for “pro se litigants, prisoners, and others seeking justice”

In the form released the new guide is unlikely to be of much aid to those navigating the legal system on their own.  By seeking to liberate the full system of citation explicated in 350 or so of The Bluebook’s pages, Indigo had, of necessity, to be far more detailed than any useful self-help guide should be.  Furthermore, that detail incorporates numerous points on which The Bluebook reflects the undue influence of major publishers and others in which is out of step with the evolving citation practice of lawyers and judges responding to the proliferation of electronic sources.

By placing their guide in the public domain, however, The Indigo Book’s creators have made it possible for groups preparing pro se handbooks, web site resources, and courthouse kiosks to draw upon it in preparing appropriately tailored citation guidance.  Other derivative work possibilities abound.  Bar groups or court systems may well be tempted to prepare citation manuals adapted to state-specific citation requirements and norms.  Citation software developers should be able to proceed without infringement fears. All of this is to be hoped for.

As the author of a free citation reference, now in its twenty-third year, I welcome The Indigo Book and all its future progeny.

Original URL:  

Original article

Show HN: Serverless Framework – Build Applications via AWS Lambda and API Gateway

Serverless Application Framework AWS Lambda API Gateway

npm version

Serverless is the application framework for building web, mobile and IoT applications exclusively on Amazon Web Services’ Lambda and API Gateway. It’s a command line interface that helps you build and maintain serverless apps across teams of any size. It’s also completely extensible via Plugins. We believe AWS Lambda will be the focal point of the AWS cloud, and the Serverless Framework interprets AWS from Lambda’s perspective.

The Framework and its related tools are maintained by a dedicated, full-time team. For updates, join our Mailing List. We work on this live in our Gitter Chatroom. Please join us, everyone is welcome 🙂

Also, we are hiring. If you are a developer and these tools/ideologies appeal to you and you want to work on these all day long, please send us a message.


  • Run/test AWS Lambda functions locally, or remotely
  • Auto-deploys, versions & aliases your Lambda functions
  • Auto-deploys your REST API to AWS API Gateway
  • Auto-deploys your Lambda events
  • Support for multiple stages
  • Support for multiple regions within stages
  • Support for separate credentials per stage
  • Manage & deploy AWS CloudFormation resources to each stage/region
  • Project Variables allow staged/regional values in config files
  • Project Templates reduce configuration
  • Environment variable support
  • Assign multiple endpoints and events to a function
  • Interactive CLI dashboard to easily select and deploy functions and endpoints
  • Optimize your Lambda functions for faster response times
  • Support for API Gateway custom authorizers
  • Project files can be published to npm
  • 100% Extensible – Extend or modify the Framework and its operations via Plugins
  • Powerful classes and methods for easy plugin development
  • AWS best practices and optimizations built in
  • A fantastic and welcoming community!

Getting Started

Install The Serverless Framework via npm: (requires Node V4)

npm install serverless -g

You can either install an existing project or create your own. We recommend starting out with the Serverless-Starter

serverless project install serverless-starter

Or you can create your own project

serverless project create

Refer to our documentation for more info. Enjoy!



Serverless Projects are shareable and installable. You can publish them to npm and install them via the Serverless Framework CLI by using $ serverless project install


Serverless is composed of Plugins. A group of default Plugins ship with the Framework, and here are some others you can add to improve/help your workflow:

  • Meta Sync – Securely sync your the variables in your project’s _meta/variables across your team.
  • Offline – Emulate AWS Lambda and Api Gateway locally to speed up your development cycles.
  • Hook Scripts – Easily create shell script hooks that are run whenever Serverless actions are executed.
  • CORS – Adds support for CORS (Cross-origin resource sharing).
  • Serve – Simulate API Gateway locally, so all function calls can be run via localhost.
  • Webpack – Use Webpack to optimize your Serverless Node.js Functions.
  • Serverless Client – Deploy and config a web client for your Serverless project to S3.
  • Alerting – This Plugin adds Cloudwatch Alarms with SNS notifications for your Lambda functions.
  • Optimizer – Optimizes your code for performance in Lambda. Supports coffeeify, babelify and other transforms
  • CloudFormation Validator – Adds support for validating your CloudFormation template.
  • Prune – Delete old versions of AWS lambdas from your account so that you don’t exceed the code storage limit.
  • Base-Path – Sets a base path for all API Gateway endpoints in a Component.
  • Test – A Simple Integration Test Framework for Serverless.
  • SNS Subscribe – This plugin easily subscribes your lambda functions to SNS notifications.
  • JSHint – Detect errors and potential problems in your Lambda functions.
  • ESLint – Detect errors and potential problems in your Lambda functions using eslint.
  • Mocha – Enable test driven development by creating test cases when creating new functions
  • Function-Package – Package your lambdas without deploying to AWS.
  • Sentry – Automatically send errors and exceptions to Sentry.
  • Auto-Prune – Delete old AWS Lambda versions.


We love our contributors! If you’d like to contribute to the project, feel free to submit a PR. But please keep in mind the following guidelines:

  • Propose your changes before you start working on a PR. You can reach us by submitting a Github issue, or discuss it in the Gitter Chatroom. This is just to make sure that no one else is working on the same change, and to figure out the best way to solve the issue.
  • If you’re out of ideas, but still want to contribute, check out our Road Map. There’s a lot we want to get done, and we’d love your help!
  • Contributions are not just PRs! We’d be grateful for having you in our community, and if you could provide some support for new comers, that be great! You can also do that by answering Serverless related questions on Stackoverflow.
  • You can also contribute by writing. Feel free to let us know if you want to publish a useful original guide in our docs (attributed to you, thank you!) that you feel will help the community.


These consultants use the Serverless Framework and can help you build your serverless projects.

Original URL:  

Original article

Show HN: tesserocr – A Python wrapper for the tesseract-ocr API


A simple, Pillow-friendly,
wrapper around the tesseract-ocr API for Optical Character Recognition

tesserocr integrates directly with Tesseract’s C++ API using Cython
which allows for a simple Pythonic and easy-to-read source code. It
enables real concurrent execution when used with Python’s threading
module by releasing the GIL while processing an image in tesseract.

tesserocr is designed to be Pillow-friendly but can also be used
with image files instead.


Requires libtesseract (>=3.04) and libleptonica.

On Debian/Ubuntu:

$ apt-get install tesseract-ocr libtesseract-dev libleptonica-dev

Optionally requires Cython for building (otherwise the generated
.cpp file is compiled) and Pillow to support PIL.Image objects.


$ pip install tesserocr


Initialize and re-use the tesseract API instance to score multiple

from tesserocr import PyTessBaseAPI

images = ['sample.jpg', 'sample2.jpg', 'sample3.jpg']

with PyTessBaseAPI() as api:
    for img in images:
        print api.GetUTF8Text()
        print api.AllWordConfidences()
# api is automatically finalized when used in a with-statement (context manager).
# otherwise api.End() should be explicitly called when it's no longer needed.

PyTessBaseAPI exposes several tesseract API methods. Make sure you
read their docstrings for more info.

Basic example using available helper functions:

import tesserocr
from PIL import Image

print tesserocr.tesseract_version()  # print tesseract-ocr version
print tesserocr.get_languages()  # prints tessdata path and list of available languages

image ='sample.jpg')
print tesserocr.image_to_text(image)  # print ocr text from image
# or
print tesserocr.file_to_text('sample.jpg')

image_to_text and file_to_text can be used with threading to
concurrently process multiple images which is highly efficient.

Advanced API Examples

GetComponentImages example:

from PIL import Image
from tesserocr import PyTessBaseAPI

image ='/usr/src/tesseract/testing/phototest.tif')
with PyTessBaseAPI() as api:
    boxes = api.GetComponentImages(RIL.TEXTLINE, True)
    print 'Found {} textline image components.'.format(len(boxes))
    for i, (im, box, _, _) in enumerate(boxes):
        # im is a PIL image object
        # box is a dict with x, y, w and h keys
        api.SetRectangle(box['x'], box['y'], box['w'], box['h'])
        ocrResult = api.GetUTF8Text()
        conf = api.MeanTextConf()
        print (u"Box[{0}]: x={x}, y={y}, w={w}, h={h}, "
               "confidence: {1}, text: {2}").format(i, conf, ocrResult, **box)

Orientation and script detection (OSD):

from PIL import Image
from tesserocr import PyTessBaseAPI, PSM

with PyTessBaseAPI(psm=PSM.AUTO_OSD) as api:
    image ="/usr/src/tesseract/testing/eurotext.tif")

    it = api.AnalyseLayout()
    orientation, direction, order, deskew_angle = it.Orientation()
    print "Orientation: {:d}".format(orientation)
    print "WritingDirection: {:d}".format(direction)
    print "TextlineOrder: {:d}".format(order)
    print "Deskew angle: {:.4f}".format(deskew_angle)

Iterator over the classifier choices for a single symbol:

from tesserocr import PyTessBaseAPI, RIL, iterate_level

with PyTessBaseAPI() as api:
    api.SetVariable("save_blob_choices", "T")
    api.SetRectangle(37, 228, 548, 31)

    ri = api.GetIterator()
    level = RIL.SYMBOL
    for r in iterate_level(ri, level):
        symbol = r.GetUTF8Text(level)  # r == ri
        conf = r.Confidence(level)
        if symbol:
            print u'symbol {}, conf: {}'.format(symbol, conf),
        indent = False
        ci = r.GetChoiceIterator()
        for c in ci:
            if indent:
                print 'tt ',
            print 't- ',
            choice = c.GetUTF8Text()  # c == ci
            print u'{} conf: {}'.format(choice, c.Confidence())
            indent = True
        print '---------------------------------------------'

Original URL:  

Original article

Fox ‘Stole’ a Game Clip, Used It In Family Guy and DMCA’d the Original

An anonymous reader shares a TorrentFreak report: This week’s episode of Family Guy included a clip from 1980s Nintendo video game Double Dribble showing a glitch to get a free 3-point goal. Perhaps surprisingly the game glitch is absolutely genuine and was documented in a video that was uploaded to YouTube by a user called ‘sw1tched’ back in February 2009. Interestingly the clip that was uploaded by sw1tched was the exact same clip that appeared in the Family Guy episode on Sunday. So, unless Fox managed to duplicate the gameplay precisely, Fox must’ve taken the clip from YouTube. Whether Fox can do that and legally show the clip in an episode is a matter for the experts to argue but what followed next was patently absurd. Shortly after the Family Guy episode aired, Fox filed a complaint with YouTube and took down the Double Dribble video game clip on copyright grounds. Perhaps YouTube should also be blamed for this.

Share on Google+

Read more of this story at Slashdot.

Original URL:  

Original article

What disturbed me about the Facebook meeting

What disturbed me about the Facebook meeting.

Yesterday, I had an opportunity to meet with some of the senior staff at Facebook, including Mark Zuckerberg and Sheryl Sandberg. I found the meeting deeply disturbing — but not for the reasons you might think.

Before I dig in, since I’ll be talking about bias, let me share a bit about mine. I have been an avid Facebook user for about 8 years. I have 3.2 million followers. I consistently see high engagement on my Facebook page. We have begun using Facebook’s live video streaming platform and are encouraged by the results and plan on utilizing it more. The Facebook staff has always treated me and my staff kindly. They have been responsive, helpful, and available. I came into the meeting today wanting to believe that Facebook was a good, if not perfect, actor.

Walking out of the meeting, I was convinced that Facebook is behaving appropriately and trying to do the right thing. They were humble, open, and listened intently to everyone in the room.

So what disturbed me?

Before I answer, let me give a bit more background.

I am not an expert on data or AI or algorithms. If I had all the time, data, and money in the world, I would not be able to do anything with it.

I accept the possibility there may be evidence that Facebook — or said more clearly, someone or even multiple people who work for Facebook — may have done something that skewed the output in some way to game the system. But so far, I have not seen that evidence. And we looked for it. There are people at my company who understand this stuff far better than I do and they haven’t seen that evidence.

As a reminder, this entire controversy began when one former member of the Trending team — one — claimed Faceboook was suppressing conservative voices.

Now I want to be very clear on this point. This issue, the Trending Topics issue, the reason we are supposed to be up in arms, is a relatively new product that Facebook readily admits is far from perfect. Maybe later we will go into the details of the multiple products and how each one MAY be impacted by an unconscious bias — and how Trending topics in particular MAY be vulnerable to manipulation — but the reason I went to Facebook was not to find out whether there was a small issue, but to see whether there was a real issue. A top-down initiative from management to marginalize conservative voices. We can, and will, debate the merits of some of the complaints against Facebook, but, in my opinion, there is no evidence of a top-down initiative to silence conservative voices.

Even if some employees would want to do so, it would be really hard. It does not seem reasonable to me (or the President of my company who is far more technical then I am) that this bias could have the impact some claim unless it comes from the top. Just a couple bad actors could not move the needle in a significant way.

I don’t know off the top of my head how many employees Facebook has, but it’s a lot more than one. I do know they have 1.6 billion users, and that serving those users can’t be easy. To ensure every user has the experience hoped for is no easy task, but what I saw at Facebook was a team of people who were trying.

So, why did Facebook hold the meeting at all if they are doing nothing wrong? Are they just looking for cover? Is this Kabuki Theatre? Am I a rube?

Maybe, but I’ve been called worse. If I find out there is more to the story, I will blast them — but I don’t think there is.


This is what I heard yesterday:

In a country that is deeply divided, the largest and most important company in human interaction and content consumption saw the conservative movement in an uproar over ONE person, making ONE accusation, against ONE of their products. One story and the pitchforks came out. Now that’s something we conservatives are accustomed to, but not so much for those on the left.

Sure, the purpose of the meeting yesterday was to appease the angry voices, at least to some degree. They took the opportunity to explain to us the details of their products and how they really can’t be consciously biased, although they did admit that unconscious bias can creep in. But to me, the purpose of the meeting from Facebook’s point of view was to acknowledge that if one story and one accusation can bring out the pitchforks, the more fundamental issue to address is a lack of trust.

Conservative media, which was started as a reaction to the inherent bias in the main stream media, does not trust anyone outside our circle. Hell, we don’t even trust the people inside our circle. So it’s understandable that going to Silicon Valley, for many conservatives, is like going into enemy territory.

Silicon Valley is liberal, not a little bit liberal, a lot liberal. For example, I had a lunch yesterday with the very prominent Silicon Valley entrepreneur who donates to Democrats. If the internet is to be believed, he donated $250,000 to an Obama Super PAC. And when he (or was it someone else on his team?) described San Francisco, he described it as “leaning to the left.” Conservatives see San Francisco as falling off a cliff to the left.

That difference in perception is enormous.

I understand why conservatives are suspicious of Silicon Valley. It can feel a lot like the main stream media. But I’ve told you many times that I feel at home in Silicon Valley. I love the energy. These are people who want to innovate and disrupt, they want the government to stop regulating their businesses, they want small business to succeed, they value personal responsibility, etc. Why they are liberal? I don’t know, but in general, they’re not Progressives, at least not the folks I met with today (though I’m sure there were a few).

So, as a general rule, we do not trust them. And with one story, conservatives told Facebook, “There’s nothing left in the trust bank. There’s no goodwill. You must have been scamming us this whole time.”

I know I will be blasted by people for my position on this. I will be called a sellout. I will be accused of taking money or cowering for fear of retribution. (Of course, if I took the other side — that Facebook really was out to screw us, I would also be called names. Oh well, I just call it like I see it.)

So what disturbed me about the Facebook meeting?

I sat through a meeting that, to me, felt like I was attending a Rainbow Coalition meeting, that people (not me) had come with a list of demands.

I looked around the room, I heard the complaints, I listened to the perspectives, and not a single person in the room shared evidence of any wrongdoing. Maybe they had some, but it wasn’t shared. They discussed how Facebook’s organic reach and changes in algorithms has impacted their business. While at the same time admitting that Huffington Post has been struggling with the same issues. I heard people discuss community standards, pages being shut down, posts being removed — and I do believe that happens and it’s something Facebook could do better, and I hope they will — but we were not there because of that. We were there because of this ONE accusation on Trending Topics.

I sat there looking around and heard things like:

1) Facebook has a very liberal workforce. Has Facebook considered diversity in their hiring practice? The country is 2% Mormon. Maybe Facebook’s company should better reflect that reality.

2) Maybe Facebook should consider a six-month training program to help their biased and liberal workforce understand and respect conservative opinions and values.

3) We need to see strong and specific steps to right this wrong.

It was like affirmative action for conservatives. When did conservatives start demanding quotas AND diversity training AND less people from Ivy League Colleges.

I sat there, looking around the room at ‘our side’ wondering, ‘Who are we?’ Who am I? I want to be very clear — I am not referring to every person in the room. There were probably 25–30 people and a number of them, I believe, felt like I did. But the overall tenor, to me, felt like the Salem Witch Trial: ‘Facebook, you must admit that you are screwing us, because if not, it proves you are screwing us.’

What happened to us? When did we become them? When did we become the people who demand the Oscars add black actors based on race?

Someone made a good point at the meeting. The invitation alone from Facebook is staggering. Conservative voices are rarely, if ever, invited to the table for an open dialogue.

Has Twitter, Google, or any other Silicon Valley giant invited conservatives to speak, to understand what we are feeling and seeing? Has any other company or entity said, ‘Yes, many of our employees are liberal, many of us don’t understand you, but our goal is to be an open platform where ALL ideas (with limitations on hate and abuse, etc..) are welcome?’ Has any other organization with 1.6 billion users admitted that while their foundational values are the opposite of ours, it is bad business to cut off a segment of the population?

Mark Zuckerberg really impressed me with his manner, his ability to manage the room, his thoughtfulness, his directness, and what seemed to be his earnest desire to ‘connect the world’. I asked him if Facebook, now or in the future, would be an open platform for the sharing of all ideas or a curator of content? When I asked this question I told him I support his right to pick either direction. They are a private-owned company with investors who can decide what is right for them. They can decide what is right based on profits or based on interests or on principles or on social justice. I hope that they want to be open, but I will fight for their right to be who they want to be even if I do not like their decision. Without hesitation, with clarity and boldness, Mark said there is only one Facebook and one path forward: ‘We are an open platform.’

He went on to discuss that they are far from perfect, that they are always working on the algorithms, the improvement of the newsfeed, the user experience, etc. The goal, though, was very clear — to be an open platform. When I looked into his eyes and his team’s eyes, I believed him and I believed them. I hope I am not proven wrong.

How do I square this with other accusations from people and organizations I respect like CPAC and Matt Schlapp? I can’t. I don’t know what CPAC experienced, and I don’t know if they are right or not. I have seen Steven Crowder’s complaint, and I have no response other than I love Steven and hope he gets the satisfaction he deserves. I have spoken to others off the record who have made similar claims as CPAC’s. How do I square those complaints? I can’t.

Maybe one day, maybe one day soon, I will be able to synthesize these two opposite perspectives. Maybe one party will show solid evidence or a smoking gun. But until then, based on our research and my personal experience with Facebook, I believe they are acting in good faith and share some very deep, fundamental principles with people who believe in the principles of liberty and freedom of speech.

Read more at my website:

Original URL:  

Original article

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: