FEX 技术周刊 - 2018/04/16
IEEE Pacific Visualization Symposium
PacificVis is a unified visualization symposium, welcoming all areas of visualization research such as: information visualization, scientific visualization, graph and network visualization, visual analytics, and specific applications such as (but not limited to) security-, software- and bio-visualization.
The Eponymous Laws of Tech
A compendium of tech-related laws, fallacies, and other wisdom
Front-End Developer Handbook 2018
This is a guide that anyone could use to learn about the practice of front-end development. It broadly outlines and discusses the practice of front-end engineering: how to learn it and what tools are used when practicing it in 2018. The book should not be considered a comprehensive outline of all resources available to a front-end developer. The value of the book is tied up in a terse, focused, and timely curation of just enough categorical information so as not to overwhelm anyone on any one particular subject matter.
Announcing Flutter beta 2
Improvements in our second beta: Easier installation, Improved developer tools, Improved asset system, Dart 2 enabled by default, Dart 2 and optional new/const.
附：Why Flutter Will Change Mobile Development for the Best
This book contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s gonna be a blast.
Node.js can HTTP/2 push!
Since introducing HTTP/2 into Node.js 8 in July of 2017, the implementation has undergone several rounds of improvements. Now we’re almost ready to lift the “experimental” flag. It’s best to try out HTTP/2 support with Node.js version 9, which has all the latest fixes and improvements. 另附：V8 6.6 Landed on Node.js Core, npm Acquires ^Lift Security and Node Security Platform.
Creating custom URL shortener with Nodejs
Here, I am using Nodejs for building the shortener service.
Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS
In this article, we are going to describe an architecture known as the onion architecture. The onion architecture is a software application architecture that adheres to the SOLID principles. It uses the dependency injection principle extensively, and it is profoundly influenced by the Domain Driven Design (DDD) principles and some functional programming principles.
Automated Canary Analysis at Netflix with Kayenta
We have open sourced Kayenta, a platform for Automated Canary Analysis (ACA). Kayenta leverages lessons learned over the years of delivering rapid and reliable changes into production at Netflix. It is a crucial component of delivery at Netflix as it reduces the risk from making changes in our production environment. In addition, Kayenta has increased developer productivity by providing engineers with a high degree of trust in their deployments.
Looking to Listen: Audio-Visual Speech Separation
People are remarkably good at focusing their attention on a particular person in a noisy environment, mentally “muting” all other voices and sounds. Known as the cocktail party effect, this capability comes natural to us humans. However, automatic speech separation — separating an audio signal into its individual speech sources — while a well-studied problem, remains a significant challenge for computers.
Give Meaning To 100 Billion Events A Day - The Analytics Pipeline At Teads
In this article, we describe how we orchestrate Kafka, Dataflow and BigQuery together to ingest and transform a large stream of events. When adding scale and latency constraints, reconciling and reordering them becomes a challenge, here is how we tackle it.
Fixing reachability to 188.8.131.52, GLOBALLY!
This blog focuses on IPv4. We provide four IPs (two for each IP address family) in order to provide a path toward the DNS resolver independent of IPv4 or IPv6 reachability.
Fuchsia is not Linux
This document is a collection of articles describing the Fuchsia operating system, organized around particular subsystems. Sections will be populated over time.
Why SQLite Does Not Use Git
SQLite does not use the Git version control system. SQLite uses Fossil instead, which is a version control system that was specifically designed and written to support SQLite. People sometimes ask why SQLite does not use the Git version control system like everybody else. This article attempts to answer that question. Also, in section 3, this article provides hints to Git users about how they can easily access the SQLite source code.
The Mathematics of 2048: Optimal Play with Markov Decision Processes
In this post, we’ll use a mathematical framework called a Markov Decision Process to find provably optimal strategies for 2048 when played on the 2x2 and 3x3 boards, and also on the 4x4 board up to the 64 tile.
WHY DOES “=” MEAN ASSIGNMENT?
The usual answer is “because of C”. But that’s just passing the buck: why does C do it that way? Let’s find out!
另附：[For mathematicians, = does not mean equality] (https://jeremykun.com/2018/04/13/for-mathematicians-does-not-mean-equality/)
GitHub 10 years
On this day 10 years ago, GitHub officially went live. We started with a pretty simple purpose: to connect developers and make it easier for them to work together on projects with Git. In the last decade, we’ve evolved as a company and as a platform, but the reason why GitHub exists is fundamentally the same. What makes this platform special isn’t an idea or an invention. It’s the people using it—and GitHub is celebrating 10 years because of you, our community.
CKEditor 5 v1.0.0 beta released
The plan for the first beta release was to continue implementing new features, but our main goal was to review the entire public API of CKEditor 5 Framework and improve it where possible.
Today we’re shipping our first minor release, v4.1! This release comes later than expected and some of the fixes we intended, but there’s still a boatload of fixes, docs updates, build tool changes, and even a few small new features.
There haven’t been any big complaints with the previous beta, so it’s time to graduate to a release candidate. Please give this a try in your applications and let us know if you see any issues. If we’re all clear, I’ll get 4.0 released in the next week!
New WebKit Features in Safari 11.1
Service Worker API, Payment Request API for Apple Pay, Beacon API, Directory Upload & Clipboard API Updates…
另附：Chrome and Firefox will support a new standard for password-free logins、IPFS Companion 2.2.0 brings window.ipfs to your Browser/、Move DOM 4.1 to Candidate Recommendation.
Sneak Peek at WebAssembly Studio
WebAssembly.Studio is an online IDE (integrated development environment) that helps you learn and teach others about WebAssembly. It’s also a Swiss Army knife that comes in handy whenever working with WebAssembly.
New in Electron 2: In-App Purchases
One of the highlights from this new major version is a new inAppPurchase API for Apple’s Mac App Store. In-app purchases enable content or subscriptions to be purchased directly from within apps. This gives developers an easy way to embrace the freemium business model, wherein users pay nothing to download an app and are offered optional in-app purchases for premium features, additional content, or subscriptions.
各大 App 可以直接打开微信小程序
Vue-powered Static Site Generator
Helping react-motion and animated to become best friends.
另附：Why React needed yet another animation library. Introducing: react-spring.
Analytics integration for Redux and ngrx/store
Beautiful, accessible drag and drop for lists with React.js
A library for finite state machines.
Cytoscape.js is a fully featured graph theory library. Do you need to model and/or visualise relational data, like biological data or social networks? If so, Cytoscape.js is just what you need. Cytoscape.js contains a graph theory model and an optional renderer to display interactive graphs. This library was designed to make it as easy as possible for programmers and scientists to use graph theory in their apps, whether it’s for server-side analysis in a Node.js app or for a rich user interface.
In-Browser ML-Powered Object Detection Demo
Using Tensorflow.js, we’re able to use deep learning to detect objects from your webcam! Your webcam feed never leaves your computer and all the processing is being done locally! (Trust me, we can’t afford the servers to store/process your data).
EdgeDB: A New Beginning
In a few weeks we will release the first public technology preview of EdgeDB—a new open-source object-relational database. This post is a brief introduction and the first in the series. Before diving in, let’s take a look what motivated us to build EdgeDB.
next generation video: Introducing AV1
AV1 is a new general-purpose video codec developed by the Alliance for Open Media. The alliance began development of this new codec using Google’s VPX codecs, Cisco’s Thor codec, and Mozilla’s/Xiph.Org’s Daala codec as starting point. AV1 leapfrogs the performance of VP9 and HEVC, making it a next-next-generation codec. The AV1 format is and will always be royalty-free with a permissive FOSS license.
另附：Facebook - AV1 beats x264 and libvpx-vp9 in practical use case
Android container in Chrome OS
This document outlines the process by which Android runs in a Linux container in Chrome OS. This document explains how the container for Android master works unless otherwise noted. The container for N may work in a slightly different way.
go-internals is a work-in-progress book about the internals of the Go (1.10+) programming language.
Structured text tools
The following is a list of text-based file formats and command line tools for manipulating each.
How To Design Emotional Interfaces For Boring Apps
Humans can’t endure boredom for a long time, which is why products that are built for non-exciting, repetitive tasks so often get abandoned and gather dust on computers and phones. But boredom, according to psychologists, is merely lack of stimulation, the unfulfilled desire for satisfying activity. So what if we use the interface to give them that stimulation? I sat with product designers here at MacPaw, who spend their waking hours designing not-so-sexy things like duplicate finders and encryption apps, and they shared five secrets to more emotional UIs: gamification, humor, animation, illustration, and mascots.
Brutalist design is the bad influence we all need
The UX/UI world has gradually come to be dominated by guidelines and aesthetics belonging to companies like Apple or Google. It’s absolutely normal and predictable that this would happen, considering most apps are designed to seamlessly fit into the user experience of technologies belonging to these big titans.
Top 3 Things Charter Learned About Reusable Designs and Components
Modern web app development is complicated. Even when you go it alone, you’re faced with innumerable decisions. Which libraries and frameworks will you choose? How will you structure your code? What syntax rules will you follow? How will you build and deploy the app?
Color: From Hexcodes to Eyeballs
Why do we perceive background-color: #9B51E0 as this particular purple? This is one of those questions where I thought I’d known the answer for a long time, but as I inspected my understanding, I realized there were pretty significant gaps. Through an exploration of electromagnetic radiation, optical biology, colorimetry, and display hardware, I hope to start filling in some of these gaps.
Light or Dark UI? Tips to Choose a Proper Color Scheme for User Interface
Today we are going to discuss one of the frequent choices UI designers have to make project by project: which scheme is better for the interface, light or dark?
Pitfalls of Card UIs
An optimistic design choice that ends up compounding complexity.
Publishers Haven’t Realized Just How Big a Deal GDPR is
So, in this article, I’m going to talk about GDPR as a concept in relation to media trends, and consider what this means for your editorial strategies. I hope I can help you realize just how big a change this actually is.
另附：America should borrow from Europe’s data-privacy law、Facebook Urged to Adopt GDPR Globally as a Standard
It’S Time For An Rss Revival
THE MODERN WEB contains no shortage of horrors, from ubiquitous ad trackers to all-consuming platforms to YouTube comments, generally. Unfortunately, there’s no panacea for what ails this internet we’ve built. But anyone weary of black-box algorithms controlling what you see online at least has a respite, one that’s been there all along but has often gone ignored. Tired of Twitter? Facebook fatigued? It’s time to head back to RSS.
另附：RSS is undead.
Hello: A new social network founded by Orkut’s creator
hello is the first social network built on loves, not likes. I designed hello to help you connect with people who share your passions. hello connects us all. Think about it: you can say “hello” in any language and people will understand. “Hello” is probably the most widely spoken word in the world after “Okay.” Aló, halo, ʾāllo, alô, hallo, alló, hello. Fear and hatred have no place when you make such a simple and friendly gesture to someone else. So come join me, and make some new friends. Say hello, and love your world.
How To Be a Systems Thinker
At the moment, I’m asking myself how people think about complex wholes like the ecology of the planet, or the climate, or large populations of human beings that have evolved for many years in separate locations and are now re-integrating. To think about these things, I find that you need something like systems theory. So, I went back to thinking about systems theory two or three years ago, which I hadn’t for quite a long time.
[译]增长黑客 VS 价值黑客
专注于一个指标，并试图不惜一切代价将其提高，是实现增长的合理途径吗？在工程师拉杰德拉 · 拉斯马纳（Rajendra Rusmana）看来，这种做法偏离了产品的本质——为用户提供价值。按照这种方式去推动增长，必然会到达瓶颈，因为增长黑客本质上是一个最优化问题。为了突破这个瓶颈，应该将目光转移到价值上，成为一个价值黑客。