Basic relativity principles

Certain principles of relativity have been widely assumed in most scientific disciplines. One of the most widespread is the belief that any law of nature should be the same at all times; and scientific investigations generally assume that laws of nature are the same regardless of the person measuring them. These sorts of principles have been incorporated into scientific inquiry at the most fundamental of levels.

Any principle of relativity prescribes a symmetry in natural law: that is, the laws must look the same to one observer as they do to another. According to a deep theoretical result called Noether’s theorem, any such symmetry will also imply a conservation law alongside. For example, if two observers at different times see the same laws, then a quantity called energy will be conserved. In this light, relativity principles are not just statements about how scientists should write laws: they make testable predictions about how nature behaves.

Text is available under the Creative Commons Attribution-ShareAlike License

mechanics :|

Mechanics  is the branch of physics concerned with the behaviour of physical bodies when subjected to forces or displacements, and the subsequent effect of the bodies on their environment.

tcp tuning tcp_syncookies

tcp_syncookies.
Send out syncookies when the syn backlog queue of a socket overflows. This is to prevent against the common “syn flood attack”. Disabled (0) by default.

:--:cat /proc/sys/net/ipv4/tcp_syncookies
0
:--:
added from linux kernel source.
/*
160  * Generate a syncookie.  mssp points to the mss, which is returned
161  * rounded down to the value encoded in the cookie.
162  */
163 __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, __u16 *mssp)
164 {
165         const struct iphdr *iph = ip_hdr(skb);
166         const struct tcphdr *th = tcp_hdr(skb);
167         int mssind;
168         const __u16 mss = *mssp;
169
170         tcp_synq_overflow(sk);
171
172         /* XXX sort msstab[] by probability?  Binary search? */
173         for (mssind = 0; mss > msstab[mssind + 1]; mssind++)
174                 ;
175         *mssp = msstab[mssind] + 1;
176
177         NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_SYNCOOKIESSENT);
178
179         return secure_tcp_syn_cookie(iph->saddr, iph->daddr,
180                                      th->source, th->dest, ntohl(th->seq),
181                                      jiffies / (HZ * 60), mssind);
182 }

What does rfc 1337 say ?

From RFC 1337.
TIME-WAIT
state removes the hazard of old duplicates for “fast” or “long” connections, in which clock-driven ISN selection is unable to prevent overlap of the old and new sequence spaces. The TIME-WAIT delay allows all old duplicate segments time enough to die in the Internet before the connection is reopened.

echo 1 > /proc/sys/net/ipv4/tcp_rfc1337

 /* FIN arrived, enter true time-wait state. */
                tw->tw_substate   = TCP_TIME_WAIT;
                tcptw->tw_rcv_nxt = TCP_SKB_CB(skb)->end_seq;
                if (tmp_opt.saw_tstamp) {
                        tcptw->tw_ts_recent_stamp = get_seconds();
                        tcptw->tw_ts_recent       = tmp_opt.rcv_tsval;
                }

tcp tuning tcp_rfc1337

From RFC 1337.
TIME-WAIT
state removes the hazard of old duplicates for “fast” or “long” connections, in which clock-driven ISN selection is unable to prevent overlap of the old and new sequence spaces. The TIME-WAIT delay allows all old duplicate segments time enough to die in the Internet before the connection is reopened.

echo 1 > /proc/sys/net/ipv4/tcp_rfc1337
 /* FIN arrived, enter true time-wait state. */
                tw->tw_substate   = TCP_TIME_WAIT;
                tcptw->tw_rcv_nxt = TCP_SKB_CB(skb)->end_seq;
                if (tmp_opt.saw_tstamp) {
                        tcptw->tw_ts_recent_stamp = get_seconds();
                        tcptw->tw_ts_recent       = tmp_opt.rcv_tsval;
                }

generating random passwords.

makepass.py

from random import choice
import string
def GenPasswd(length=8, chars=string.letters+string.digits):
    return ''.join([ choice(chars) for i in range(length) ])
ahiliation:~$python
Python 2.5.5 (r255:77872, Mar 20 2010, 05:19:32)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import makepass
>>> for i in range(6):
...    print makepass.GenPasswd(12)
...
BSxqLK9mpq4R
FRlppP7K2Che
YBkz0QZMJojC
JjTQlcHzDsC3
WMD5BfRcyTEk
quO9nlBirm2U
>>>

Credit : Devin Leung.

getservbyname programming

The getservbyname() function returns a servent structure for the entry from the database that  matches  the  service name  using protocol proto.  If proto is NULL, any protocol will be matched.  A connection is opened to the database if necessary.

getservbyname(“ftp”, “tcp”) = 0x7fcc5248b8c0

The servent structure is defined in as follows:

struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port number */
char *s_proto; /* protocol to use */
}

Stallman, Richard: The Realization
[audio:http://www.freeinfosociety.com/media/sounds/72.mp3]