<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8393465772272669416</atom:id><lastBuildDate>Thu, 16 Feb 2012 07:04:34 +0000</lastBuildDate><category>literature</category><category>linux</category><category>math</category><category>GSoC</category><category>Aviation</category><category>Git</category><category>python</category><category>os</category><category>Navy Aviation</category><category>programing languages</category><category>fun</category><category>django</category><category>kdevelop</category><category>planetkde</category><category>libraries</category><category>hardware</category><category>kde</category><category>google</category><category>minix</category><title>Сoder's stories</title><description>Life After Compilation</description><link>http://www.eivanov.com/</link><managingEditor>noreply@blogger.com (Evgeniy Ivanov)</managingEditor><generator>Blogger</generator><openSearch:totalResults>87</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CodersStories" /><feedburner:info uri="codersstories" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2042701877892374617</guid><pubDate>Sat, 18 Jun 2011 12:27:00 +0000</pubDate><atom:updated>2011-06-18T16:27:56.807+04:00</atom:updated><title>Easy way to merge (put together) several pdf files into single one in Linux</title><atom:summary>I've noticed, that convert utility from ImageMagick is a great tool to union PDF's into single one:
convert 1.pdf 2.pdf 3.pdf single.pdf</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/G6Lq1LSxQjg/easy-way-to-merge-put-together-several.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/G6Lq1LSxQjg" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/06/easy-way-to-merge-put-together-several.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-8602115645775005840</guid><pubDate>Wed, 08 Jun 2011 13:44:00 +0000</pubDate><atom:updated>2011-06-08T17:44:06.049+04:00</atom:updated><title>Using fsync and fsync_range with directories</title><atom:summary>There is a non-obvious difference between possible fd argument for fsync() and fsync_range(). In Linux and NetBSD you can use fsync() to sync directory. In NetBSD there is also fsync_range() which can't be used for directories, because it expects writable fd. Originally I thought that if fsync_range() can't, then fsync() can't too, but it can.

