Web Frameworks

Making dynamic websites with web frameworks is popular. Wikipedia has a list of web frameworks and their features. It has inspired me to do something crazy - make a dynamic web site with every framework (or most of them). Stay tuned for posts on...
and many more!

Math with Python

Python is a simple language.Yet, there are things to watch out for when you're tooling away on those math problems from Project Euler.

Addition, subtraction and multiplication are simple.
>> 10 + 3
13
>> 10 - 3
7
>> 10 * 3
30


But not division.
>> 10 / 3
3


Instead of getting something like 3.33333, we get leftover behavior from the C language which the Python language is implemented. There are some ways to get the expected answer.

Typing (which is tedious, easy to forget, and defeats the purpose of using Python).
>>float(10)/float(3)
3.3333333333333335


or

>>10.0/3.0
3.3333333333333335


Importing the future module. In future Python releases, this will be fixed. After running this, division should proceed normally within your session. Of course, you ask - "Why should I even have to do this?"

>>from __future__ import Division
>> 10/3
3.3333333333333335


Exponentiation is nice.
>> 10 ** 3
1000


But watch those parentheses,
2**2**2 gives 16, not 8. Why?

Because exponentiation is right associative. That is, Python is doing this:
2**(2**2)
not
(2**2)**2

Nice perk about exponentiation in Python. Python displays as many digits as your system memory allows. Python does this without breaking a sweat.
>>123456789**100
1417417260103558770214252423976142668502309843289216833019048237594
757708238986182489372231899746980921982728329402793285767462862882464121
635860400730716254039942351084846547018518131114125220170734365519774681
825663555080960088448187700306662591033835497547065849829393393851336850
513516716654954594842407071059129565467264692831108320130483612672587797
723547589358874240495338978427064891700798459028240889817739929243620390
292500203679620864971533914260827834601579209314189120626901904458486936
727622905582367388818325467159626747054599568953786703562122799941680845
141148189896305104641344839457223830507901762718528867396981775965176554
700698356765830690713630912519126290583362303892345035739308972274807594
103376959348593678587147932967060392101430789829817061010598621196674073
17346718937443597566001L

Hello World

Welcome to Tech Tedium.