Monday, December 3, 2012
TouchDevelop: A touch-first IDE for the Web created with TypeScript
Sunday, October 7, 2012
TypeScript is a language for industrial Web applications
Sunday, September 9, 2012
The Database as a Value
Tuesday, July 10, 2012
THE PH.D. GRIND book
A diverse variety of people can benefit from reading it, including:
_ undergraduates who might be interested in pursuing a Ph.D.;
_ current Ph.D. students who are seeking guidance or inspiration;
_ professors who want to better understand Ph.D. students;
_ employers who hire and manage people with Ph.D. degrees;
_ professionals working in any creative or competitive field where self-driven initiative is crucial;
_ educated adults (or precocious kids) who are curious about how academic research is produced.
Sunday, June 17, 2012
Nemerle language (part 3) article
This article opens a series devoted to teaching the Nemerle programming language. Existing articles about this language assume the programmer’s familiarity with the Microsoft .NET framework and the C# programming language. On the other hand, this series is targeted at people familiar with neither one nor the other and could be used for teaching programming as such. People new to programming might require assistance of someone more experienced.
Monday, March 19, 2012
Memory management in C++ syntax directed editor
The size of reserved blocks is limited to 1, 2, 4, 8, 16 bytes, … that is a power of two. If the requested block size is not a power of two then the next higher power of 2 is chosen and extra unused space is allocated.
When one block splits into two (each of which is half as large as the original), these two blocks are called buddies. Later when both buddies are available again, they coalesce back into a single block.
The practical value of the method is determined by the possibility to calculate the address of the buddy. For example, the buddy of the block of size 2 beginning in binary location 100 is a block starting in binary location 110.
x-2**k if x mod 2**(k+1) = 2**k
See the text of the program for details. First of all you execute the following code.
// Give segments of RAM
if( GiveSegments() == -1 ){PostQuitMessage(0);return FALSE;}
else InitSegments();
After that, call “GiveRAM” or “FreeRam” functions to allocate or free the blocks of memory. At the end of your program call “FreeSegments” function.