Thursday, May 28, 2009

Lambda resources

Lambda Calculus and Lambda Calculators (implementation)

Type system
The Lambda-calculus, Combinatory Logic, and Type Systems

Комбинаторы - это просто!

Практика функционального программирования
Выпуск 1, 2009

Lambda in short
Коротко и неформально. Лямбда-исчисление - это правила построения и вычисления безымянных функций. И перейдем сразу к примерам.

Wednesday, May 27, 2009

Делегат открытого экземпляра

см. Delegate.CreateDelegate(Type, MethodInfo)

Появился в 2.0, поскольку в 1.1 эта функция принимает только статические методы, в 2.0 она стала принимать и методы экземпляров.

Monday, May 25, 2009


... An idea to make a successful software company:

The common belief is that when you're building a software company, the goal is to find a neat idea that solves some problem which hasn't been solved before, implement it, and make a fortune. We'll call this the build-a-better-mousetrap belief. But the real goal for software companies should be converting capital into software that works.

Joel on Software (here)

Ссылки на Джоэля: 


Домашний офис

Sunday, May 24, 2009

Patterns for Concurrent, Parallel, and Distributed Systems

Design Patterns, Pattern Languages, and Frameworks

Javascript toolkits and other goodies


Huge list

Useful libraries


  3. Prototype
  4. Scriptaculous
  7. SWFObject
  8. YUI
  9. - demo
  10. Chrome Frame
  11. WebFont Loader
  12. Yahoo! UI

Head JS - Speed up, simplify and modernize

Head JS speeds up script loading and adds classnames to the html element that allow you to target specific browser features or screen resolutions (like ".lt-640 #foo").

Scatter - Ajax without coding

You can use Scatter to refresh page elements without doing a full page reload.
Include the script, do Scatter.scanPage() when the body loads and apply rel="scatter"
to links or forms.

Backfire - Save CSS changes made with Firebug

If you use Firebug to modify CSS on-the-fly, you can save your changes with Backfire.


Slimbox (demo) can be used by pasting this script.
You need to load jQuery or MooTools prior to slimbox.
No further css or initialization is required though.


Eric Meyer's reset.css is available from the following path.

Famfamfam icons

Mark James' famfamfam icon sets are available by using the following paths.

Loading icons

Loading icons are ready for you, or you can create your own at

Goodies - просмотрщик image галерей в стиле Mac coverflow.
Underscore (article:
Doloto - AJAX application optimization tool, especially useful for large and complex Web 2.0 applications that contain a lot of code, such as Bing Maps, Hotmail, etc. Doloto analyzes AJAX application workloads and automatically performs code splitting of existing large Web 2.0 applications. After being processed by Doloto, an application will initially transfer only the portion of code necessary for application initialization.
Egl - free Eclipse-based tool that simplifies the development of rich Web 2.0 style applications, developed by IBM


1. Aptana
2. Komodo
4. NetBeans
5. Eclipse
6. Anjuta
7. Coda

Tools description

Closure Compiler
Closure Compiler is a JavaScript optimizer that compiles web apps down into compact, high-performance JavaScript code. The compiler removes dead code, then rewrites and minimizes what's left so that it will run fast on browsers' JavaScript engines. The compiler also checks syntax, variable references, and types, and warns about other common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source.

Because JavaScript developers are a diverse bunch, we've set up a number of ways to run the Closure Compiler. We've open-sourced a command-line tool. We've created a web application that accepts your code for compilation through a text box or a RESTful API. We are also offering a Firefox extension that you can use with Page Speed to conveniently see the performance benefits for your web pages.

Closure Library
Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. Web developers can pull just what they need from a wide set of reusable UI widgets and controls, as well as lower-level utilities for the DOM, server communication, animation, data structures, unit testing, rich-text editing, and much, much more. (Seriously. Check the docs.)

JavaScript lacks a standard class library like the STL or JDK. At Google, Closure Library serves as our "standard JavaScript library" for creating large, complex web applications. It's purposely server-agnostic and intended for use with the Closure Compiler. You can make your project big and complex (with namespacing and type checking), yet small and fast over the wire (with compilation). The Closure Library provides clean utilities for common tasks so that you spend your time writing your app rather than writing utilities and browser abstractions.

Closure Templates
Closure Templates grew out of a desire for web templates that are precompiled to efficient JavaScript. Closure Templates have a simple syntax that is natural for programmers. Unlike traditional templating systems, you can think of Closure Templates as small components that you compose to form your user interface, instead of having to create one big template per page.

Closure Templates are implemented for both JavaScript and Java, so you can use the same templates both on the server and client side.

AJAX Patterns

Friday, May 22, 2009

Split and Assemble large file (around 2GB)

(Примечание: можно было бы записать каталог с путями к каждой части в начало каждого разбитого файла и сливать файлы вместе из любого выбранного файла, типа фрагментации и дефрагментации)

Thursday, May 21, 2009

Flickr, coding for fun

Асинхронные сокеты, пересылка больших файлов
(код устарел: появились новые асинхронные функции, которые нужно использовать)

Wednesday, May 20, 2009

В статье показался интересным исторический комментарий.

Powered by Blogger.