Winpdb - A Platform Independent Python Debugger http://winpdb.org Wed, 28 Apr 2010 10:23:25 +0000 http://wordpress.org/?v=2.7 en hourly 1 Simple Solution to Classic Problem in Software Development http://winpdb.org/2010/03/simple-solution-to-a-classic-problem-in-software-development/ http://winpdb.org/2010/03/simple-solution-to-a-classic-problem-in-software-development/#comments Mon, 08 Mar 2010 19:53:22 +0000 nir http://winpdb.org/?p=446 Pick a good sized CS book and put it in front of your monitor so that is hides the screen unless you sit up straight.

]]>
http://winpdb.org/2010/03/simple-solution-to-a-classic-problem-in-software-development/feed/
Copyright and Delayed Release http://winpdb.org/2010/03/copyright-and-delayed-release/ http://winpdb.org/2010/03/copyright-and-delayed-release/#comments Wed, 03 Mar 2010 21:21:21 +0000 nir http://winpdb.org/?p=408 Ever since I discovered Free Software I was haunted by the problem of developing software sustainably. Today I would like to suggest a possible model which may be suitable to individual developers and small business. That is, distributing software using relaxed non Free Software license, combined with releasing each modification as Free Software a determined time after its introduction, or in other words - Delayed Release.

This approach may be inline with views expressed by Richard Stallman in an interesting article on Copyright by the title “Misinterpreting Copyright—A Series of Errors” (1). Referring to copyright on software he writes “In my own field, computer programming, three years should suffice”. Stallman does not reject copyright as a concept but is interested in “Finding the right bargain”.

Possibly the most well known scheme for developing Free Software profitably is that of charging for related services. The problem is this model requires business skills most software developers do not have and is often not even applicable.

With Delayed Release, software developers may have easier time developing Free Software profitably, leading to increase in production of Free Software. Once people find that ideals of Free Software can practically co-exist with their realities, those ideals will have easier time spreading.

(1) http://www.gnu.org/philosophy/misinterpreting-copyright.html

]]>
http://winpdb.org/2010/03/copyright-and-delayed-release/feed/
130,000 IPC Calls per Second in Python http://winpdb.org/2010/02/100k-ipc-calls-per-second-in-python/ http://winpdb.org/2010/02/100k-ipc-calls-per-second-in-python/#comments Thu, 18 Feb 2010 21:20:34 +0000 nir http://winpdb.org/?p=418 rfoo is a new Python RPC package which can do 130,000 IPC calls per second on a regular PC. It includes a fast serialization module called rfoo.marsh which extends the Python built in marshal module by eliminating serialization of code objects and protecting against bad input. The result is a safe to use ultra fast serializer. Go get it at http://code.google.com/p/rfoo/

Interface of rfoo.marsh

rfoo.marsh.dumps(expression)
rfoo.marsh.loads(binary_string)

Serve RPC method to clients

class MyHandler(rfoo.BaseHandler):
    def echo(self, str):
        return str

rfoo.InetServer(MyHandler).start(port=50000)

Call method on RPC server

c = rfoo.InetConnection().connect(port=50000)
rfoo.Proxy(c).echo('Hello, world!')
]]>
http://winpdb.org/2010/02/100k-ipc-calls-per-second-in-python/feed/
Google Beta Inc. http://winpdb.org/2009/11/google-beta-inc/ http://winpdb.org/2009/11/google-beta-inc/#comments Mon, 16 Nov 2009 18:49:06 +0000 nir http://winpdb.org/?p=388 Someone should slap these guys on the head.

Today I visited the Winpdb Google Group and was shocked to see it was swamped with SPAM. I never got notifications for any of that SPAM. So, I thought what the hell, I will clear the mess in a second. I was in for a surprise. Google Groups admin panel is the worst ever created for a web service. To delete each SPAM message you need to click five (!) links, and if you also want to report the message as SPAM you need to click once more. you can’t select several discussions or messages or delete all message by a bot author.

The team members who created Google Groups should be sent to Siberia and never allowed to touch a computer again.

]]>
http://winpdb.org/2009/11/google-beta-inc/feed/
Scalability http://winpdb.org/2009/07/scalability/ http://winpdb.org/2009/07/scalability/#comments Tue, 21 Jul 2009 03:37:02 +0000 nir http://winpdb.org/?p=345 The world is a giant OS with a mysterious scheduling algorithm.

]]>
http://winpdb.org/2009/07/scalability/feed/
The State of Free Software http://winpdb.org/2009/07/the-state-of-free-software/ http://winpdb.org/2009/07/the-state-of-free-software/#comments Sat, 18 Jul 2009 09:07:44 +0000 nir http://winpdb.org/?p=338 It is easy to identify a Free Software project. It includes the term “Free Software” in its website. Open Source projects created by corporations, by hackers who reject the ideals of Free Software or by developers who do not know the difference NEVER include the term.

