SEARCH KEYWORD -- Large icon



  Cache them if you can

“The fastest HTTP request is the one not made.” I always smile when I hear a web performance speaker say this. I forget who said it first, but I’ve heard it numerous times at conferences and meetups over the past few years. It’s true! Caching is critical for making web pages faster. I’ve written extensively about caching: Call to improve browser caching(lack of) Caching for iPhone Home Screen AppsRedirect caching deep diveMobile cache file sizesImproving app ...

   Cache,HTTP request,Websiite     2012-03-27 12:54:02

  C++11 multithreading tutorial

The code for this tutorial is on GitHub: https://github.com/sol-prog/threads. In my previous tutorials I’ve presented some of the newest C++11 additions to the language: regular expressions, raw strings and lambdas. Perhaps one of the biggest change to the language is the addition of multithreading support. Before C++11, it was possible to target multicore computers using OS facilities (pthreads on Unix like systems) or libraries like OpenMP and MPI. This tutorial is meant to get you st...

   C++,Multithreading,Standard 11,Demo     2011-12-18 00:50:35

  Making Sites Shine with @font-face

Like many of my web designer brethren, I’m a bit of a typographic geek. And like many web designers, I’ve been frustrated (to say the least) about the historical state of web typography.At first, we were limited to a common, but very small set of “web safe” fonts. Anything beyond those fonts, we had to rely on images. Images for text not only meant we had to create and maintain dozens (if not hundreds) of images, but it introduced accessibility issue...

   HTML,Font face,Font family,Demo,Example     2011-08-19 08:16:29

  Get vs Post in HTML form

In HTML, one can specify two different submission methods for a form. The method is specified inside a FORM element, using the METHOD attribute. The difference between METHOD="GET" (the default) and METHOD="POST" is primarily defined in terms of form data encoding. The official recommendations say that "GET" should be used if and only if the form processing is idempotent, which typically means a pure query form. Generally it is advisabl...

   Get,Post,HTML,form,data submission     2011-05-10 11:12:04

  Erlang Style Concurrency

Introduction On an evolutionary scale of innovation from one to ten (one being Bloomberg and Citi Group, eight being Google and Cirque Du Soleil, and ten being the company you couldn't imagine in your wildest dreams), the company I work for is about a three1. Being employed by this bastion of ingenuity affords me certain opportunities I can't get elsewhere. For example, every developer gets to interview potential...

   Erlang,Concurrency,Lock,Message,Innovation     2012-01-03 10:44:44

  The 10 Greatest Hacks of My Life

My co-founder and I briefly considered applying to YCombinator for the Winter 2012 session. We eventually decided to bootstrap Curvio initially, and raise a seed round on our own after we launch (so far so good!). But looking over the YC application, one question intrigued me:Please tell us about the time you, tansey, most successfully hacked some (non-computer) system to your advantage.Now, there are a lot of ways to interpret this. A mechanical interpretation would be about...

   Hack,Most important,Example,Curvio     2011-10-22 12:47:42

  A Python Optimization Anecdote

Hi! I’m Pavel and I interned at Dropbox over the past summer. One of my biggest projects during this internship was optimizing Python for dynamic page generation on the website. By the end of the summer, I optimized many of dropbox.com’s pages to render 5 times faster. This came with a fair share of challenges though, which I’d like to write about today:The ProblemDropbox is a large website with lots of dynamically generated pages. The more pages that are dynamically generat...

   Python,Anecodate,Optimization,Efficiency     2011-10-25 10:33:20

  Learning Server-Side JavaScript with Node.js

Node.js is all the buzz at the moment, and makes creating high performance, real-time web applications easy. It allows JavaScript to be used end to end, both on the server and on the client. This tutorial will walk you through the installation of Node and your first “Hello World” program, to building a scalable streaming Twitter server.What is Node.js?JavaScript has traditionally only run in the web browser, but recently there has been considerable interest in bringing it to the...

   JavaScript,Server side,Node.js.Implement     2011-09-20 13:33:15

  OT Railway System Development: How to Use PLC to Implement Land Based Railway Track Fixed Block Sign

Figure-00: Railway fixed block signaling system over view diagram, version v1.3 (2024) Project Design Purpose: This project aims to use Programmable Logic Controllers (PLC) with train detection sensors and train control signals to develop an automated OT system for railway track fixed block signaling control. The system will include a digital equivalent simulation to explain the logic of the track fixed block Automatic Train Control (ATC) mechanism for demonstration and training purposes. In th...

       2024-07-27 04:08:41

  True Scala complexity

Update 2: Sorry for the downtime. Leave it to the distributed systems guy to make his blog unavailable. Nginx saves the day.It’s always frustrating reading rants about Scala because they never articulate the actual complexities in the core language.Understandable—this post is intended fill that gap, and it wasn’t exactly easy to put together. But there’s been so much resistance to the very thought that the complexity exists at all, even from on up high, that I thou...

   Scala,Complexity     2012-01-10 07:17:07