try another color:
try another fontsize: 60% 70% 80% 90%
Devis Lucato

programming

Survive heavy traffic with your webserver

There are many things you can do to speed up your website. This article focuses on practical things that I used, without any spending money on additional hardware or commercial software.

http://tr.im/xs6y

  • Cache PHP output
  • Create turbo charged storage
  • Leave heavy processing to cronjobs
  • Optimize your database
  • Save some bandwidth
  • Store PHP sessions in your database

About PHP sessions and DB usage I would like to add something: do not use them unless you really need them! Start php sessions and open db connections when needed. Do not put them in the boostrap/frontend file.
HTTP is stateless, try to keep your site/application the same, it makes caching and load balancing a lot easier.
In some context, site content related to user sessions can be loaded using ajax. And DB data can be cached into memcache.

You may also consider stracing your web processes to optimize disk usage. E.g. your Apache could be configured to look for index.html and index.htm everytime the homepage is called. See DirectoryIndex.

Digg.git - switching to git

An article outlining the digg.com engineering teams switch from svn to git. Basically sings git's praises, without getting technical.

Git is a distributed revision control system (while svn is a centralized one) where you can perform commits, branches, merges on your local working copy, without being connected to Internet. It allows, for instance, to commit multiple local commits as a single commit, even to a svn repository.

Accessing git through a firewall

From: http://www.programmerq.net/blog/2009/mar/10/accessing-git-through-firewall/

A decent number of things are blocked where I work. SSH is not. I usually use git via SSH. I did want to clone someone's repo that was shared over the git protocol, so I typed in the git-clone command, and waited. It timed out. The quick fix would be to clone it to my home machine, and then clone it over ssh. I never like doing that though, I like origin being the actual origin. I decided that it shouldn't be too hard to get a clone to work, so I did a bit of googling. I figured that if git had any support for a proxy server, it'd be possible one way or another.

Twisted: event-driven networking engine

Twisted is a networking engine written in Python, supporting numerous protocols. It contains a web server, numerous chat clients, chat servers, mail servers, and more.

Twisted is a platform for developing internet applications. While python, by itself, is a very powerful language, there are many facilities it lacks which other languages have spent great attention to adding. It can do this now; Twisted is a good (if somewhat idiosyncratic) pure-python framework or library, depending on how you treat it, and it continues to improve.

⁂ Session fixation, Session poisoning, Session hijacking

In computer network security, session fixation attacks attempt to exploit the vulnerability of a system which allows one person to fixate (set) another person's session identifier (SID).

⁂ Multipart XMLHttpRequests

The developers at Digg have come up with an interesting way to speed up load times of high performance websites. They have taken the idea that reducing the number of HTTP requests per page speeds up website performance, and come up with a technique called MXHR (Multipart XMLHttpRequests). MXHR works by bundling files, sending them through a single request, then separating them for use once they head down the pipe.

⁂ JSLint the JavaScript verifier

JSLint is a JavaScript program that looks for problems in JavaScript programs.

When C was a young programming language, there were several common programming errors that were not caught by the primitive compilers, so an accessory program called lint was developed which would scan a source file, looking for problems.

⁂ Scala programming language

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.

Many existing companies who depend on Java for business critical applications are turning to Scala to boost their development productivity, applications scalability and overall reliability.

⁂ The actor model

In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received.

Syndicate content