Some notable Free Software projects are therefore:
http://www.debian.org/
http://www.gnome.org/
http://kde.org/

There are of course many others and please comment with your favorite ones, but in fact, if you try to think of a recent notable FOSS project and check out its website you are most likely to find it is an Open Source project rather than Free Software.

For example, Apache, Lighttpd, MySQL, PostgreSQL, Python, Django, Drupal, Firefox and others.

For those of you who wonder what the difference between Free Software and Open Source is, I recommend the following article: http://www.gnu.org/philosophy/open-source-misses-the-point.html

There can be several reasons why this is the state of Free Software. I believe one of them is that there is no economical energy behind Free Software.

]]>
http://winpdb.org/2009/07/the-state-of-free-software/feed/
Ice Programming http://winpdb.org/2009/07/ice-programming/ http://winpdb.org/2009/07/ice-programming/#comments Tue, 07 Jul 2009 21:43:53 +0000 nir http://winpdb.org/?p=333 Programming is like Ice Sculpting. For me programming is an art form. At its best it is driven by muse, involves a technical achievement, and is a form of expression. But as an art form programming is like Ice sculpting. It lasts for 5 to 10 years and then returns to the mind of its creator as sweet memory, nothing more.

When I was 16 I wrote with a friend an arcade game for the Commodore 64. It was a beautiful piece of software written in Assembler with heart breaking graphics. I dare to say it was one of the most technically advanced games ever developed for the Commodore but although we negotiated with several game publishers it was never released.

This game is now the software equivalent of Schrödinger’s cat experiment. It exists on a 20 years old 5.25 Inch floppy disk inside a plastic box at my parent’s house. There is a probability that it is still intact, but touch that diskette and it is gone forever.

Such is the fate of all software.

]]>
http://winpdb.org/2009/07/ice-programming/feed/
Revolutionary Technology http://winpdb.org/2009/06/revolutionary-technology/ http://winpdb.org/2009/06/revolutionary-technology/#comments Sun, 21 Jun 2009 18:52:50 +0000 nir http://winpdb.org/?p=329 Where I live the media goes on and on about how The Iranian people is using web technology against its regime - for example Twitter, Youtube, e-mails and also cellular phones, SMS, etc… These technologies are described as giving an upper hand to the people as opposed for example to the revolution which took place 30 years ago.

I think this technology is actually being used against the people. You can not use it without being completely exposed. Anyone using it is being monitored and ironically has his/her social network mapped. Once someone is determined to be an organizer or worth the effort of taking down, he/she can be easily arrested.

]]>
http://winpdb.org/2009/06/revolutionary-technology/feed/
Bigfoot Linux http://winpdb.org/2009/06/bigfoot-linux/ http://winpdb.org/2009/06/bigfoot-linux/#comments Wed, 03 Jun 2009 19:34:24 +0000 nir http://winpdb.org/?p=323 I’ve got a Core 2 Duo with 3GB of memory running Ubuntu 64 bit and it can barely handle 3 or 4 applications I use for everyday development work.

Both memory usage and CPU load are annoyingly high. Firefox has about 5-10 open tabs and needs restarting every day or so unless it crashes unexpectedly.

I typically need to close an application to start another if I don’t want the disk to start trashing around indefinitely.

Can anyone explain why on earth does a browser need 1.7GB of virtual memory to run 10 tabs and why does a code editor need 1.2GB to keep 10 files in memory? Is this anything less than utterly ridiculous?

Here is a slightly edited output from top:

VIRT  RES  SHR  %CPU %MEM COMMAND
1719m 736m 33m  29   24.6 firefox
1247m 514m 14m  0    17.2 netbeans
483m  67m  9508 5    2.3  Xorg
301m  48m  3700 0    1.6  apache2
301m  45m  4500 0    1.5  apache2
316m  39m  4496 0    1.3  apache2
]]>
http://winpdb.org/2009/06/bigfoot-linux/feed/
Code is Poetry http://winpdb.org/2009/05/code-is-poetry/ http://winpdb.org/2009/05/code-is-poetry/#comments Fri, 29 May 2009 05:14:19 +0000 nir http://winpdb.org/?p=320 Code is like poetry, difficult to understand and often has other meaning than intended.

]]>
http://winpdb.org/2009/05/code-is-poetry/feed/