Linus on compiler warnings and code reviews

On Wed, Sep 2, 2015 at 10:35 PM, David Miller wrote:>> Another merge window, another set of networking changes. I've heard> rumblings that the lightweight tunnels infrastructure has been voted> networking change of the year... and others say that the…

Ridiculously Simple React.js Forms – Without Flux, ES6, JSX, Libraries

Ridiculously Simple React.js Forms – Without Flux, ES6, JSX, Libraries

Update August 2018: A newer, more complete introduction to React’s fundamentals is available at my course “React (without the buzzwords)”. It uses the latest version of React, and covers many topics that “Learn Raw React” is missing, including component…

Baidu launches free OCR API (and nobody noticed?)

Baidu launches free OCR API (and nobody noticed?)

On June 1, 2015 Baidu -the biggest search engine in China- launched a new cloud service: Free OCR API (百度OCR文字识别). The catch? The documentation is in Chinese only. Thus, even so the launch was already three months ago, I could not locate a single English…

Did ATS Change Since the GM?

Copyright © 2019 - K Harrison Privacy and Cookies Terms of Use, I did not think I would be writing about App Transport Security two weeks running. Last week I wrote up my notes on how I was debugging ATS. I was testing the Twitter search API which uses…

The best iPad stylus

The best iPad stylus

This post was done in partnership with The Wirecutter, a buyer's guide to the best technology. Read the full article here. We spent 15 hours testing a total of 13 iPad styluses with a graphic designer and independently arrived at the same conclusi...

'Let's Encrypt' project issues its first free certificate

'Let's Encrypt' project issues its first free certificate

Last year, the Electronic Frontier Foundation along with Mozilla and Cisco launched an initiative called "Let's Encrypt" that promised to hand out free certificates anyone can use. Today, the team has released its first one -- it's only available t...

Promise-arrays: A set of tools to filter/map arrays asynchronously

A super small library to help you map and filter arrays with async operations. The only hard dependency is Promise so it needs to be present some how in your project (polyfill or native). Compatible with NodeJS, CommonJS, AMD and Browser Globals. $ npm…

Webpack and React.js starter kit

Webpack and React.js starter kit

Sign in Sign up GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together. Sign up Use Git or checkout with SVN using the web URL. Want to be notified of new releases in …

HTML5/CSS3: Advanced Topics

HTML5/CSS3: Advanced Topics

