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.
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!
Beautiful, consistent form controls that don’t compromise browser accessibility.
Grid
An “Implicit Grid” created using flexbox. Just a single class to create a grid.
Typography
All elements and components align perfectly to the baseline grid.
Sass
Easily customize the default variables and include only the files you need.
BEM
The BEM Methodology is used for naming conventions, because it’s simple and flexible.
KSS
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.
Forms
Form controls are unified in both their display and in their semantic markup. Because they are modified using only CSS, accessibility doesn’t suffer.
Buttons
A default button is applied with the .btn class or automatically on button tags or button/submit inputs.
Default Secondary Link
Grid
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.
.grid--medium
The grid will start 600px screen width.
.grid--large
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.
.column--light
Half the weight of the default column.
.column--heavy
Twice the weight of the default column.
Wrappers
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.
Typography
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.
Paragraph
Headline 2
Unordered item
Unordered item
Headline 3
Ordered item
Ordered item
Headline 4
Preformatted
Headline 5
Blockquote
Headline 6
Table Header
Table Header
Table Cell
Table Cell
Utilities
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
Feedback
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.
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
Production.
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.
Background
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.
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.
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: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/1VWNvaNCfug/
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
TheIndigo 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.
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.
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.
Features
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 Projects are shareable and installable. You can publish them to npm and install them via the Serverless Framework CLI by using $ serverless project install
Plugins
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
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.
Consultants
These consultants use the Serverless Framework and can help you build your serverless projects.
Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/reeT0pWl_7s/serverless
A simple, Pillow-friendly,
wrapper around the tesseract-ocr API for Optical Character Recognition
(OCR).
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.
Optionally requires Cython for building (otherwise the generated
.cpp file is compiled) and Pillow to support PIL.Image objects.
Installation
$ pip install tesserocr
Usage
Initialize and re-use the tesseract API instance to score multiple
images:
from tesserocr import PyTessBaseAPI
images = ['sample.jpg', 'sample2.jpg', 'sample3.jpg']
with PyTessBaseAPI() as api:
for img in images:
api.SetImageFile(img)
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
fromPILimport Image
print tesserocr.tesseract_version() # print tesseract-ocr versionprint tesserocr.get_languages() # prints tessdata path and list of available languages
image = Image.open('sample.jpg')
print tesserocr.image_to_text(image) # print ocr text from image# orprint 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:
fromPILimport Image
from tesserocr import PyTessBaseAPI
image = Image.open('/usr/src/tesseract/testing/phototest.tif')
with PyTessBaseAPI() as api:
api.SetImage(image)
boxes = api.GetComponentImages(RIL.TEXTLINE, True)
print'Found {} textline image components.'.format(len(boxes))
for i, (im, box, _, _) inenumerate(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)
Iterator over the classifier choices for a single symbol:
from tesserocr import PyTessBaseAPI, RIL, iterate_level
with PyTessBaseAPI() as api:
api.SetImageFile('/usr/src/tesseract/testing/phototest.tif')
api.SetVariable("save_blob_choices", "T")
api.SetRectangle(37, 228, 548, 31)
api.Recognize()
ri = api.GetIterator()
level =RIL.SYMBOLfor r in iterate_level(ri, level):
symbol = r.GetUTF8Text(level) # r == ri
conf = r.Confidence(level)
if symbol:
printu'symbol {}, conf: {}'.format(symbol, conf),
indent =False
ci = r.GetChoiceIterator()
for c in ci:
if indent:
print'tt',
print't- ',
choice = c.GetUTF8Text() # c == ciprintu'{} conf: {}'.format(choice, c.Confidence())
indent =Trueprint'---------------------------------------------'
Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/uidy5wf5tzE/tesserocr
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.
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.
Why?
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.