Example below shows how to obtain file descriptor </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/lMxEKCunNHM/using-fsync-and-fsyncrange-with.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/lMxEKCunNHM" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/06/using-fsync-and-fsyncrange-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4833401879299529403</guid><pubDate>Thu, 02 Jun 2011 15:08:00 +0000</pubDate><atom:updated>2011-06-02T19:08:41.590+04:00</atom:updated><title>On the transparent conversion of Indirect (mutual) recursion to "no nested calls"</title><atom:summary>In a previous post I've shown how to implement functions in recursion-like style without nested call (real recursion). Implementing algorithms this way helps to save some memory (stack).
It made me wonder if we can convert/optimize mutual recursion in a way transparent to users. As basic example I chose following code:
int even(int n)
{
    if (n == 0)
        return 1;
    else
        return </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/J2m0QLUZydo/on-transparent-conversion-of-indirect.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>2</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/J2m0QLUZydo" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/06/on-transparent-conversion-of-indirect.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-1720041786419370500</guid><pubDate>Thu, 02 Jun 2011 11:55:00 +0000</pubDate><atom:updated>2011-06-02T19:10:44.581+04:00</atom:updated><title>Mutual recursion without nested function calls in C</title><atom:summary>My friend Ryukzak has implemented mutual recursion library to use it without nested calls and thus memory overhead (stack). I decided I can do the same using ucontext. Here is a prototype (not generic) to calculate factorial:

struct Fac_state {
    int n;
    int acc;
};

void fac_times2(ucontext_t *other_context, ucontext_t *this_context,
               struct Fac_state *fstate)
{
    while (1)</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/Kt3BGPOu44Q/mutual-recursion-without-nested.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/Kt3BGPOu44Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/06/mutual-recursion-without-nested.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2312030514716908828</guid><pubDate>Fri, 27 May 2011 17:56:00 +0000</pubDate><atom:updated>2011-05-27T21:57:39.677+04:00</atom:updated><title>How to wrap/overwrite/override function in C (gcc and clang)</title><atom:summary>Today I was tinkering with executing some code right before main() in C. I found a good description in this post. Here is some code similar to the code in that post:

__attribute__((constructor)) void before() {
    printf("Before main\n");
}

int main() {
    printf("Main\n");
    return 0;
}

Another task was to access to the argc and argv outside main(). The reason is that I reimplement some </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/xXantXas2fc/how-to-wrapoverwriteoverride-function.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/xXantXas2fc" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/05/how-to-wrapoverwriteoverride-function.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-5914524670913400636</guid><pubDate>Sat, 15 Jan 2011 12:46:00 +0000</pubDate><atom:updated>2011-01-15T15:49:29.935+03:00</atom:updated><title>CGA programming in C</title><atom:summary>CGA (Color Graphics Adapter) is an ancient graphical adapter from IBM introduced in 1981. It was IBM's first color graphical card and supported several graphical modes. I will describe programming in 640x200 black/white (monochrome) mode.

Each pixel can be accessed independently (but you still can address just bytes, so each time you can modify 8 pixels).
All lines divided into even and odd. </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/ULTH6xki9Os/cga-programming.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_wb8_4jUpYW4/TTGSUNFRC5I/AAAAAAAASQI/rpR2gW2BGtc/s72-c/cga_bare.jpg" height="72" width="72" /><thr:total>2</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/ULTH6xki9Os" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2011/01/cga-programming.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-8026223990449176045</guid><pubDate>Thu, 23 Sep 2010 13:10:00 +0000</pubDate><atom:updated>2010-09-23T17:51:44.872+04:00</atom:updated><title>270 days of summers</title><atom:summary>It became a tradition, that every summer dramatically changes my life.

In 2008 my engineering skills were too low for real development, but I had been accepted into Google Summer of Code and it changed my vision of what development and engineering are. I understood that programming languages are mostly like human one: most important is what you say and not just speaking style. You can know </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/7AdV1MbXI5o/270-days-of-summers.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>2</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/7AdV1MbXI5o" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/09/270-days-of-summers.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2445299831960307418</guid><pubDate>Wed, 22 Sep 2010 20:16:00 +0000</pubDate><atom:updated>2010-09-23T00:16:40.300+04:00</atom:updated><title>Born again</title><atom:summary>Few interesting things I've recently discovered:

bar ()
{
    exit 1
}

foo ()
{
    var=`bar`
    [[ $? -ne 0 ]] &amp;&amp; echo "bar() failed"
   
    # Now try local
    local var=`bar`
    [[ $? -ne 0 ]] &amp;&amp; echo "bar() failed again"
}

You will not see "bar() failed again", as you can expect. Second time "$?" will be an exit status of local like I was explained by much more experienced engineer.

</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/nzuEHe78a-k/born-again.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/nzuEHe78a-k" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/09/born-again.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-867416992553880473</guid><pubDate>Mon, 20 Sep 2010 20:05:00 +0000</pubDate><atom:updated>2010-09-21T00:06:17.720+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">minix</category><title>MINIX 3: pre-release of 3.1.8 available</title><atom:summary>MINIX  3.1.8 includes my ext2 implementation :-)
Unfortunately it seems that I will not be able to hack on MINIX 3 in the nearest future. 

Official release information: 
minix3: pre-release of 3.1.8 available at http://www.minix3.org/download/  , new features at: http://wiki.minix3.org/en/MinixReleases!</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/dKEyRfoSLOo/minix-3-pre-release-of-318-available.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/dKEyRfoSLOo" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/09/minix-3-pre-release-of-318-available.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4823452834529770672</guid><pubDate>Wed, 30 Jun 2010 20:15:00 +0000</pubDate><atom:updated>2010-07-01T00:15:20.384+04:00</atom:updated><title>I will be happy in...</title><atom:summary /><link>http://feedproxy.google.com/~r/CodersStories/~3/KiK0QY-x-pU/i-will-be-happy-in.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/KiK0QY-x-pU" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/07/i-will-be-happy-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2994807472222672777</guid><pubDate>Wed, 07 Apr 2010 11:07:00 +0000</pubDate><atom:updated>2010-04-07T15:07:55.695+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">os</category><category domain="http://www.blogger.com/atom/ns#">minix</category><title>Basic ext2 server for MINIX 3 is available for testing</title><atom:summary>I've just pushed my master branch to gitorious repository, so anybody can pull it and use my ext2 server.
But note: it's not yet finished and is still under development. I noticed bugs with long and ugly names only, but anyway for now use it on your own risk. Mounting ext2/ext3 in read-only mode is safe.

Disclaimer: I'm not part of VU team and at this step code wasn't verified by them (HEAD is </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/rJD8skvkcl4/basic-ext2-server-for-minix-3-is.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/rJD8skvkcl4" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/04/basic-ext2-server-for-minix-3-is.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-6077190878082368200</guid><pubDate>Mon, 29 Mar 2010 22:05:00 +0000</pubDate><atom:updated>2010-05-09T04:12:36.937+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fun</category><title>On the dangers of drugs</title><atom:summary>First I smiled, but at the end I was trying to сlose my mouth in surprise...
</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/FAyopFZlAqs/about-continue-drug.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/FAyopFZlAqs" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/03/about-continue-drug.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2114333733998006187</guid><pubDate>Sun, 28 Mar 2010 23:04:00 +0000</pubDate><atom:updated>2010-03-29T03:04:44.939+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">os</category><category domain="http://www.blogger.com/atom/ns#">minix</category><title>Most beatiful bug I ever had</title><atom:summary>While testing my ext2 MINIX 3 server I found a bug which caused problems on file systems with 1024 block size. I used following work flow: download about 1 Gb of different files (either wget or using HGFS/MFS), remove some files and download some more. Then I checked md5sums. Everything was fine. But in Linux e2fsck started to enlarge filesizes of files greater than 64 Mb. The only thing that </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/Q-_2rEL3ukY/most-beatiful-bug-i-ever-had.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/Q-_2rEL3ukY" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/03/most-beatiful-bug-i-ever-had.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-8634892153069385389</guid><pubDate>Thu, 11 Mar 2010 12:39:00 +0000</pubDate><atom:updated>2010-03-17T18:56:18.914+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">os</category><category domain="http://www.blogger.com/atom/ns#">minix</category><title>Evolution of one simple function (ext2_max_size)</title><atom:summary>For a while I've been working on ext2 fs implementation for Minix 3 (ext2 server in Minix terms). I've already implemented ext2 server which can read and write. One of functions required by implementation is ext2_max_size which calculate max file size for ext2/ext3 fs.
Here is a function from linux (with my comments):

/*
 *  linux/fs/ext2/super.c
 *
 * Copyright (C) 1992, 1993, 1994, 1995
 * </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/q194lZmd3rQ/evolution-of-one-simple-function.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/q194lZmd3rQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2010/03/evolution-of-one-simple-function.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-3597141448674580510</guid><pubDate>Thu, 10 Dec 2009 12:59:00 +0000</pubDate><atom:updated>2009-12-23T15:22:10.476+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">os</category><category domain="http://www.blogger.com/atom/ns#">minix</category><title>Minix 3 has FPU(x87)/SSEx hardware support now</title><atom:summary>As I promised before here are some news about my activity at minix 3 project. My implementation of "Floating-point driver for MINIX 3" (aka "FPU hardware support"), which I had done in summer and added just few recent modifications later,  was committed  last week, so now minix' userland can forget about using software implementations of FP and SSEx instructions and switch to hardware.So my first</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/fgCIsYimQQI/minix-3-has-x87ssex-hardware-support.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/fgCIsYimQQI" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/12/minix-3-has-x87ssex-hardware-support.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4271896789479711331</guid><pubDate>Thu, 01 Oct 2009 08:57:00 +0000</pubDate><atom:updated>2011-06-18T16:38:47.268+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">math</category><title>Integrals with exponent and polynomial: Pn(x)e^{ax}</title><atom:summary>I've found a very cute way to work with integrals like
\int_{}^{}P_n(x)e^{ax}dx

Before I always integrated it by parts, for example:
\int_{}^{}xe^xdx=xe^x-\int_{}^{}e^xdx=(x-1)e^x

In case you need to take by parts only once it's ok, but when Pn(x) is x^2 or higher degree you need more time to integrate by parts several times.
There is another better way, let's take above integral again:
\int_{}</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/ebpvAIv-Aiw/int01fracx4left1-xright41x2dx-frac227.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/ebpvAIv-Aiw" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/10/int01fracx4left1-xright41x2dx-frac227.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-3204527028285450800</guid><pubDate>Tue, 29 Sep 2009 20:22:00 +0000</pubDate><atom:updated>2009-09-30T00:35:11.041+04:00</atom:updated><title>Using mplayer as alarm in linux</title><atom:summary>Some time ago my stereo died, so I started to use my PC as alarm (I like to listen some music during wake-up). For some time I used it in this way:echo "mplayer -ao alsa -shuffle /docs/music/unsorted/*" | at 10:00"-shuffle" option makes mplayer to play files in random order.Everything worked fine, but some time ago I didn't here my sweet alarm. I wasn't able to figure out the reason, so asked at </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/3fiBUdEqhog/using-mplayer-as-alarm-in-linux.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/3fiBUdEqhog" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/09/using-mplayer-as-alarm-in-linux.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-2823842291097345022</guid><pubDate>Tue, 18 Aug 2009 23:10:00 +0000</pubDate><atom:updated>2009-08-19T03:38:10.895+04:00</atom:updated><title>I'm back...</title><atom:summary>Now I'm back. It was a very hard year for me, but now I'm better and do everything to keep going.To raise my spirits I've done two things:I've bought eivanov.com. It will be used as alias for this blog until I have something special.Installed SyntaxHighlighter, which should be useful for posts containing snippets (see previous post for example). If you want the same I recommend to use this </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/CKbkPMSrj9Y/im-back.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/CKbkPMSrj9Y" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/08/im-back.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-6321237365376192630</guid><pubDate>Thu, 05 Feb 2009 15:09:00 +0000</pubDate><atom:updated>2009-08-19T03:09:26.446+04:00</atom:updated><title>Simulating post-request (using form-data) with file in C/C++</title><atom:summary>First I started to use WinInet. God, it sucks like most Windows API. I played about a day with http://support.microsoft.com/kb/165298And I failed to post anything, from what django could make request. Aslo wierdshark shown that MS does a bit strange request (it looses some header about multipart form-data).Today I took libcurl, it has a rich example who you can perform your POST-request.Note, </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/e7c_W1rAg9M/simulating-post-request-using-form-data.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/e7c_W1rAg9M" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/02/simulating-post-request-using-form-data.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4115108226971673369</guid><pubDate>Mon, 02 Feb 2009 20:33:00 +0000</pubDate><atom:updated>2009-10-01T13:38:10.722+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">python</category><title>Storing files in database with django</title><atom:summary>Yesterday I got much pleasure implementing DatabaseStorage class for django. Nothing special and a very simple thing, but I like it: http://www.djangosnippets.org/snippets/1305/Thanks to python and django developers for marvelous duet: python and django :) It really rocks and doesn't have boundaries!</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/DvDfKXQP85A/storing-files-in-database-with-django.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/DvDfKXQP85A" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/02/storing-files-in-database-with-django.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-6807367912279948006</guid><pubDate>Thu, 22 Jan 2009 22:00:00 +0000</pubDate><atom:updated>2009-08-19T03:06:33.198+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">python</category><title>ManyToMany relations in Django.</title><atom:summary>I didn't write anything for some time, since was very busy with my work and family problems.But today I have some interesting thing about django, so I can't keep silence (I'm new to python/django, so it can be interesting for newbies only, but I hope it is not).First of all I want to say sorry for indentation in quoting blocks... Will fix it later...In django to define ManyToMany relation you </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/77bD07aDAuY/manytomany-relations-in-django.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>11</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/77bD07aDAuY" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2009/01/manytomany-relations-in-django.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-5408539068360319057</guid><pubDate>Mon, 17 Nov 2008 19:58:00 +0000</pubDate><atom:updated>2008-11-17T23:04:10.512+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">libraries</category><title>httpd library for embedding into your application</title><atom:summary>Next week I will have to implement something to transfer files between computers. I decided that http transfer could be a good idea, because clients would be able to get files from another sources and not from my server-application only.So here is libmicrohttpd by GNU. It supports SSL/TLS, and licenced under LGPL (which is important for my company, since they don't know what licence will use). </atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/q1LqkBfFo_8/httpd-library-for-embedding-into-your.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/q1LqkBfFo_8" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2008/11/httpd-library-for-embedding-into-your.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4856048435293958384</guid><pubDate>Wed, 29 Oct 2008 00:56:00 +0000</pubDate><atom:updated>2009-10-01T13:35:17.822+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">planetkde</category><title>"Antitrust" movie and do THEY reuse free software in proprietary?</title><atom:summary>Just finished watching Antitrust movie (aka hackers 3). It's really amazing and it's worth to watch this movie. I remember there was similar story about lawyer and big company (maybe even two stories), but this one is about software development: you can see Unix systems running on movie's computers, Open Source hackers, and M$ (Titled "Nurd" in the movie).But it's really interesting how much open</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/oJbv02UHLnk/antitrust-movie-and-do-they-reuse-free.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>8</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/oJbv02UHLnk" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2008/10/antitrust-movie-and-do-they-reuse-free.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-1339614146564132774</guid><pubDate>Sat, 25 Oct 2008 16:52:00 +0000</pubDate><atom:updated>2008-10-25T20:56:28.978+04:00</atom:updated><title>Russian secret helicopter forces</title><atom:summary>Secret planes engines are here: http://pilot.strizhi.info/2008/10/14/5743Enjoy :D</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/9OckUiRg2Pg/russian-secret-helicopetrs-force.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/9OckUiRg2Pg" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2008/10/russian-secret-helicopetrs-force.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8393465772272669416.post-4358641216203257296</guid><pubDate>Fri, 17 Oct 2008 19:08:00 +0000</pubDate><atom:updated>2008-10-17T23:13:45.767+04:00</atom:updated><title>Unix commands pattern )</title><atom:summary>I was reading advance bash scripting today, when my friend Void pointed me to a strange pattern in the naming of unix commands:gawk, talk, date, wine, touch, unzip, strip, finger, mount, fsck, yes, more, umount, make clean, sleepCewl!By the way (from Void): funny man pages!</atom:summary><link>http://feedproxy.google.com/~r/CodersStories/~3/BcvQ-l_jkog/unix-commands-pattern.html</link><author>noreply@blogger.com (Evgeniy Ivanov)</author><thr:total>0</thr:total><description>&lt;img src="http://feeds.feedburner.com/~r/CodersStories/~4/BcvQ-l_jkog" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.eivanov.com/2008/10/unix-commands-pattern.html</feedburner:origLink></item></channel></rss>

