After an irregular gymming during my college days, I’ve been regular gym-ming at Fitness One Its been a nice and fruitful experience ever.
If I look back to october 2006, when I just began at Fitness One, I was slightly bulky and my endurance, muscular strength and stamina were doing poor. However, I wasn’t largely fat or without the basic stamina. I was still good, due to my college gym, though irregular and agricultural activities in my farm in my earlier days.
A company sponsorship to this Fitness One gym came to me as a boon. I joined with all enthusiasm and promise that I’m gonna be regular and really achieve my fitness targets. “Alright, what is your goal thanix?”, asked prakash, my Fitness one trainer. I could immediatly bring those words — “I want to build muscles”
Well, he said, unsure of my determination to continue with the gym, “Aright, we’ll do it, but you should take care of the motivation and turn up at the gym”. He probably has seen a lot of guys come with sheer enthusiasm and after sometime loose all momentum and fallback.
By late 2003s, I had somehow gained patience and a die-hard perseverance that I take care to pursue whatever I began and see the fruit, no matter what it takes. This has largely helped me in the gym. After the third hard workout day, your muscles become tight and your body refuses to move, you don’t even feel like going to work, then where is the motivation to go for the workout?
However, I figured that its only a matter of stretching and proper food/sleep that is all required to make sure the next day I possess the eligibility to gym. Stretching the muscles relaxes the body and makes it flexible - point #1, warming up the body just gets me away from the “I can’t wake up now” laziness - point #2. But how will you warm up the body without even waking up? If only your mind knows this fact that you do warmup and everything is ok, your mind gives in to wake up on time.
Alright, above all desires, you need motivation, you need a lot of that mental determination and “comeon, thanix” kind of power within you to lift any single weight in the gym. And mind you, everyday is not just the same — you need to push a little bit more than what you did yesterday. Its kind of a boomerang, you go to gym with little motivation and the whole gymming gives you more motivation to the rest of your day. You seem to understand the principles of the body, the mind and every single object that is there in the universe.
You know how to push little bit everywhere, you know how to develop endurance, you know how to develop and maintain stamina. I must agree that I really learned to listen to my body. My body literally speaks to me as to what it is ready to do, what it can’t do, what it is ready to take in, which energy it likes, which it repels, which food it is ok with and not, etc.
Thanks to everyone at fitness one, they really helped me push my limits, helped me understand the body and its parts and structure my workouts quite well. If you are reading this, there is atleast one take away for you — never stop doing that physical activity everyday. It is very very essential to the whole system.
Written by thanix on December 1st, 2007 with 1 comment.
Read more articles on fitness and health & wealth.
The next thing after the doctype that I learnt is what forms the basis of today’s data exchange between the client and the server in HTTP - the “cookies”.
HTTP is a stateless protocol. To understand what this really means — lets look at what HTTP itself is built on top of, the TCP/IP. For every page that the browser requests, the TCP underneath the HTTP makes a “connect” with the server (a connect is a 3-way handshake in TCP/IP protocol), pass over the HTTP data and then “disconnects”. There is no persistent connection maintained between the client and the server between requests. So, the server has no way of connecting a previous request with the current one and draw a co-relation — this means, for example, if a user gives a login request, the client connects to the server, passes the login data to the server, the server does the login for the user (user is in login state) and then disconnects it. The next time around when the user does an action, the same sequence of connect-data-disconnect happens, but then how does the server figure out that this user had already logged in? (Remind you that once the disconnect happens, the state information is lost and every request that comes in to the server is a new request with no past history). There must be some mechanism which enables this conversation between the server and the client about the state of the application.
There are several mechanisms to associate subsequent requests and maintain some kind of a state and one such working, reasonably good enough mechanism is “cookies”.
There are several rules that a browser sticks to make sure cookies are not messed up:
1. browser has a local storage area where cookies are stored (on the harddisk of the user)
2. browsers support around 20 cookies per domain and 300 cookies in total and each cookie’s maximum size fixed at around 4k (this varies)
3. browsers make sure that they don’t give away this domain’s cookies to some other domain - the same domain policy. (essentially, this means, for example, that google’s cookies are not given away to yahoo’s server and viceversa)
The third point is very important and it remained not so visible to me, until sometime, when I tried to read/write someone else’s cookies. For example, try to read the expiry time of a google’s cookie and set it to something else using a javascript on your domain.
I, actually realized why this script can’t do it by thinking a bit more - I could then give the url of the script and when they try to access the url, reset google’s cookies in anybody else’s computer to whatever time I want and just play.
Now there are variations to point #3 that make the cookies vulnerable like XSS (cross site scripting), which I’ll discuss in some other post. XSS falls under cookie stealing/theft (cookies can also be stolen in the network, which can be prevented using https), apart from this, there is the cookie poisoning (changing some values in the cookie without the knowledge of the server/client to produce some imitated change, which can be prevented by having a signature) etc.. But briefly, there are security and privacy concerns around cookies, that is what I understood.
The sequence of cookie exchange goes like this: Browser sends a request, the server sets the cookie in the HTTP header and sends it to the browser. Whenever the browser makes a request from the page which has cookie set, the cookie information is sent along with the request, so server figures out the state and acts accordingly.
Cookies can be set in server side (say, using a PHP script) like this:
<?php
//to set a cookie
setcookie('cookieName', 'cookieValue', $expiry, "/");
//to read a cookie
$cookie = $_COOKIE['cookieName'];
?>
Hmm.. when I wrote the setcookie(), I figured out that it has to be sequenced in the code in such a way that it appears before spitting out any HTML code (including any echos’ that you might’ve used. Otherwise, setcookie() simply returns false (the heaaders have already been sent, so cookie info cannot be set). Once the page is available, the cookies in the browser can be manipulated. Only that the next request to the server will go with the manipulated cookies.
Here an expiry time can be set as to when the cookie should expire. If the expiry time (in seconds) is provided, then a “persistent cookie” comes up (persistent cookies don’t expire, if I close the browser/session). The fourth parameter can tell which path this cookie is active on. There is also one more thing that the browser can do — send a particular cookie only for secure session (available as another parameter to setcookie).
On the client side, the browser can typically read and write the cookies through Javascript. I know not any other way to manipulate cookies on the clientside.
<script type="text/javascript">
document.cookie = "name=value; expires=time; path='/'; secure";
var cookies = document.cookie;
</script>
The first line to set a cookie and the second to read the values of the cookie.
Alright, the other ways to exchange data between the client and the server (of the state information) can possibly be:
1. Through URLs (have encoded strings that mimick cookie name/value pairs)
2. Hidden form variables and
3. possibly a few others methods..
Hmm.. they must be having their own difficulties or cookie seemed to be much reliable than these methods that having a cookie while browsing is almost like indispensable. I ponder on the reason why there is an option to enable/disable cookies - ya, obviously if a security vulnerability is found and the browser be used — atleast we could disable the cookies and have read data from the Internet, if not write!
Written by thanix on November 30th, 2007 with no comments.
Read more articles on basic and webdev.
I wrote the first html page like this:
<html>
<title> Hello </title>
<body> <h1> Hello World </h1> </body>
</html>
I showed the code to my fellow senior webdev and was immediately brought to the attention of using proper “doctype” declaration, which looks like this:
<!DOCTYPE HTML PUBLIC “-//W3C/DTD HTML 4.01 //EN” “http://www.w3.org/TR/html4/strict.dtd”>
So the story goes like this: Use of appropriate “doctype” makes the browser behave differently as the scenario demands. In “strict” doctype, browser renders the page as per W3C’s specifications and the browser is said to operate in what is called as the “standards” mode. In certain other cases like when you don’t specify the doctype correctly, the browser falls back to imitate older browsers (which do not adhere to W3C spec) - this behaviour of a browser is “quirks” mode operation.
My question then came: “How do I detect what mode a browser is currently rendering a particular page in?” There must be a Firefox extension or some other code/script which can tell me this mode. I didn’t get an answer and I still do not know what is the right way to do this. (After note: read my update in the bottom of this post)
Then there are two other types of doctypes, other than “strict”. They are the “transitional” and the “frameset”. The use of “transitional” comes into play when you want to use presentational attributes in markup and certain presentational markup tags like <font> <strike> <u> etc.. In all ways, using “transitional” doctypes should be avoided, as the presentation can be very well done with the use of CSS. In the semantic markup world, (we will see what this is, sometime later) CSS is for presentation and markup is just for meaningful grouping of content. So, a good webdev should try to use “strict” doctype.
If you want to refer to the exact syntax of the doctype magic line that you would use, refer w3c’s site[1]
[1] http://www.w3.org/QA/2002/04/valid-dtd-list.html
I’m not sure what “frameset” doctype means. I just know that “<frameset></frameset>” will be used in the place of “<body></body>” tags. I’ve never attempted to use these frameset tags, so I don’t know what the browser does with it.
So, the first headache that I cleared in my webdev world is to make sure that I communicate to the browser how to read my code. I did byheart this magic line and put it in the very beginning of every html page that I write:
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 //EN" "http://www.w3.org/TR/html4/strict.dtd">
UPDATE:
How do I figure out what mode a particular page is rendered on?
———————————————————————
Alright, a few of my friends updated me on how to figure out the Quirks mode. Its quite easy — in Firefox, Tools > Page Info (Ctrl + I) displays the “Render mode” of the browser, like this:

This site[2] has a nice bookmarklet which alerts you to say if the page is rendering in “Standards” mode or “Quirks” mode. By the way, if you do not know what a bookmarklet is — read on, others can skip this paragraph. When you go to the site[2], you will find a link that calls itself the bookmarklet (on the bottom of the page) which you should right click and add to the bookmarks toolbar. Then when you are in a page whose mode of rendering you want to figure out — just click on that bookmarklet, you’ll geta javascript alert (popup) saying the mode of rendering of that page.
[2] http://dorward.me.uk/www/bookmarklets/qors/
Written by thanix on November 29th, 2007 with 1 comment.
Read more articles on basic and webdev.