Skip to main content

Posts

Showing posts with the label python

Correct way to structure your Django 1.4 projects

PS: This post is written assuming you're familiar with Django and at-least have some basic experience trying to set-up a Django project (for learning or for some cool project). Purpose: To show how to properly set-up your Django1.4 project after seeing other developers getting it wrong (seen it wrongly structured by my mentee, senior developers and junior developers at my firm.). Django 1.3 Project structure: Initial structure followed by two apps added to the project. Refer above picture, where I shown a Django < 1.4 project structure. (I know, at least Django 1.2 & 1.3 follows this structure). First tree view is of the initial structure that you will get by calling $ django-admin startproject Proj Take a note that manage.py, settings.py, urls.py are in the main folder. Following  tree display is after creating two apps named app1 & app2. You'll do it as follows $ ./manage.py startapp app1 $ ./manage.py start...

Set difference: Data provided from two big files with one number at a line

Today, I had to find out difference between two huge lists of numbers. Numbers are 17 digits long and list are of around 1 lac. PS: I'm documenting both versions here for my future reference. I used python, because diff doesn't felt good for me. because it will print both ins and outs of both files. Also, I ruled out diff's possibility, because I didn't felt it will work at that time. Later, at home: I give diff a try. Yes, it's not that beautiful as in python. I'd cut and sed a bit. But still, it's a "one liner" and I like 'em a lot.

Finally, I have my hands on them

It had been so long, since I started to think about buying a book titled " The C Programming Language " by Bryan W. Kernighan and Dennis M. Ritchie . If I put it as accurately I can as possible now a days, It'll be 3 year after I learned how to program (Obviously, In C, we initiated). This book is a standard reference for "C" language till the date, a gift from authors of the language, themselves. It wasn't available at local book stalls. (I do think, that's the case, even now.) The other book shown here, Is called " Hacker's Delight .". Well, it's no immediate use to me. But I liked the content of that Book. It's a bible of Bit level Algorithms and techniques. What I already know about bit arithmetic become nothing in front of this Excellent book. A must have, If you want to know your machine. Want to become a Embedded expert and so on.  And If I say, these are first Computer Science books that I'm buying wit...

Software Engineering - Continues refinement

Every programmer wishes to write some code, which is both elegant, and readable. A master piece to reference to... And there may not be a single programmer, who said at least once in their life time that, "If I had time, I'd rewrite it" or any similar one. Today, let's discuss, how the idea of sorting a list of list went on,   I had to sort a list of lists, that's the result of a search, comes from Web Service. After that, the result is extracted from the XML document that's returned and formatted for front end. So, now all the data is in the form of strings. And I'm ended up with the task of sorting a list of list of strings, based on different items in the inner lists @ different times. And Obviously we can't compare the data as strings, we have to convert them into their proper data type before comparison. Since, I works on a Python based project, First thing, that came to mind is to use, sorted inbuilt function, and pass it a functi...

Tic Tac Toe in python - Just for fun

The other day, I was looking for some GNU/Linux administration reference, I ended up viewing a "tic tac toe" program in Ruby at a Linux admin's blog. He wrote that in ruby and took him 90mins. That was written using class. But "Zen of Python in mind", I wrote my own version without class. I prefer this way (sparse is better than dense), and I enjoy Python more when, I think of my Java days.  I haven't read ruby code before hand so, I did not wrote a clone of ruby code. And this took me around 40min. Because, I realized some missing features only when I played it several times. Then only I added those. Specifically, drawing complete board after someone wins and stopping the game when all fields are filled out. I'll not say, the program is beautiful and very readable. However, it's good enough for playing with it.

Structures: C -> Java -> Python -> Erlang

With C we had structures and unions. I like them, because, I don't always need to embed behaviors with data(class). So you'll do something like With Java, I'm forced to use classes, because that's how java is structured. They are purely object oriented. (eg: in C++) In python, you can take java's approach; but since Python is not Java ;-) and we tend to write less, We'll use dictionaries (or hashes in Perl) I'm a newbie to earlang (and to functional programming), I think there's no dictionaries, but tuples. Here's how we use tuples to achieve same (also applicable to python) much like json, isn't it? notice, there are no quotes around someone, that's an atom (this is erlang dude). This in python: Well, how do we understand what's what? hmm, ok, we can tag them with atoms, (this is a programming practice in erlang world) so our earlier example becomes, That's it. You can do this with python too, like...

AJAX File Upload with Web2py

It was not that long, since I experienced a problem while trying to upload a file using an ajax  trapped form. I thought, it must be me doing something wrong. I was using web2py  to embed another page into a page via ajax. That is better known to web2py folk as LOADing a component. It's just happened that one of such component contains a file upload form. It was my first time using LOAD function provided by web2py. Basically it make use of jQuery to load the page via ajax into a target div and traps input of any form in that page, so that page doesn't reload. Oh, I forgot to say that web2py is bundled with jQuery. It's always boring and tedious to understand a problem without experiencing it. So, Let's play with an example, (PS: I"m using web2py a full stack python framework, but you can use any language at server side and this problem will be there because, it's a problem with ajax) My mod...

XML: Is it worth

  [ Source is from http://harmful.cat-v.org/software/xml/ ] Yes, I confess, I don't like XML at all. Reason, It's way too complication and I personally feels like it's a waste of storage space. Please, don't tell me that storage(be it memory or disk) is so cheap now a days. I still care. May be because, I started my programming (Computer Science) education with mighty "C". I always prefer to squeeze memory and make my programs as small as possible, (reason, why I changed from C++ to Java, then to Python: not to mention rapid development.) . Why use XML at all. There are good old RDBMS. Well if you find buzz about ODBMS, use them. Or use simple JSON . Or better, go for Google's ProtocolBuffers. Web programming in Java, now days become full of xml configuration files.And it'll go on, getting multiplied as your system gets bigger, web services included and so on. So much work, if some one ask me about it! Thanks to web2py , I can make the same applicat...

Contact Manager Extended

The program I wrote recently. That I posted here in an early post. Now I made some changes. That is now you can add as many emails and phone contacts. Also you can add a new email or phone after a contact is created. ie., missing form previous version. But one ToDo is still not done. It's verifying whether email is correct format. It can be done another day. But not now. You can download source here . contact manager by Arun.K.R is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License . cb.py cm.py

My First Python Program

I am very glad today. Because I finally wrote a python program all by myself. I am programming for about 3 years. Of which 2 are using C++ (Old standard and using Turbo C++ IDE ver 3.0 and yet to master Templates and STL. [:-p]) and After starting python using Dive into Python an excellent book by Mark Pilgrim during my 1st year summer vacation, and I only completed Data Structure section. Then I found an excellent Java tutorial by Sang Shin and obtained a certificate by completing First and basic course in Java. Now I am working with My Friend to develop applications in java. We established a web site already. He started programming when he is in 10, ie. more than 2 years of experience. He has Visual Basic too in his side. Now he is doing with JSP and I am concentrating on Python, Ruby (yet to start) and CSS. Today My pleasure is that I completed a python program myself. Which is asked to do in ' A byte of Python ' by Swaroop.C.H. Which is a command line program; and he...