Use this tutorial as a guide to learn HTML5 and CSS3. Each unit contains an annotated lesson that can assist you in developing your Web Development skills. This has the em tag This text has the strong tag /* CSS3: Styles */ .border-radius{ …

Raspberry Pi gets an official touchscreen display

Raspberry Pi gets an official touchscreen display

Although it's pretty easy to hook up a Raspberry Pi to a screen using its HDMI port, it's not exactly the most portable of solutions (especially if there isn't a TV or monitor around). The Raspberry Pi Foundation recognized this, so it set about fi...

Recommended Reading: The story behind Google's new logo

Recommended Reading: The story behind Google's new logo

Recommended Reading highlights the best long-form writing on technology and more in print and on the web. Some weeks, you'll also find short reviews of books that we think are worth your time. We hope you enjoy the read. Evolving the Google Ident...

Under the Hood of the Amazon EC2 Container Service

Under the Hood of the Amazon EC2 Container Service

In my last post about Amazon EC2 Container Service (Amazon ECS), I discussed the two key components of running modern distributed applications on a cluster: reliable state management and flexible scheduling. Amazon ECS makes building and running…

Percona Toolkit and systemd

After some recent work with systemd I’ve realized it’s power and I can come clean that I am a fan. I realize that there are multitudes of posts out there with arguments both for and against ... The post Percona Toolkit and systemd appeared first on MySQL…

Booking.com’s Jean-François Gagné on Percona Live Amsterdam

Booking.com’s Jean-François Gagné on Percona Live Amsterdam

Booking.com, one of the world’s leading e-commerce companies, helps travels book nearly 1 million rooms per night. Established in 1996, Booking.com B.V. guarantees the best prices for any type of property, from small, family-run bed ... The post…

Raspberry Pi and rPlay: A cheap and fun way to do AirPlay mirroring

Raspberry Pi and rPlay: A cheap and fun way to do AirPlay mirroring

Perhaps you'd like to mirror your iPad or iPhone screen on your 60-inch HDTV, but you don't want to buy an Apple TV right now because a new one is just around the corner. If you already have one of those $35 all-purpose tiny computing devices called a…

Xcode Code Coverage

Xcode Code Coverage

Copyright © 2019 - K Harrison Privacy and Cookies Terms of Use, Code coverage tools are a useful way to find untested code in a project but getting them to work with Xcode was a real pain. Xcode 7 now has code coverage fully integrated making it simple…

Loaders.css - Pure css loading animations

A collection of loading animations written entirely in css. Each animation is limited to a small subset of css properties in order to avoid expensive painting and layout calculations. I've posted links below to some fantastic articles that go into this in…

Supporting IPv6 in iOS 9

At WWDC 2015 we announced that iOS 9 will support IPv6-only network services. All apps submitted to the App Store must support IPv6 starting in early 2016. To make sure your app is compatible, use the networking frameworks (e.g., “NSURLSession”), avoid use…

Intro to Promises in JavaScript

Intro to Promises in JavaScript

This is a brief introduction to using Promises in JavaScript, primarily aimed at frontend developers. See here for a Chinese translation. A Promise is a programming construct that can reduce some of the pains of asynchronous programming. Using Promises…

Stop using React for EVERYTHING

Stop using React for EVERYTHING

So you learned React. So you added ES6 integration. So you got good at abstracting your code into components. So you…stop. We don’t care. Just because you learned a solid framework with some good use cases does not make you a genius. And it DEFINITELY…

MicroServices (2014)

MicroServices (2014)

a definition of this new architectural term The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no…

Show HN: ObjectiveFS – Shared file system for EC2 and laptop

Show HN: ObjectiveFS – Shared file system for EC2 and laptop

Never run out of disk again The shared file system that scales automatically, with unlimited storage and high performance. Never run out of disk again The shared file system that scales automatically, with unlimited storage and high performance. …

Advanced Query Tuning in MySQL 5.6 and MySQL 5.7 Webinar: Q&A

Thank you for attending my July 22 webinar titled “Advanced Query Tuning in MySQL 5.6 and 5.7” (my slides and a replay available here). As promised here is the list of questions and my answers ... The post Advanced Query Tuning in MySQL 5.6 and MySQL 5.7…

3 categories of apps that can make you healthy at work

3 categories of apps that can make you healthy at work

By Spencer Blackman, Entrepreneur Contributor and Primary Care Physician at One Medical Group Anyone who's ever worked long hours in an office knows that it can be a challenge to stay healthy. And all that time spent sitting doesn't help matters....

The language of compression

The language of compression

Storage. Everyone needs it. Whether your data is in MySQL, a NoSQL, or somewhere in the cloud, with ever-growing data volumes – along with the need for SSDs to cut latency and replication to provide ... The post The language of compression appeared first…

Settings to make Git faster on Vagrant

Settings to make Git faster on Vagrant

Most web based tech startups are deploying to cloud hosted Linux machines. At the same time, only a small percentage of engineers actually run Linux on their development desktops. Enter Vagrant, an easy way to provision local Linux development environments…

Thinking in Components: From React.js, to CSS to Web Components

Across disciplines of design, whether it's physical architecture, graphic design or software design - ideas, patterns and existing concepts are constantly reused and built on top of. The strongest fundamental design principles can cross-over between…

Create a Self Signed SSL Certificate on Nginx for Ubuntu 15.04

SSL stands for Secure Sockets Layer. An SSL certificate encrypts the data that is sent and received by the client without the possibility of someone reading the data in the middle, mostly known as man in the middle attacks. In this tutorial, we will…

Fuzzing a DNS parser written in Go

Fuzzing a DNS parser written in Go

Here at CloudFlare we are heavy users of the github.com/miekg/dns Go DNS library and we make sure to contribute to its development as much as possible. Therefore when Dmitry Vyukov published go-fuzz and started to uncover tens of bugs in the Go standard…

Getting started with maps in Python

Getting started with maps in Python

Kristoffer over at rpsychologist.com wrote a really nice tutorial on getting up to speed with maps in R. It looked something like this. Felt a little left out, so I decided to make a port in Python. You can follow along below or if you prefer this as an…

My Slow Internet vs. Docker

I work in New York City, and I live in a micro-studio. The apartment offers Wi-Fi, but unfortunately, it has a very low bandwidth and is often unreliable. I also travel frequently and I spend a lot of my time on trains, on airplanes, and in hotels that…

Profiling in Python

Profiling in Python

Here at HumanGeo we use a lot of Python, and it is tons of fun. Python is a great language for writing beautiful and functional code amazingly fast, and it is most definitely my favorite language to use both privately and professionally. However, even…

Show HN: Cloud Storage with ZFS send and receive over SSH

Show HN: Cloud Storage with ZFS send and receive over SSH

rsync.net now supports ZFS send and receive over SSH If you're not sure what this means, our product is Not For You. In 2012 rsync.net transitioned to ZFS as the base of it's cloud storage platform.[1] In addition to enhanced data safety and…

A LinkedIn Hack That Led to a $120k Investment

A LinkedIn Hack That Led to a $120k Investment

This month’s theme for The Hustle is people who game the system. This is the last of the weekly series. I moved to America four years ago, when I was 22. Since then, I’ve co-founded two startups that have raised ~$90 million in venture capital and have…

Generate Regex from Examples

If you like this tool, please cite our works: Bartoli, De Lorenzo, Medvet, Tarlao, Inference of Regular Expressions for Text Extraction from Examples, IEEE Transactions on Knowledge and Data Engineering (TKDE), 2016 The source code is available on…

Raspberry Pi 2 Cluster Case, Part 2

Raspberry Pi 2 Cluster Case, Part 2

This is the second post of a series about Raspberry PI 2 BigData cluster case. From Raspberry PI 2 Cluster Case pt1, I drew up a rough sketch with certain goals I set out to. They are, Able to fit in 6 RPI2 in a small, contained volume. Has to be…

Thanks Pivotal, Hello Redis Labs

I consider myself very lucky for contributing to the open source. For me OSS software is not just a license: it means transparency in the development process, choices that are only taken in order to improve software from the point of view of the users,…

The Top 12 (Free) UI/UX Design Tools

The Top 12 (Free) UI/UX Design Tools

The amazing and intimidating thing is that there are a myriad of challenges in UI & UX Design, and exponentially more potential solutions. The best kinds of solutions are ones that can be seamlessly integrated into the current tools of choice, and those…

How we created an interactive map of Europe with 100k+ areas

How we created an interactive map of Europe with 100k+ areas

Recently we published an interactive map that visualizes where the population in Europe grows and where it declines. It is a very detailed map with 119.406 colored polygons. You can hover each of them to get the information of the specific area. In this…

Reddit's chief engineer quits after losing faith in site's direction

Reddit's chief engineer quits after losing faith in site's direction

Reddit's VP of Engineering Bethanye Blount has quit after just two months on the job, telling Re/Code that she lost confidence in its new direction. "There are some very aggressive implied promises being made to the community -- in comments to mods, ...

3 amazing technologies that could be part of your new smartphone

3 amazing technologies that could be part of your new smartphone

That little computer you carry around in your pocket is already your camera, navigation device, instant messaging machine, ride-hailing tool and phone. But it's very possible that, in the not-so-distant future, what we now refer to as "smartphones" w...

How to create a rock-solid MySQL database backup & recovery strategy

How to create a rock-solid MySQL database backup & recovery strategy

Have you ever wondered what could happen if your MySQL database goes down? Although it’s evident such a crash will cause downtime – and surely some business impact in terms of revenue – can you do something to reduce this impact? The simple answer is “yes”…

The best water-resistant Bluetooth speakers

The best water-resistant Bluetooth speakers

This post was done in partnership with The Wirecutter, a list of the best technology to buy. Read the full article below at TheWirecutter.com. If you are looking for the best all-around value in a water-resistant Bluetooth speaker today, the best on...

The vanishing: What happened to Google Street View's missing streets

The vanishing: What happened to Google Street View's missing streets

With the arrival of El Capitan on Google Street View last month, you can now haul yourself virtually up one of the most famous rock faces in the world. Navigating certain streets in urban areas, however, can still be a challenge. As Google expands Street…

Google Optimization Tools

OR-Tools is an open source software suite for optimization, tuned for tackling the world's toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming. After modeling your problem in the programming…

Material Design Lite Components in HTML/CSS/JS

Material Design Lite Components in HTML/CSS/JS

An implementation of Material Design components in vanilla CSS, JS, and HTML. Material Design Lite (MDL) lets you add a Material Design look and feel to your static content websites. It doesn't rely on any JavaScript frameworks or libraries. Optimized…

Airbnb JavaScript Style Guide

Note: this guide assumes you are using Babel, and requires that you use babel-preset-airbnb or the equivalent. It also assumes you are installing shims/polyfills in your app, with airbnb-browser-shims or the equivalent. This guide is available in other…

How to Write a Git Commit Message (2014)

How to Write a Git Commit Message (2014)

If you browse the log of any random Git repository, you will probably find its commit messages are more or less a mess. For example, take a look at these gems from my early days committing to Spring: Yikes. Compare that with these more recent commits from…

The best Lightning cable

The best Lightning cable

This post was done in partnership with The Wirecutter, a list of the best technology to buy. Read the full article below at TheWirecutter.com After measuring the charging speed of nearly 50 Lightning cables and sending the top 11 to our electrical e...

Python Is Not C

Update on December 8, 2015. An updated version of this post is available at Python Is Not C: Take Two. I have been using Python a lot lately, for various data science projects. Python is known for its ease of use. Someone with coding experience can use…

Collection of Tools for Building Web APIs

Collection of Tools for Building Web APIs

This is a collection of useful resources for building RESTful HTTP+JSON APIs. There are a lot of good tools and entire ecosystems out there! It can be overwhelming not knowing what options are available, so you can use this as a reference starting point. …

Yet Another Puppet vs. Chef vs. Ansible vs. Salt Topic

Whenever there is a configuration management discussion, there is always a debate that spins around "Puppet vs Chef vs Ansible vs SaltStack" topic (ok CFEngine people, don't be pissed, i will talk about it too). In general these discussions are…

RabbitMQ reliability troubles and workarounds

RabbitMQ reliability troubles and workarounds

This is a story of how my understanding about messaging with RabbitMQ evolved from ignorant to usable while hitting my head into the walls of the CAP theorem. I hope it will save some time for someone out there. Of course we will have guaranteed delivery!…

Using Cgroups to Limit MySQL and MongoDB memory usage

Quite often, especially for benchmarks, I am trying to limit available memory for a database server (usually for MySQL, but recently for MongoDB also). This is usually needed to test database performance in scenarios with different memory limits. I have…

All GoLang Books Have Been Published

The Little Go Book is a free introduction to Google's Go programming language. It's aimed at developers who might not be quite comfortable with the idea of pointers and static typing. It's longer than the other Little books, but hopefully still captures…

A Go “clone” of the great and famous Requests library

A Go "clone" of the great and famous Requests library GRequests is licensed under the Apache License, Version 2.0. See LICENSE for the full license text * Responses can be serialized into JSON and XML * Support for the following HTTP verbs GET, HEAD,…

Regexes: The Bad, the Better, and the Best

Regexes: The Bad, the Better, and the Best

Regular expressions are incantations that we developers wield mightily when the time calls. Yet, do we always wield them deftly? Regular expressions are a delicate and precise language. They are crafted with careful deliberation into powerful forces that…

Percona XtraDB Cluster (PXC): How many nodes do you need?

Percona XtraDB Cluster (PXC): How many nodes do you need?

A question I often hear when customers want to set up a production PXC cluster is: “How many nodes should we use?” Three nodes is the most common deployment, but when are more nodes needed? They also ask: “Do we always need to use an even number of nodes?”…

Fluent JavaScript

It is not enough for code to simply work. Good code is meant to be easy to understand, and it is much easier to understand code that is readable. Traditionally, algorithms have often been explained in large comment blocks. The notion that writing many…

Building Analytics at 500px

Building Analytics at 500px

A look at building analytics from the ground up at a mid-sized start-up and some of the challenges faced along the wayJoining 500px as Analytics Lead was a quick decision. I saw an amazing opportunity that most analysts would drool over — the chance to…

Gor – A simple http traffic replication tool written in Go

GoReplay is an open-source network monitoring tool which can record your live traffic, and use it for shadowing, load testing, monitoring and detailed analysis. As your application grows, the effort required to test it also grows exponentially. GoReplay…

Getting EXPLAIN information from already running queries in MySQL 5.7

When a new version of MySQL is about to be released we read a lot of blog posts about the performance and scalability improvements. That’s good but sometimes we miss some small features that can help us a lot in our day-to-day tasks. One good example is…

Julien Danjou: Timezones and Python

Julien Danjou: Timezones and Python

Recently, I've been fighting with the never ending issue of timezones. I never thought I would have plunged into this rabbit hole, but hacking on OpenStack and Gnocchi I felt into that trap easily is, thanks to Python. To get a glimpse of the complexity…

How to receive a million packets per second

What We Do How to receive a million packets per second Last week during a casual conversation I overheard a colleague saying: "The Linux network stack is slow! You can't expect it to do more than 50 thousand packets per second per core!" That got me…

Speed up GROUP BY queries with subselects in MySQL

We usually try to avoid subselects because sometimes they force the use of a temporary table and limits the use of indexes. But, when is good to use a subselect? This example was tested over table a (1310723 rows), b, c and d ( 5 rows each) and with MySQL…

PurifyCSS – Remove unused CSS

PurifyCSS – Remove unused CSS

A function that takes content (HTML/JS/PHP/etc) and CSS, and returns only the used CSS. PurifyCSS does not modify the original CSS files. You can write to a new file, like minification. If your application is using a CSS framework, this is especially…

iOS 8.3 Mail.app inject kit

iOS 8.3 Mail.app inject kit

Back in January 2015 I stumbled upon a bug in iOS's mail client, resulting in HTML tag in e-mail messages not being ignored. This bug allows remote HTML content to be loaded, replacing the content of the original e-mail message. JavaScript is disabled in…

Monitoring growing memcached

The engineers at Vinted began the year working on the improvement of the caching layer. We managed to significantly improve the performance of our Rails application and substantially reduce the number of database queries. But this additional load to our…

How to undo almost anything with Git

How to undo almost anything with Git

One of the most useful features of any version control system is the ability to “undo” your mistakes. In Git, “undo” can mean many slightly different things. When you make a new commit, Git stores a snapshot of your repository at that specific moment in…

MaxScale: A new tool to solve your MySQL scalability problems

MaxScale: A new tool to solve your MySQL scalability problems

Ever since MySQL replication has existed, people have dreamed of a good solution to automatically split read from write operations, sending the writes to the MySQL master and load balancing the reads over a set of MySQL slaves. While if at first it seems…

Distributed Systems Are a UX Problem

Distributed systems are not strictly an engineering problem. It’s far too easy to assume a “backend” development concern, but the reality is there are implications at every point in the stack. Often the trade-offs we make lower in the stack in order to buy…

Google Design

Explore this month's featured podcast collection to get design inspiration and insights for the new year. Method explores the career journeys of designers at Google, while Design Notes goes in-depth with designers working in diverse creative disciplines.

Windows Store, basta app un tanto al chilo

Windows Store, basta app un tanto al chilo

Microsoft promette di fare pulizia nello store per Windows 10, un'operazione che costringera' gli sviluppatori a impegnarsi un po' di piu' per realizzare app che abbiano quantomeno una parvenza di utilita'

Why We Use Go

Why We Use Go

Go is decidedly polarizing. While many are touting their transition to Go, it has become equally fashionable to criticize and mock the language. As Bjarne Stroustrup so eloquently put it, “There are only two kinds of programming languages: those people…