Search Results

19 matches found for 'networking'

RNN - Recurrent Neural Networks

Recurrent Neural Networks Intuition For sequential modeling, we may have inputs that can vary wildly and depend on more contextual information that a feed-forward neural network (the simplest of neural networks) can't handle.

CNN - Convolutional Neural Networks

Intuition Compared to RNN, CNN tackles a different kind of issue. When working with images or data that has spatial structure, it turns out that the conventional way of converting the input data to a 1D array (a flattened version) produces some lackluster results.

TCP/IP and HTTP - Part 1

A Very Brief History TCP/IP stands for Transmission Control Protocol / Internet Protocol. During the Cold War, in retaliation of the USSR's Sputnik, the U.S. Department of Defense (DoD) started ARPA, the Advanced Research Projects Agency.


DNS (Domain name system) is essentially a phonebook for internet addresses on the Internet. Every URL with alphanumeric characters are mapped to IP addresses, either IPv4 or IPv6. That means https://google.

OpenVPN / DNS / resolv.conf

For Unix users with OpenVPN clients, you may notice that when connecting to a VPN server via OpenVPN, your DNS servers aren't working properly. This might result in DNS leaks or domain name resolutions that don't work at all (i.

Machine Learning Basics

Supervised Learning In supervised learning, we take some data and predict an output in a pre-defined structure. There are two categories: Regression: When a function is given some input variables, what is the continuous output? i.

Web Development 101

HTTP vs. HTTPS HTTP stands for Hypertext Transfer Protocol. It typically runs on TCP port 80. It is a protocol for sending data through browsers in the form of webpages and such. One major flaw with HTTP is that it is vulnerable to man in the middle attacks.

CAP Patterns

The CAP Theorem dictates that only two of its three characteristics can be guaranteed at any given time. Intro to CAP Consistency Every read will be based off of the latest write Availability Every request will be given a response, although the response data might be stale Partition Tolerance It can handle network partitions or network failures MTV's The Real World If your service is in the cloud, the P in Partitioning has to always be accounted for.

Data stores in Software Architectures

Use Cases There are many ways to store your data. In this article we'll walk through some examples of data storage in common system designs. Reminder: There is no single best storage choice and they may vary heavily depending on things such as access patterns and scale.

Forward Proxy and Reverse Proxy

Proxies have a wide variety of use cases with great benefits. In this article, I go over two variations of proxies. Forward Proxy One day, in a school classroom setting, a teacher wants an anonymous survey filled out by all of the students in the classroom.

Distributed scaling with Relational Databases

Background A lot of articles will talk about how to scale databases. Typically, they will talk about the purpose and the general idea of sharding and replication, but often times these topics are explained separately and not so much in conjunction.

Asynchrony vs. Multithreading

Asynchrony Asynchronous programming, also known as event-driven programming, is built on foundations of Futures/promises. The basic idea is that instead of having a thread wait for a blocked call to finish (i.

Ether and Ethereum is not the same thing

Ether vs. Ethereum Ethereum is... A network built on blockchain technology It's focus is to have decentralized apps (DAPPS) Based on Smart Contracts: A self-executing contract where given an input, a certain is output is guaranteed.

Quick Numbers in Software Engineering Cheatsheet

This is the front... just so you know Preface This article is a cheatsheet and a collection of tips/tricks for doing back of the envelope calculations. Numbers Data Types to Bytes Note: keep in mind that these are general estimates.

Atomic operations with Elasticsearch

Preface Elasticsearch is a distributed, open source search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. Key Terms: Document - Serialized JSON data.


Introduction 10 years ago, Amazon found that every 100ms of latency cost them 1% in sales. Google found an extra .5 seconds in search page generation time dropped traffic by 20%. A broker could lose $4 million in revenues per millisecond if their electronic trading platform is 5 milliseconds behind the competition.

Working with Production at Amazon Retail Website

A short background Prior to working at Amazon, I was developing software at a couple of startups, mostly working with products that were in the conceptual phase or the development phase. One of the things I desired the most was to have exposure to products that were live in production or to bring a development project to production.

Javascript Essentials

Hoisting Hoisting is JavaScript's default behavior of moving declarations to the top. Given the following Javascript code, what is the expected output, and why? fcn2(); fcn1(); function fcn2(){ alert("hi"); } var fcn1 = function(){ alert("hey") } The expected output is a pop up alert that says "hi", followed by an error that fcn1 isn't defined.

2PC - Two Phase Commit and Why it Sucks

Background Two Phase Commit (abbreviated 2PC) is a protocol used to achieve atomic writes in distributed systems. It was a novel concept in the 1970's and had good intentions, but in practice the implementations are not too great.