Blue Bull Analytics
Log in
Overview
Audience
Demographics
Age
Gender
Interest
Affinity Categories
In-Market Segments
Other Categories
Geo
Response
Response Result
Audience Response
Turn You into Angel!👼
Gender:
Male
Female
Age:
Below 15
16-18
19-23
24-30
31-40
Above 41
Marital Status:
Single
Married
Divorced
Occupation
(Please Choose one...)
Designer
Engineer
Student
Other:...
Why would you start playing "Turn You into Angel!"?
It seems fun.
It is popular among my friend
I Don't know ?
Attitude towards Advertisement
Do you like Advertisement generally speaking?
1 (Totally Disagree)
2
3
4
5 (Totally Agree)
Would you purchase products that are advertised?
1 (Totally Disagree)
2
3
4
5 (Totally Agree)
Advertisement in Game
Do you notice the advertisement in game?
Yes
No
If yes, can you recall the explict name of the produt in game?
Edit
Review
Post changes


| 1 |
NELSON MANDELA |
95 |
Former political prisoner who upon his release was elected president of South Africa in 1994. |
| 2 |
STEVE NASH |
39 |
NBA legend who won the MVP in 2005 and 2006 with the Phoenix Suns, and played in eight NBA All-Star games. |
| 3 |
SASHA PIETERSE |
17 |
Teen actress who played Alison DiLaurentis on the hit ABC Family series Pretty Little Liars. |
| 4 |
J.R.R. TOLKIEN |
(1892-1973) |
English author, poet, and professor who created The Hobbit and The Lord of the Rings trilogy. |
| 5 |
CARIBA HEINE |
24 |
South African television actress and dancer, most well known as Rikki Chadwick on Australia's H20: Just Add Water. |
| 6 |
CHARLIZE THERON |
37 |
She hit the spotlight in The Devil's Advocate, and won an Academy Award for Best Actress for her role as a disturbed murderer in the 2003 film, Monster. |
| 7 |
CANDICE SWANEPOEL |
24 |
Famous for being a Victoria Secret model. |
| 8 |
BETH TWEDDLE |
28 |
British gymnastics champion who also competed in three Olympic games. |
| 9 |
DAVE MATTHEWS |
46 |
Singer and guitar player for the Dave Matthews Band, he won a Grammy Award for the song, So Much To Say. |
| 10 |
OSCAR PISTORIUS |
26 |
South African sprint runner who is a double amputee, and has competed in the Olympics, widely known as the blade runner. |
| 11 |
JUSTIN GABRIEL |
32 |
Works for WWE SmackDown; known for being the next 'Breakout Superstar' after competing in 2010. |
| 12 |
TAMMIN SURSOK |
29 |
Plays the role of Jenna on 'Pretty Little Liars' alongside Ashley Benson. |
| 13 |
DEAN GEYER |
27 |
Singer-songwriter who placed third in Australia's version of American Idol; plays the role of Brody Weston on Glee. |
| 14 |
LUOL DENG |
28 |
Chicago bulls swing man who played in the 2012 NBA All-Star game. |
| 15 |
CHRISTIAN BENTEKE |
22 |
Belgian footballer who became known as a player for Aston Villa and the Belgian national team. |
| 16 |
BISHOP DESMOND TUTU |
81 |
Anglican Archbishop who urged equality of black South Africans. |
| 17 |
ELON MUSK |
42 |
American Engineer who founded PayPal, SpaceX, and Tesla Motors. |
| 18 |
DALE STEYN |
30 |
South African cricket star who represents the South African national team and Cape Cobras. |
| 19 |
MIRIAM MAKEBA |
(1932-2008) |
South African singer whose music was embraced worldwide. |
| 20 |
WILFRIED ZAHA |
20 |
Winger and striker for Crystal Palace and Manchester United. |


Survey Form
Please fill out this survey to help us improve our services.
Name:
Email:
Age:
Phone Number:
Which option best describes your current role?
Select current role
Student
Full Time Job
Full Time Learner
Prefer not to say
In the Brazilian's struggle
Living a dream
Other
What is your gender?
Male
Female
Non-binary
Genderqueer
Genderfluid
Agender
Two-spirit
Transgender
Cisgender
Bigender
Androgynous
Demigender
Other
Which of the following programming languages do you know?
JavaScript
Python
Java
C++
C#
PHP
TypeScript
Swift
Kotlin
Go
Ruby
Perl
Scala
Rust
SQL
Additional Comments:
Submit


Searching my roots
Webmaster, Web Developer, surfing the Internet since 1995.
About Me
Started to play with internet in 1995 and I have never stop. This is my job. I had make hundreds web projects and I worked with many companies. Now I start again from the roots. Quite old to stay hungry and foolish with the right experience.


{% extends "home.html" %} {% block title %}Genevieve {{username}}'s Reports{% endblock %} {% block navbar %} Logout {% endblock %} {% block main %}
Import data from 23andme:
Or upload a file:
Please upload a gzipped vcf file
Submit


IP
Section: Linux Programmer's Manual (7)
Updated: 2014-05-10
Index
Return to Main Contents
NAME
ip - Linux IPv4 protocol implementation
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
raw_socket = socket(AF_INET, SOCK_RAW, protocol);
DESCRIPTION
Linux implements the Internet Protocol, version 4,
described in RFC 791 and RFC 1122.
ip
contains a level 2 multicasting implementation conforming to RFC 1112.
It also contains an IP router including a packet filter.
The programming interface is BSD-sockets compatible.
For more information on sockets, see
socket(7).
An IP socket is created by calling the
socket(2)
function as
socket(AF_INET, socket_type, protocol).
Valid socket types are
SOCK_STREAM
to open a
tcp(7)
socket,
SOCK_DGRAM
to open a
udp(7)
socket, or
SOCK_RAW
to open a
raw(7)
socket to access the IP protocol directly.
protocol
is the IP protocol in the IP header to be received or sent.
The only valid values for
protocol
are 0 and
IPPROTO_TCP
for TCP sockets, and 0 and
IPPROTO_UDP
for UDP sockets.
For
SOCK_RAW
you may specify a valid IANA IP protocol defined in
RFC 1700 assigned numbers.
When a process wants to receive new incoming packets or connections, it
should bind a socket to a local interface address using
bind(2).
In this case, only one IP socket may be bound to any given local
(address, port) pair.
When
INADDR_ANY
is specified in the bind call, the socket will be bound to
all
local interfaces.
When
listen(2)
is called on an unbound socket, the socket is automatically bound
to a random free port with the local address set to
INADDR_ANY.
When
connect(2)
is called on an unbound socket, the socket is automatically bound
to a random free port or to a usable shared port with the local address
set to
INADDR_ANY.
A TCP local socket address that has been bound is unavailable for
some time after closing, unless the
SO_REUSEADDR
flag has been set.
Care should be taken when using this flag as it makes TCP less reliable.
Address format
An IP socket address is defined as a combination of an IP interface
address and a 16-bit port number.
The basic IP protocol does not supply port numbers, they
are implemented by higher level protocols like
udp(7)
and
tcp(7).
On raw sockets
sin_port
is set to the IP protocol.
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct in_addr sin_addr; /* internet address */
};
/* Internet address. */
struct in_addr {
uint32_t s_addr; /* address in network byte order */
};
sin_family
is always set to
AF_INET.
This is required; in Linux 2.2 most networking functions return
EINVAL
when this setting is missing.
sin_port
contains the port in network byte order.
The port numbers below 1024 are called
privileged ports
(or sometimes:
reserved ports).
Only privileged processes (i.e., those having the
CAP_NET_BIND_SERVICE
capability) may
bind(2)
to these sockets.
Note that the raw IPv4 protocol as such has no concept of a
port, they are implemented only by higher protocols like
tcp(7)
and
udp(7).
sin_addr
is the IP host address.
The
s_addr
member of
struct in_addr
contains the host interface address in network byte order.
in_addr
should be assigned one of the
INADDR_*
values (e.g.,
INADDR_ANY)
or set using the
inet_aton(3),
inet_addr(3),
inet_makeaddr(3)
library functions or directly with the name resolver (see
gethostbyname(3)).
IPv4 addresses are divided into unicast, broadcast
and multicast addresses.
Unicast addresses specify a single interface of a host,
broadcast addresses specify all hosts on a network and multicast
addresses address all hosts in a multicast group.
Datagrams to broadcast addresses can be sent or received only when the
SO_BROADCAST
socket flag is set.
In the current implementation, connection-oriented sockets are allowed
to use only unicast addresses.
Note that the address and the port are always stored in
network byte order.
In particular, this means that you need to call
htons(3)
on the number that is assigned to a port.
All address/port manipulation
functions in the standard library work in network byte order.
There are several special addresses:
INADDR_LOOPBACK
(<IP_ADDRESS>)
always refers to the local host via the loopback device;
INADDR_ANY
(<IP_ADDRESS>)
means any address for binding;
INADDR_BROADCAST
(<IP_ADDRESS>)
means any host and has the same effect on bind as
INADDR_ANY
for historical reasons.
Socket options
IP supports some protocol-specific socket options that can be set with
setsockopt(2)
and read with
getsockopt(2).
The socket option level for IP is
IPPROTO_IP.
A boolean integer flag is zero when it is false, otherwise true.
- IP_ADD_MEMBERSHIP (since Linux 1.2)
-
Join a multicast group.
Argument is an
ip_mreqn
structure.
struct ip_mreqn {
struct in_addr imr_multiaddr; /* IP multicast group
address */
struct in_addr imr_address; /* IP address of local
interface */
int imr_ifindex; /* interface index */
};
imr_multiaddr
contains the address of the multicast group the application
wants to join or leave.
It must be a valid multicast address
(or
setsockopt(2)
fails with the error
EINVAL).
imr_address
is the address of the local interface with which the system
should join the multicast group; if it is equal to
INADDR_ANY,
an appropriate interface is chosen by the system.
imr_ifindex
is the interface index of the interface that should join/leave the
imr_multiaddr
group, or 0 to indicate any interface.
-
The
ip_mreqn
structure is available only since Linux 2.2.
For compatibility, the old
ip_mreq
structure (present since Linux 1.2) is still supported;
it differs from
ip_mreqn
only by not including the
imr_ifindex
field.
Only valid as a
setsockopt(2).
- IP_ADD_SOURCE_MEMBERSHIP (since Linux 2.4.22 / 2.5.68)
-
Join a multicast group and allow receiving data only
from a specified source.
Argument is an
ip_mreq_source
structure.
struct ip_mreq_source {
struct in_addr imr_multiaddr; /* IP multicast group
address */
struct in_addr imr_interface; /* IP address of local
interface */
struct in_addr imr_sourceaddr; /* IP address of
multicast source */
};
The
ip_mreq_source
structure is similar to
ip_mreqn
described under
IP_ADD_MEMBERSIP.
The
imr_multiaddr
field contains the address of the multicast group the application
wants to join or leave.
The
imr_interface
field is the address of the local interface with which
the system should join the multicast group.
Finally, the
imr_sourceaddr
field contains the address of the source the
application wants to receive data from.
-
This option can be used multiple times to allow
receiving data from more than one source.
- IP_BLOCK_SOURCE (since Linux 2.4.22 / 2.5.68)
-
Stop receiving multicast data from a specific source in a given group.
This is valid only after the application has subscribed
to the multicast group using either
IP_ADD_MEMBERSHIP
or
IP_ADD_SOURCE_MEMBERSHIP.
-
Argument is an
ip_mreq_source
structure as described under
IP_ADD_SOURCE_MEMBERSHIP.
- IP_DROP_MEMBERSHIP (since Linux 1.2)
-
Leave a multicast group.
Argument is an
ip_mreqn
or
ip_mreq
structure similar to
IP_ADD_MEMBERSHIP.
- IP_DROP_SOURCE_MEMBERSHIP (since Linux 2.4.22 / 2.5.68)
-
Leave a source-specific group---that is, stop receiving data from
a given multicast group that come from a given source.
If the application has subscribed to multiple sources within
the same group, data from the remaining sources will still be delivered.
To stop receiving data from all sources at once, use
IP_LEAVE_GROUP.
-
Argument is an
ip_mreq_source
structure as described under
IP_ADD_SOURCE_MEMBERSHIP.
- IP_FREEBIND (since Linux 2.4)
-
If enabled, this boolean option allows binding to an IP address
that is nonlocal or does not (yet) exist.
This permits listening on a socket,
without requiring the underlying network interface or the
specified dynamic IP address to be up at the time that
the application is trying to bind to it.
This option is the per-socket equivalent of the
ip_nonlocal_bind
/proc
interface described below.
- IP_HDRINCL (since Linux 2.0)
-
If enabled,
the user supplies an IP header in front of the user data.
Only valid for
SOCK_RAW
sockets.
See
raw(7)
for more information.
When this flag is enabled the values set by
IP_OPTIONS,
IP_TTL
and
IP_TOS
are ignored.
- IP_MSFILTER (since Linux 2.4.22 / 2.5.68)
-
This option provides access to the advanced full-state filtering API.
Argument is an
ip_msfilter
structure.
struct ip_msfilter {
struct in_addr imsf_multiaddr; /* IP multicast group
address */
struct in_addr imsf_interface; /* IP address of local
interface */
uint32_t imsf_fmode; /* Filter-mode */
uint32_t imsf_numsrc; /* Number of sources in
the following array */
struct in_addr imsf_slist[1]; /* Array of source
addresses */
};
There are two macros,
MCAST_INCLUDE
and
MCAST_EXCLUDE,
which can be used to specify the filtering mode.
Additionally, the
IP_MSFILTER_SIZE(n)
macro exists to determine how much memory is needed to store
ip_msfilter
structure with
n
sources in the source list.
-
For the full description of multicast source filtering
refer to RFC 3376.
- IP_MTU (since Linux 2.2)
-
Retrieve the current known path MTU of the current socket.
Valid only when the socket has been connected.
Returns an integer.
Only valid as a
getsockopt(2).
- IP_MTU_DISCOVER (since Linux 2.2)
-
Set or receive the Path MTU Discovery setting for a socket.
When enabled, Linux will perform Path MTU Discovery
as defined in RFC 1191 on
SOCK_STREAM
sockets.
For
non-SOCK_STREAM
sockets,
IP_PMTUDISC_DO
forces the don't-fragment flag to be set on all outgoing packets.
It is the user's responsibility to packetize the data
in MTU-sized chunks and to do the retransmits if necessary.
The kernel will reject (with
EMSGSIZE)
datagrams that are bigger than the known path MTU.
IP_PMTUDISC_WANT
will fragment a datagram if needed according to the path MTU,
or will set the don't-fragment flag otherwise.
The system-wide default can be toggled between
IP_PMTUDISC_WANT
and
IP_PMTUDISC_DONT
by writing (respectively, zero and nonzero values) to the
/proc/sys/net/ipv4/ip_no_pmtu_disc
file.
| Path MTU discovery value | Meaning
|
| IP_PMTUDISC_WANT | Use per-route settings.
|
| IP_PMTUDISC_DONT | Never do Path MTU Discovery.
|
| IP_PMTUDISC_DO | Always do Path MTU Discovery.
|
| IP_PMTUDISC_PROBE | Set DF but ignore Path MTU.
|
When PMTU discovery is enabled, the kernel automatically keeps track of
the path MTU per destination host.
When it is connected to a specific peer with
connect(2),
the currently known path MTU can be retrieved conveniently using the
IP_MTU
socket option (e.g., after an
EMSGSIZE
error occurred).
The path MTU may change over time.
For connectionless sockets with many destinations,
the new MTU for a given destination can also be accessed using the
error queue (see
IP_RECVERR).
A new error will be queued for every incoming MTU update.
While MTU discovery is in progress, initial packets from datagram sockets
may be dropped.
Applications using UDP should be aware of this and not
take it into account for their packet retransmit strategy.
To bootstrap the path MTU discovery process on unconnected sockets, it
is possible to start with a big datagram size
(up to 64K-headers bytes long) and let it shrink by updates of the path MTU.
To get an initial estimate of the
path MTU, connect a datagram socket to the destination address using
connect(2)
and retrieve the MTU by calling
getsockopt(2)
with the
IP_MTU
option.
It is possible to implement RFC 4821 MTU probing with
SOCK_DGRAM
or
SOCK_RAW
sockets by setting a value of
IP_PMTUDISC_PROBE
(available since Linux 2.6.22).
This is also particularly useful for diagnostic tools such as
tracepath(8)
that wish to deliberately send probe packets larger than
the observed Path MTU.
- IP_MULTICAST_ALL (since Linux 2.6.31)
-
This option can be used to modify the delivery policy of multicast messages
to sockets bound to the wildcard
INADDR_ANY
address.
The argument is a boolean integer (defaults to 1).
If set to 1,
the socket will receive messages from all the groups that have been joined
globally on the whole system.
Otherwise, it will deliver messages only from
the groups that have been explicitly joined (for example via the
IP_ADD_MEMBERSHIP
option) on this particular socket.
- IP_MULTICAST_IF (since Linux 1.2)
-
Set the local device for a multicast socket.
Argument is an
ip_mreqn
or
ip_mreq
(since Linux 3.5)
structure similar to
IP_ADD_MEMBERSHIP.
-
When an invalid socket option is passed,
ENOPROTOOPT
is returned.
- IP_MULTICAST_LOOP (since Linux 1.2)
-
Set or read a boolean integer argument that determines whether
sent multicast packets should be looped back to the local sockets.
- IP_MULTICAST_TTL (since Linux 1.2)
-
Set or read the time-to-live value of outgoing multicast packets for this
socket.
It is very important for multicast packets to set the smallest TTL possible.
The default is 1 which means that multicast packets don't leave the local
network unless the user program explicitly requests it.
Argument is an integer.
- IP_NODEFRAG (since Linux 2.6.36)
-
If enabled (argument is nonzero),
the reassembly of outgoing packets is disabled in the netfilter layer.
This option is valid only for
SOCK_RAW
sockets.
The argument is an integer.
- IP_OPTIONS (since Linux 2.0)
-
Set or get the IP options to be sent with every packet from this socket.
The arguments are a pointer to a memory buffer containing the options
and the option length.
The
setsockopt(2)
call sets the IP options associated with a socket.
The maximum option size for IPv4 is 40 bytes.
See RFC 791 for the allowed options.
When the initial connection request packet for a
SOCK_STREAM
socket contains IP options, the IP options will be set automatically
to the options from the initial packet with routing headers reversed.
Incoming packets are not allowed to change options after the connection
is established.
The processing of all incoming source routing options
is disabled by default and can be enabled by using the
accept_source_route
/proc
interface.
Other options like timestamps are still handled.
For datagram sockets, IP options can be only set by the local user.
Calling
getsockopt(2)
with
IP_OPTIONS
puts the current IP options used for sending into the supplied buffer.
- IP_PKTINFO (since Linux 2.2)
-
Pass an
IP_PKTINFO
ancillary message that contains a
pktinfo
structure that supplies some information about the incoming packet.
This only works for datagram oriented sockets.
The argument is a flag that tells the socket whether the
IP_PKTINFO
message should be passed or not.
The message itself can only be sent/retrieved
as control message with a packet using
recvmsg(2)
or
sendmsg(2).
-
struct in_pktinfo {
unsigned int ipi_ifindex; /* Interface index */
struct in_addr ipi_spec_dst; /* Local address */
struct in_addr ipi_addr; /* Header Destination
address */
};
-
ipi_ifindex
is the unique index of the interface the packet was received on.
ipi_spec_dst
is the local address of the packet and
ipi_addr
is the destination address in the packet header.
If
IP_PKTINFO
is passed to
sendmsg(2)
and
ipi_spec_dst
is not zero, then it is used as the local source address for the routing
table lookup and for setting up IP source route options.
When
ipi_ifindex
is not zero, the primary local address of the interface specified by the
index overwrites
ipi_spec_dst
for the routing table lookup.
- IP_RECVERR (since Linux 2.2)
-
Enable extended reliable error message passing.
When enabled on a datagram socket, all
generated errors will be queued in a per-socket error queue.
When the user receives an error from a socket operation,
the errors can be received by calling
recvmsg(2)
with the
MSG_ERRQUEUE
flag set.
The
sock_extended_err
structure describing the error will be passed in an ancillary message with
the type
IP_RECVERR
and the level
IPPROTO_IP.
This is useful for reliable error handling on unconnected sockets.
The received data portion of the error queue contains the error packet.
-
The
IP_RECVERR
control message contains a
sock_extended_err
structure:
-
#define SO_EE_ORIGIN_NONE 0
#define SO_EE_ORIGIN_LOCAL 1
#define SO_EE_ORIGIN_ICMP 2
#define SO_EE_ORIGIN_ICMP6 3
struct sock_extended_err {
uint32_t ee_errno; /* error number */
uint8_t ee_origin; /* where the error originated */
uint8_t ee_type; /* type */
uint8_t ee_code; /* code */
uint8_t ee_pad;
uint32_t ee_info; /* additional information */
uint32_t ee_data; /* other data */
/* More data may follow */
};
struct sockaddr *SO_EE_OFFENDER(struct sock_extended_err *);
-
ee_errno
contains the
errno
number of the queued error.
ee_origin
is the origin code of where the error originated.
The other fields are protocol-specific.
The macro
SO_EE_OFFENDER
returns a pointer to the address of the network object
where the error originated from given a pointer to the ancillary message.
If this address is not known, the
sa_family
member of the
sockaddr
contains
AF_UNSPEC
and the other fields of the
sockaddr
are undefined.
-
IP uses the
sock_extended_err
structure as follows:
ee_origin
is set to
SO_EE_ORIGIN_ICMP
for errors received as an ICMP packet, or
SO_EE_ORIGIN_LOCAL
for locally generated errors.
Unknown values should be ignored.
ee_type
and
ee_code
are set from the type and code fields of the ICMP header.
ee_info
contains the discovered MTU for
EMSGSIZE
errors.
The message also contains the
sockaddr_in of the node
caused the error, which can be accessed with the
SO_EE_OFFENDER
macro.
The
sin_family
field of the
SO_EE_OFFENDER
address is
AF_UNSPEC
when the source was unknown.
When the error originated from the network, all IP options
(IP_OPTIONS, IP_TTL,
etc.) enabled on the socket and contained in the
error packet are passed as control messages.
The payload of the packet causing the error is returned as normal payload.
Note that TCP has no error queue;
MSG_ERRQUEUE
is not permitted on
SOCK_STREAM
sockets.
IP_RECVERR
is valid for TCP, but all errors are returned by socket function return or
SO_ERROR
only.
-
For raw sockets,
IP_RECVERR
enables passing of all received ICMP errors to the
application, otherwise errors are only reported on connected sockets
-
It sets or retrieves an integer boolean flag.
IP_RECVERR
defaults to off.
- IP_RECVOPTS (since Linux 2.2)
-
Pass all incoming IP options to the user in a
IP_OPTIONS
control message.
The routing header and other options are already filled in
for the local host.
Not supported for
SOCK_STREAM
sockets.
- IP_RECVORIGDSTADDR (since Linux 2.6.29)
-
This boolean option enables the
IP_ORIGDSTADDR
ancillary message in
recvmsg(2),
in which the kernel returns the original destination address
of the datagram being received.
The ancillary message contains a
struct sockaddr_in.
- IP_RECVTOS (since Linux 2.2)
-
If enabled, the
IP_TOS
ancillary message is passed with incoming packets.
It contains a byte which specifies the Type of Service/Precedence
field of the packet header.
Expects a boolean integer flag.
- IP_RECVTTL (since Linux 2.2)
-
When this flag is set, pass a
IP_TTL
control message with the time to live
field of the received packet as a byte.
Not supported for
SOCK_STREAM
sockets.
- IP_RETOPTS (since Linux 2.2)
-
Identical to
IP_RECVOPTS,
but returns raw unprocessed options with timestamp and route record
options not filled in for this hop.
- IP_ROUTER_ALERT (since Linux 2.2)
-
Pass all to-be forwarded packets with the
IP Router Alert option set to this socket.
Only valid for raw sockets.
This is useful, for instance, for user-space RSVP daemons.
The tapped packets are not forwarded by the kernel; it is
the user's responsibility to send them out again.
Socket binding is ignored,
such packets are only filtered by protocol.
Expects an integer flag.
- IP_TOS (since Linux 1.0)
-
Set or receive the Type-Of-Service (TOS) field that is sent
with every IP packet originating from this socket.
It is used to prioritize packets on the network.
TOS is a byte.
There are some standard TOS flags defined:
IPTOS_LOWDELAY
to minimize delays for interactive traffic,
IPTOS_THROUGHPUT
to optimize throughput,
IPTOS_RELIABILITY
to optimize for reliability,
IPTOS_MINCOST
should be used for "filler data" where slow transmission doesn't matter.
At most one of these TOS values can be specified.
Other bits are invalid and shall be cleared.
Linux sends
IPTOS_LOWDELAY
datagrams first by default,
but the exact behavior depends on the configured queueing discipline.
Some high priority levels may require superuser privileges (the
CAP_NET_ADMIN
capability).
The priority can also be set in a protocol independent way by the
(SOL_SOCKET, SO_PRIORITY)
socket option (see
socket(7)).
- IP_TRANSPARENT (since Linux 2.6.24)
-
Setting this boolean option enables transparent proxying on this socket.
This socket option allows
the calling application to bind to a nonlocal IP address and operate
both as a client and a server with the foreign address as the local endpoint.
NOTE: this requires that routing be set up in a way that
packets going to the foreign address are routed through the TProxy box
(i.e., the system hosting the application that employs the
IP_TRANSPARENT
socket option).
Enabling this socket option requires superuser privileges
(the
CAP_NET_ADMIN
capability).
-
TProxy redirection with the iptables TPROXY target also requires that
this option be set on the redirected socket.
- IP_TTL (since Linux 1.0)
-
Set or retrieve the current time-to-live field that is used in every packet
sent from this socket.
- IP_UNBLOCK_SOURCE (since Linux 2.4.22 / 2.5.68)
-
Unblock previously blocked multicast source.
Returns
EADDRNOTAVAIL
when given source is not being blocked.
-
Argument is an
ip_mreq_source
structure as described under
IP_ADD_SOURCE_MEMBERSHIP.
/proc interfaces
The IP protocol
supports a set of
/proc
interfaces to configure some global parameters.
The parameters can be accessed by reading or writing files in the directory
/proc/sys/net/ipv4/.
Interfaces described as
Boolean
take an integer value, with a nonzero value ("true") meaning that
the corresponding option is enabled, and a zero value ("false")
meaning that the option is disabled.
- ip_always_defrag (Boolean; since Linux 2.2.13)
-
[New with kernel 2.2.13; in earlier kernel versions this feature
was controlled at compile time by the
CONFIG_IP_ALWAYS_DEFRAG
option; this option is not present in 2.4.x and later]
When this boolean flag is enabled (not equal 0), incoming fragments
(parts of IP packets
that arose when some host between origin and destination decided
that the packets were too large and cut them into pieces) will be
reassembled (defragmented) before being processed, even if they are
about to be forwarded.
Only enable if running either a firewall that is the sole link
to your network or a transparent proxy; never ever use it for a
normal router or host.
Otherwise, fragmented communication can be disturbed
if the fragments travel over different links.
Defragmentation also has a large memory and CPU time cost.
This is automagically turned on when masquerading or transparent
proxying are configured.
- ip_autoconfig (since Linux 2.2 to 2.6.17)
-
Not documented.
- ip_default_ttl (integer; default: 64; since Linux 2.2)
-
Set the default time-to-live value of outgoing packets.
This can be changed per socket with the
IP_TTL
option.
- ip_dynaddr (Boolean; default: disabled; since Linux 2.0.31)
-
Enable dynamic socket address and masquerading entry rewriting on interface
address change.
This is useful for dialup interface with changing IP addresses.
0 means no rewriting, 1 turns it on and 2 enables verbose mode.
- ip_forward (Boolean; default: disabled; since Linux 1.2)
-
Enable IP forwarding with a boolean flag.
IP forwarding can be also set on a per-interface basis.
- ip_local_port_range (since Linux 2.2)
-
This file contains two integers that define the default local port range
allocated to sockets that are not explicitly bound to a port number---that
is, the range used for
ephemeral ports.
An ephemeral port is allocated to a socket in the following circumstances:
-
- *
-
the port number in a socket address is specified as 0 when calling
bind(2);
- *
-
listen(2)
is called on a stream socket that was not previously bound;
- *
-
connect(2)
was called on a socket that was not previously bound;
- *
-
sendto(2)
is called on a datagram socket that was not previously bound.
-
Allocation of ephemeral ports starts with the first number in
ip_local_port_range
and ends with the second number.
If the range of ephemeral ports is exhausted,
then the relevant system call returns an error (but see BUGS).
-
Note that the port range in
ip_local_port_range
should not conflict with the ports used by masquerading
(although the case is handled).
Also, arbitrary choices may cause problems with some firewall packet
filters that make assumptions about the local ports in use.
The first number should be at least greater than 1024,
or better, greater than 4096, to avoid clashes
with well known ports and to minimize firewall problems.
- ip_no_pmtu_disc (Boolean; default: disabled; since Linux 2.2)
-
If enabled, don't do Path MTU Discovery for TCP sockets by default.
Path MTU discovery may fail if misconfigured firewalls (that drop
all ICMP packets) or misconfigured interfaces (e.g., a point-to-point
link where the both ends don't agree on the MTU) are on the path.
It is better to fix the broken routers on the path than to turn off
Path MTU Discovery globally, because not doing it incurs a high cost
to the network.
- ip_nonlocal_bind (Boolean; default: disabled; since Linux 2.4)
-
If set, allows processes to
bind(2)
to nonlocal IP addresses,
which can be quite useful, but may break some applications.
- ip6frag_time (integer; default: 30)
-
Time in seconds to keep an IPv6 fragment in memory.
- ip6frag_secret_interval (integer; default: 600)
-
Regeneration interval (in seconds) of the hash secret (or lifetime
for the hash secret) for IPv6 fragments.
- ipfrag_high_thresh (integer), ipfrag_low_thresh (integer)
-
If the amount of queued IP fragments reaches
ipfrag_high_thresh,
the queue is pruned down to
ipfrag_low_thresh.
Contains an integer with the number of bytes.
- neigh/*
-
See
arp(7).
Ioctls
All ioctls described in
socket(7)
apply to
ip.
Ioctls to configure generic device parameters are described in
netdevice(7).
ERRORS
- EACCES
-
The user tried to execute an operation without the necessary permissions.
These include:
sending a packet to a broadcast address without having the
SO_BROADCAST
flag set;
sending a packet via a
prohibit
route;
modifying firewall settings without superuser privileges (the
CAP_NET_ADMIN
capability);
binding to a privileged port without superuser privileges (the
CAP_NET_BIND_SERVICE
capability).
- EADDRINUSE
-
Tried to bind to an address already in use.
- EADDRNOTAVAIL
-
A nonexistent interface was requested or the requested source
address was not local.
- EAGAIN
-
Operation on a nonblocking socket would block.
- EALREADY
-
An connection operation on a nonblocking socket is already in progress.
- ECONNABORTED
-
A connection was closed during an
accept(2).
- EHOSTUNREACH
-
No valid routing table entry matches the destination address.
This error can be caused by a ICMP message from a remote router or
for the local routing table.
- EINVAL
-
Invalid argument passed.
For send operations this can be caused by sending to a
blackhole
route.
- EISCONN
-
connect(2)
was called on an already connected socket.
- EMSGSIZE
-
Datagram is bigger than an MTU on the path and it cannot be fragmented.
- ENOBUFS, ENOMEM
-
Not enough free memory.
This often means that the memory allocation is limited by the socket
buffer limits, not by the system memory, but this is not 100% consistent.
- ENOENT
-
SIOCGSTAMP
was called on a socket where no packet arrived.
- ENOPKG
-
A kernel subsystem was not configured.
- ENOPROTOOPT and EOPNOTSUPP
-
Invalid socket option passed.
- ENOTCONN
-
The operation is defined only on a connected socket, but the socket wasn't
connected.
- EPERM
-
User doesn't have permission to set high priority, change configuration,
or send signals to the requested process or group.
- EPIPE
-
The connection was unexpectedly closed or shut down by the other end.
- ESOCKTNOSUPPORT
-
The socket is not configured or an unknown socket type was requested.
Other errors may be generated by the overlaying protocols; see
tcp(7),
raw(7),
udp(7),
and
socket(7).
NOTES
IP_FREEBIND,
IP_MSFILTER,
IP_MTU,
IP_MTU_DISCOVER,
IP_RECVORIGDSTADDR,
IP_PKTINFO,
IP_RECVERR,
IP_ROUTER_ALERT,
and
IP_TRANSPARENT
are Linux-specific.
Be very careful with the
SO_BROADCAST
option - it is not privileged in Linux.
It is easy to overload the network
with careless broadcasts.
For new application protocols
it is better to use a multicast group instead of broadcasting.
Broadcasting is discouraged.
Some other BSD sockets implementations provide
IP_RCVDSTADDR
and
IP_RECVIF
socket options to get the destination address and the interface of
received datagrams.
Linux has the more general
IP_PKTINFO
for the same task.
Some BSD sockets implementations also provide an
IP_RECVTTL
option, but an ancillary message with type
IP_RECVTTL
is passed with the incoming packet.
This is different from the
IP_TTL
option used in Linux.
Using
SOL_IP
socket options level isn't portable, BSD-based stacks use
IPPROTO_IP
level.
Compatibility
For compatibility with Linux 2.0, the obsolete
socket(AF_INET, SOCK_PACKET, protocol)
syntax is still supported to open a
packet(7)
socket.
This is deprecated and should be replaced by
socket(AF_PACKET, SOCK_RAW, protocol)
instead.
The main difference is the new
sockaddr_ll
address structure for generic link layer information instead of the old
sockaddr_pkt.
BUGS
There are too many inconsistent error values.
The error used to diagnose exhaustion of the ephemeral port range differs
across the various system calls
(connect(2),
bind(2),
listen(2),
sendto(2))
that can assign ephemeral ports.
The ioctls to configure IP-specific interface options and ARP tables are
not described.
Receiving the original destination address with
MSG_ERRQUEUE
in
msg_name
by
recvmsg(2)
does not work in some 2.2 kernels.
SEE ALSO
recvmsg(2),
sendmsg(2),
byteorder(3),
ipfw(4),
capabilities(7),
icmp(7),
ipv6(7),
netlink(7),
raw(7),
socket(7),
tcp(7),
udp(7)
RFC 791 for the original IP specification.
RFC 1122 for the IPv4 host requirements.
RFC 1812 for the IPv4 router requirements.

Time: 02:55:21 GMT, September 18, 2014


# MiniHTTPD PHP Webserver This is a barebones webserver written entirely in PHP for standalone use on Windows systems. It is designed either for local testing of PHP projects on the fly without needing a full WAMP installation, or for running simple desktop applications via a browser-based user interface. Some of the main features include: - Simple installation, easy to configure and use OOB - Console or windowed (background) mode - Support for serving both static and dynamic content - FastCGI process pool for executing PHP scripts - Handling of multiple client connections - Modular request handler system, easily extended - Support for SSL connections - Extensible source scripts ## Installation Everything needed to run the webserver is included in the release. There are no external dependencies, and there is no installer. Just download the zip file and extract it to a folder of your choice - somewhere outside of any UAC control - and run the server from there. The binaries are included in the \bin\php directory (NB: if you're pulling from the repository, you'll need to add these manually from the zip). These are the standard PHP 5.4.3 for Windows builds. All of the scripts that run the server are included in the \lib\minihttpd directory, where they can be edited or extended as required. There are a few configuration files that need to be read carefully and edited: - **\lib\minihttpd\config\default.ini**: this is the default server configuration file that is used if no ini file is found in the root folder. Copy this to the root folder, rename it (to anything) and make your changes. The options are quite simple, and should be well enough documented to be easily understood ;). The path to this file can also be set via the MHTTPD_INIPATH environment variable. - **\bin\php\mhttpd.ini**: this is the PHP configuration file for running the server in windowed mode. It includes the full list of PHP settings from the 5.4.3 release, and loads the required extensions for the server. - **\bin\php\mhttpd-cli.ini**: this is the PHP configuration file for running the server in console mode. - **\bin\php\php-fcgi.ini**: this contains the PHP configuration for the FastCGI processes. It should be edited to support whatever PHP scripts are to be served - particularly to load any extensions required by user scripts. Once these files have been edited, start the server in one of two ways: 1. Run **mhttpd.bat** in the root folder to start the server in the background and optionally launch the default web browser. 2. Run **mhttpd-cli.bat** to start the server with a console to monitor connections, any errors and optional debugging info. Any files or scripts to be served should be placed in either the default docroot (\www) or any other folder specified in the server configuration file. Currently there is no provision for configuring multiple docroots, i.e. a virtual server setup, and only one instance of the server can be run at a time. **IMPORTANT: Exposing the server to external connections has security implications and you do so at your own risk. Although SSL support is available, the server is best run on the local network only.** ## How it works Creating standalone PHP applications for Windows systems is inherently problematic due to the lack of threading support or any equivalent of the process forking available in UNIX-based versions. There have been other fine PHP projects like Nanoweb that have tried to address the issue, but none of the solutions have seemed particularly satisfactory so far. The basic problem is this: how to handle multiple client connections and serve dynamic content in a single thread when user scripts could either kill the server itself simply by calling exit or die(), or hang the server while waiting for the scripts to execute? It turns out that it's possible to simulate multiple threads - from the perspective of actual webserver functionality - by making creative use of sockets and external FastCGI processes. The main server loop can queue concurrent client requests relatively easily (in this case, by using stream_select() on the main listening socket), and dispatch dynamic requests to external FastCGI processes without blocking. Responses from these processes can be handled in the main loop whenever they're done (again via stream_select()) and passed back to the client transparently. The main loop therefore needs to do relatively little work or waiting around, which means that decent concurrency is possible most of the time. Any script execution is also completely isolated from the server itself. The application includes a FastCGI manager that can spawn new processes dynamically up to the maximum configured number, and a FastCGI client class that handles all of the FCGI protocol communication via FCGI record objects. A typical request for a PHP script might therefore go something like this, with each stage handled in a different iteration of the main server loop controlled by socket_select(): 1. The client (browser) requests a connection and is added to a free client slot. 2. The client request is processed and dispatched to a free FastCGI process for execution. If none is available, the manager will try to spawn a new one, otherwise the request will be queued with the least busy process in the pool. 3. The main server loop listens for any response on the FastCGI process socket while continuing to handle other client requests, and once it receives something it processes the response and sends it back to the client. 4. The client connection to the server is closed and the slot is now free to accept a new connection. This isn't a completely asynchronous solution, but in everyday usage it allows for decent concurrency and the ability, for example, to make optimal use of Keep-Alive connections without choking the server. This is more than adequate for running a browser-based UI locally, or for handling a reasonable number of simultaneous external requests. # API Documentation The release includes basic documentation of the API via phpDocumentor. This can be accessed directly in \lib\minihttpd\www\docs, or browsed from the running server by navigating to schema://address:port/api-docs/ (see the main ini file for the authorizaton settings). Otherwise, the source code is relatively compact and hopefully transparent, so it shouldn't take too long to master the details ;). Functionality of the core classes can be extended quite easily by following the instructions in the notes for \lib\minihttpd\config\classes.php. *Copyright (c) 2010-2012 MiniHTTPD Team*
Documentation generated on Sun, 27 May 2012 08:58:50 +0100 by phpDocumentor 1.4.3


https://bit.ly/2OJ20Kq
Association studies, co-expression networks and genome assembly
Niklas Mähler 2018-11-13
Swedish Aspen Collection
12 populations
116 genotypes
Two common gardens
DNA-Seq and RNA-Seq
Association studies in
P. tremula
eQTL mapping
Mähler
et al.
2017
Association between co-expression network connectivity and selection
GWAS of biomass, leaf shape, and metabolite abundance
Ongoing projects
Gene expression > metabolites > leaf shape > biomass
Cinnaymoyl salicortin
Co-expression networks
Conservation of co-expression across species
Netotea
et al.
2014
complex.plantgenie.org
Beta version
Version 3 in the works
Ability to overlay different types of data
Norway spruce genome assembly
50x PacBio data
Filtered chloroplast and mitochondria reads
Downsample to 30x
MARVEL assembler developed by Siegfried Schloissnig
Originally for the axolotl genome (
Nowoshilow
et al.
2018
)
https://github.com/schloi/MARVEL
Current estimate for first alignment step
1.8 million CPU hours
500 TB of storage
Optimisation needed


Elon Musk said Tesla’s pickup truck will be able to tow over 20 times more than a Ford F-150. Here are 8 other bold claims he’s made about the truck.
by Mark Matousek, Business Insider US- Tesla plans to unveil its pickup truck, which CEO Elon Musk has called the “Cybertruck,” on Thursday in Los Angeles.
- Musk has said he is more excited about the pickup truck than any other vehicle in Tesla‘s future lineup.
- Musk has also made bold predictions about its capabilities, like saying it will be able to tow 300,000 pounds.
- Sign up for Business Insider’s transportation newsletter, Shifting Gears, to get more stories like this in your inbox.
- Visit Business Insider’s homepage for more stories.
Tesla is scheduled to unveil its pickup truck, which CEO Elon Musk has called the “Cybertruck,” on Thursday in Los Angeles.
Musk has said he is more excited about the pickup truck than any other vehicle in Tesla’s future lineup. Beyond Musk’s personal enthusiasm, the pickup truck could boost Tesla’s profit margins, as pickup trucks tend to be more profitable for automakers than sedans. The majority of Tesla’s current sales come from its Model 3 sedan.
While Tesla has a history of beating its electric-vehicle competitors in areas like range, acceleration, and technology, Musk has made predictions about the capabilities of Tesla’s pickup truck that are bold even by his standards.
Here’s what he’s said so far.
Are you a current or former Tesla employee? Do you have an opinion about what it’s like to work there? Contact this reporter at<EMAIL_ADDRESS>You can ask for more secure methods of communication, like Signal or ProtonMail, by email or Twitter direct message.
It will start at under $50,000.
Musk said in June that the pickup truck’s starting price will be under $50,000.
Source: Ride the Lightning
It will have “crazy” torque, two motors, all-wheel drive, and a suspension able to adjust to the load the vehicle is hauling.
Musk said in 2018 that the above features would be standard.
Source: Twitter
It will have 360-degree cameras, sonar, and the ability to parallel park on its own.
Source: Twitter
You’ll be able to plug power tools into it.
“Pickup truck will have power outlets allowing use of heavy duty 240V, high power tools in field all day. No generator needed,” Musk tweeted in 2018.
Source: Twitter
It will outperform a Porsche 911 and a Ford F-150.
Musk said this in June.
Source: Ride the Lightning
It will have a range of at least 400 miles.
Musk said in 2018 that the pickup truck will have a range of at least 400 to 500 miles.
Source: Twitter
It will be able to tow 300,000 pounds.
This may be the most aggressive claim Musk has made about the pickup truck. A 2020 Ford F-150 can tow up to 13,200 pounds.
Source: Twitter
It will look like “an armored personnel carrier from the future.”
Musk has hinted on multiple occasions that the truck will have an unusual design. He has cited the movie “Blade Runner” as a reference point for the truck.
It will have a driver’s seat big enough for a professional wrestler.
Musk said in 2018 that the truck’s driver’s seat will be big enough to have fit the late professional wrestler Andre the Giant.
Source: Twitter
- Read more:
- Elon Musk said he’s excited about Ford’s $43,895 Mustang Mach-E electric SUV – here’s how it will stack up against Tesla’s $39,000 Model Y
- Elon Musk’s plan to build a new Tesla factory in Germany makes no sense. Here’s why.
- Tesla is making progress on fixing a big problem with the Model 3 and Model S that put it at odds with Consumer Reports
- Here’s why the Tesla-BMW comparison doesn’t make business sense


--- layout: page title: Notes ---
Here are a collection of my notes from courses at UCLA, as well as from a few various textbooks that I have read throughout my academic career.
Intro to Computer Science I
Fall '16 with Prof. David Smallberg
Intro to Computer Science II
Spring '17 with Prof. David Smallberg
Computer Organization
Spring '18 with Prof. Glenn Reinman
Software Construction Laboratory
Spring '18 with Prof. Paul Eggert
Operating Systems Principles
Summer '19 with Prof. Peter Reiher
Algorithms and Complexity
Fall '17 with Prof. Majid Sarrafzadeh
Languages and Automata Theory
Winter '20 with Prof. Alexander Sherstov
Analysis
Fall '17 with Prof. Michael Hitrik
Fall '19 with Prof. Alberto Chiarini
Complex Analysis for Applications
Fall '19 with Prof. Lincoln Chayes
Applied Numerical Methods
Fall '17 with Prof. Luminița Vese
Spring '19 with Prof. Shay Deutsch
Probability Theory
Winter '17 with Prof. March Boedihardjo
Mathematical Statistics
Summer '17 with Prof. Nicolas Christou
Linear Models
Summer '20 with Prof. Nicolas Christou
Machine Learning
Winter '20 with Prof. Stephanie Wang


Use ActionController::RequestForgeryProtection
methods to include and check unique tokens in HTTP requests when performing sensitive operations to prevent Cross-Site Request Forgery (CSRF).
The CSRF compromise is possible when an attacker can form a URL which performs an action on behalf of an authenticated user. Forming such URLs becomes much more difficult if unique tokens are included in HTTP requests. Including a difficult-to-predict token in HTTP requests is an effective defense against CSRF attacks.
If a CSRF attack succeeds, the consequences are only limited by the application scope. Such an attack could result in loss of sensitive information. The target is often unaware that their browser has been used to perform illegal functions.
Note that even when the user is logged into a web site which uses strong encryption (HTTPS), the CSRF attack will be successful. The attacker will use social engineering, and embed malicious HTML or JavaScript code into an email, or use a web site to request a specific 'task url'. The url can execute without the awareness of the user. This can be accomplished directly, or by using a Cross-site Scripting (XSS) flaw.
For these reasons it is always necessary to use the available security measures which thwart CSRF attacks.
This guideline protects HTML and JavaScript requests only. Where it is necessary to protect an XML API, there usually exists a different authentication scheme and CSRF protection.
Controller actions are protected from CSRF attacks by including a token in the rendered HTML. This token is stored as a session random string which the attacker cannot access. When the application receives a request the Ruby on Rails (RoR) module verifies the received token with the session. To use unique tokens for sensitive HTTP requests:
Identify sensitive operations. Review Ruby code to identify all operations that handle sensitive data. Be sure to include any associated functions and modules in this search.
Identify code that performs sensitive operations. Identify all statements and blocks that are involved in performing sensitive operations. Add information about this code to the spreadsheet.
Choose a method for generating unique tokens. The recommended method is to use the default approach supplied by RoR. CSRF protection is turned on with the protect_from_forgery
method, which checks the token and resets the session if the token does not match what was expected. A call to this method is generated for new RoR applications by default.
Add unique tokens to HTTP requests. The default name for the token parameter is authenticity_token
. The token name and value must be added to each layout that renders forms. This is performed by including csrf_meta_tags
in the HTML head. Do not use session IDs as anti-CSRF tokens.
Perform application token validation. In the application controller, protect_from_forgery
is in effect for newly created applications. A security token is automatically included in all forms and requests. If the security token doesn't match, an exception is thrown.


Boris Johnson Promises To Protect Military In Scotland From 'Unfair Taxes'
The Scottish National Party has labelled the pledge as a "cynical Tory stunt".
by Tom SablesBoris Johnson has pledged to permanently protect forces personnel from "unfair" taxes in Scotland if the Conservatives win the election.
The Prime Minister says those serving in Scotland are being paid as much as £2,200 less than others in the rest of the UK.
For the past two years, the Government has temporarily paid the difference to military personnel across the services, but this announcement will make the move permanent.
"The SNP hits its citizens with a whack of extra tax every year, meaning all workers can take home less of their hard-earned wages", Mr Johnson said, who has been critical of the Scottish National Party.
"It is not fair that our armed forces based in Scotland should earn less than the personnel they serve alongside in the rest of the country."
The pledge to ensure the tax mitigation is permanent has been labelled a "cynical Tory stunt" by SNP defence spokesman Stewart McDonald.
"After a decade of imposing real-terms wage cuts, failing to invest in military housing, and missing their recruitment targets, this cynical Tory stunt adds insult to injury", said Mr McDonald.
"They have failed to implement SNP calls for wage increases, they've failed to match the SNP's tax cuts for the lowest paid members of the armed forces, and they've failed to accept the SNP's calls for better terms and conditions for serving personnel and their families", he added.


This is an event that interprets the world's most favorite sport soccer. Make a robot to grab the Golden Boot. Goals should be made in a specified time span.
Rules
The Robot may be wired, wireless or autonomous. If the bot is wired, maximum length of wire should be 5 meters.
In a time span of 4 minutes, the robot should make at least 3 goals.
If the robot touches the obstacles or boundaries, 5 seconds will be deducted from the total time (total score).
Qualifying Round: one on one match. Five balls will be placed on the arena, the team which will make at least three goals first, will be the winner of the match.
The winners will be decided based on the time limit and maximum number of goals.
Dimensions :
30cm X 30cm X 30cm
Robot exceeding maximum dimensions will be disqualified.
Power supply :
The power supply should not be greater than 12 Volts.
Power supply should be on-board.
Weight limit: No weight limit.
Tolerance: Maximum of 5% tolerance is acceptable in dimensions and power supply
Details
Team of 1-4
Registration Fee : Non-Members - Rs 300 , Member of Robotics Club (MJCET)-150
Contact : Samreen Sultana : +91-9984446612
Mahrukh Hassan: +91-7799360099
Vote For This Event
Speed defines everything. An event that is akin to F1 racing, where dexterity of your robot in speed, controls are scrutinized. It even checks the capability of robot to march on various terrains.
Rules
The Robot may be wired, wireless or autonomous. If the bot is wired, maximum length of wire should be 5 meters.
The robot has to complete the race in minimum time, without touching the boundaries.
If the robot touches the boundaries, 10 seconds will be deducted from the total time (total score)
If you want to place your robot from the arena and place it again, 20 seconds will be deducted.
The winners will be decided based on the time limit.
Dimensions:
30cm X 30cm X 30cm
Robot exceeding maximum dimensions will be disqualified.
Power Supply:
The power supply should not be greater than 12 Volts.
Power supply should be on-board.
Weight limit : No weight limit
Tolerance: Maximum of 5% tolerance is acceptable in dimensions and power supply.
Details
Team of 1-4
Registration Fee : Non Members:300 ,
Member of Robotics Club (MJCET)-150
Contact: Amena Najeeb: +91-9573744417 ,
Sumaiyya Rahman: +91-8686088577
Vote For This Event
This is an ultimate battle of the two robots, aims one to survive until the opponent falls. Hammer out a deal to win the battle field.
Rules
The Robot may be wired, wireless or autonomous.
In the qualifying round the robot has to push a weight of 4kgs out of the arena.
In next is a one-on-one round: The robot has to compete with the opponent robot.
The one who pushes the opponent robot at least twice out of the arena will be declared the winner.
The winners will be decided based on the time limit.
Dimensions:
30cm X 30cm X 30cm
Robot exceeding maximum dimensions will be disqualified.
Power Supply:
The power supply should not be greater than 12 Volts.
Power supply should be on-board.
Weight limit : No weight limit
Tolerance: Maximum of 5% tolerance is acceptable in dimensions and power supply.
Details
Team of 1-4
Registration Fee : Non Members- 300 , Member of Robotics Club (MJCET)-150
Contact : Shaik Simraan: +91-8465870404
Yousuf Ahmed: +91-8143837028
Vote For This Event
Follow the line to the finale. This is an event that challenges the line follower meticulously follow the line to accomplish the task.
Rules
Qualifying round: The robot has to follow a path of the shape 5.
The robot which completes following the arena, irrespective of time, will be qualified.
Finale: The robot has to follow a path of the shape 8.
The robot which completes following the arena, in minimum time will be the winner.
If the robots are unable to completely follow the arena, winner will be decided based on the maximum distance covered.
Dimensions:
30cm X 30cm
Robot exceeding maximum dimensions will be disqualified.
Power Supply:
The power supply should not be greater than 12 Volts.
Power supply should be on-board.
Weight limit : No weight limit
Tolerance: Maximum of 5% tolerance is acceptable in dimensions and power supply.
Details
Team of 1-4
Registration Fee : Member of Robotics Club (MJCET)-150 , Non-Members-300
Contact : Ghazala Anjum: +91-8465950395
Nemath unissa: +91-9014047655
Vote For This Event
Registration for Robolympia 2k16.


Andrei Ageev
Software Engineer
Website
http://esneko.github.io
Email
<EMAIL_ADDRESS>Phone
(+371) 29890964
There is no spoon
Location
Address
Brivibas 214
City
Riga
Country code
LV
Profiles
LinkedIn
ageev
Link
Github
esneko
Link
Work
Accenture
2014-10-06
- 2015-12-31
Frontend Engineer
https://www.accenture.com
test
test
Education
2011-06-01
- 2014-01-01
RTU
Information Technology
Bachelor
test
test
Skills
Web Development
Master
HTML5
CSS3
JavaScript
Languages
English
Advanced
Russian
Native
Interests
Japan
Anime
Samurai


easy to use
I like to compete in game jams and create prototypes. Often, I'll want to add online high scores to my projects but the current free solutions are either too bloated and require a lot of setup, or they're very restricted, e.g., the amount of scores that can be stored is severely limited. My goal with this project was to create a solution for developers that is easy to use and simple to integrate.
- Open source
- Beginner friendly
- One-click instant setup
- RESTful API (GET/POST/DELETE)
- A shareable public code, allowing read-only access
- JSON-based, compatible with the latest standard
- An additional simple API relying solely on GET requests
- Submit scores and get updated score-list with one request
- Return top x scores (sorted by numerical data, scores may contain letters)
- Capped at 2000 scores per user, after which the lowest scores get bumped


This was assignment was a group project that we were assigned in our Operating Systems class, however the brunt of the work was done by me. The goal of this program is to simulate a file system with an interface identical to the linux command line. All commands such as mkdir, mvdir, cd, and others work just as if you were navigating a file system on a command line.
The file system is simulated by allocating a large fixed block of memory to the program. The program then sets up the file descriptor and root directory at the beginning of this memory. All created directories and files are added contiguously to this memory.
We chose to simulate a disk partition with the use of malloc on a char array. We chose a size of 40,000,000 bytes (about 40MB), and we split this up into blocks of size 5,000. The file system descriptor is at the beginning of the memory (char array), and it takes up 2 blocks. Directories each take up 1 block, and files take up 1 block for the descriptors, and as many extra blocks as they need for data.
We implemented files, directories, and the file system descriptor with structs the contain all the information needed for each type. For example, directories contain: name, top level, subitems[], subitem types, and subitem count.
Whenever files or directories were created, removed, or edited, we had to make sure to apply the relevent changes to all of the directories and descriptors that would be affected. A link to the Github page of this project is provided below:


August 2019 Release Notes - Version 19.8.0
Hot off the press — the August releases. Here’s what’s what.
Breaking API Changes
- finagle-core: The contents of the c.t.f.dispatch.GenSerialClientDispatcher object have been
moved to the new c.t.f.dispatch.ClientDispatcher object. The stats receiver free constructors
of GenSerialClientDispatcher and SerialClientDispatcher have been removed.
4b0493c6
- finagle-thrift: The deprecated ReqRepThriftServiceBuilder object has been
removed. Users should migrate to ReqRepMethodPerEndpointBuilder. f1c4d589
Runtime Behavior Changes
- finagle-core: Failed reads on Linux due to a remote peer disconnecting should now be properly
seen as c.t.f.ChannelClosedException instead of a c.t.f.UnknownChannelException.
b06fab3e
- finagle: Upgrade to Jackson 2.9.9. 464ae751
- finagle: Upgrade to Netty 4.1.38.Final. 23532f19
Added
- finatra-http: Introduce the new streaming request and response types:
c.t.finatra.http.streaming.StreamingRequest 9687e2d7,
c.t.finatra.http.streaming.StreamingResponse 30fcb686.
Examples are located in finatra/examples/streaming-example/.
- finatra-jackson: Add the ability to specify fields in the MethodValidation annotation.
545674e6
Changed
- inject-thrift-client: make ThriftClientModuleTrait extend StackClientModuleTrait for symmetry
with other protocol client modules. 27105149
- finatra-http: Deprecated c.t.finatra.http.response.StreamingResponse, Use
c.t.finatra.http.response.ResponseBuilder.streaming to construct a
c.t.finatra.http.streaming.StreamingResponse instead. 30fcb686
- finatra: Upgrade to Jackson 2.9.9. f050be4f
- scrooge-generator: The deprecated ReqRepThriftServiceBuilder has been
removed. 14d4b980
Changes
Breaking API Changes
- util-logging: The namespace forwarders for Level and Policy in com.twitter.logging.config
have been removed. Code should be updated to use com.twitter.logging.Level and
com.twitter.logging.Policy where necessary. Users are encouraged to use ‘util-slf4j-api’ though
where possible. 6ab4aeac
- util-logging: The deprecated com.twitter.logging.config.LoggerConfig and associated
classes have been removed. These have been deprecated since 2012. Code should be updated
to use com.twitter.logging.LoggerFactory where necessary. Users are encouraged to use
‘util-slf4j-api’ though where possible. 5d43773e
Runtime Behavior Changes
- util: Upgrade to Jackson 2.9.9. 0f0bcd44


Pairing is Caring!
by: Vineet Rastogi and Matthew Gray
What is peer programming?
Peer Pairing is a practice where two people working on the same computer working together to understand each other's perspectives to efficiently complete a project.
Why is it important to Dev Bootcamp?
Peer Pairing is really important in DBC because it creates a collaborative, and immersive experience which teaches us the culture of the Ruby community. It allows for the pair to hear one another's immediate feedback and verbal methodologies for solving a problem.
Driver vs. Navigator
The Driver is the "captain" of the ship who operates the moving parts while the navigator is the guide who ensures that everything is being done well and according to specifications.


Include File: harpoon/Process.hpp
Fully Qualified Name: ::Slate::Harpoon::Buffer::Constructor
Declaration
Buffer(Queue<Input, Size>& input, Queue<Output, Size>& output);
Buffer(Queue<Input, Size>& input);
Buffer(Queue<Output, Size>& output);
Abstract
Preconditions
Post Conditions


If you have development expertise in Jekyll, SEO or Web Design I'll thank you to give me your opinion, or could send a pull request. Ruby, JavaScript, HTML and CSS developers are welcome here! I look forward to sharing my ideas of web marketing and grow hacking with you!
A donation for the work that I'm doing right now would be a relief for me! I'm currently studying and without a job! I will appreciate much more those who contacted me after making a small donation. If you do not know what is Bitcoin, you can find out which, I believe a lot in this project to give freedom to many around the world!
I'm trying to grow hack myself on LinkedIn, a recommendation more on my profile could make a difference to my professional career, what do you say to help this? Connect with me via email becahere[at]gmail.com and leave a recommendation and some endorsment, are appreciated as much as the donations!


AP Top News at 6:49 a.m. EST
by EndPlayWas Trump call with Ukraine 'perfect'? GOP has many answers
AP sources: Former Trump adviser John Bolton has a book deal
Iran's president: New oil field found with over 50B barrels
Far left party offers helping hand to ruling Socialists
Saudi Aramco takes another step toward 1st public offering
Pacific bird refuge struggles as ocean garbage patch grows
Over 100,000 greet Japan's emperor at enthronement parade
Burrow, No. 1 LSU hold on for 46-41 win over No. 2 Alabama
Offshoot Mormon community hit in deadly attack leaves Mexico
Trump soaks in Deep South cheers at college football matchup


Love is everthing.
 We have an assortment of boxes fo all occassions.
The gift of life.

The divine energy of wood.
As essential as love.
As you identify so can you choose.
Color your containers as you wish with paint, glitter and metals to suit any aesthetic desire.
Imagescapes.


OUOBD2
...Naturally Wired Tuning...
Not Ready
10
Debug File Upload
Select
Upload
6704
×
Raw Log
...None fetched yet...


shopify
Businessmodel of Shopify
Customer Segments
Shopify provides online ecommerce solutions to a range of individual and commercial customers. The Company’s customers can be organised broadly into two key customer segments:
- Independent Retailers, comprising independent and or individual designers, artists, online sellers and resellers, and small retail businesses; and
- Commercial Retailers, comprising larger retail businesses across multiple retail sectors that do not have their own online sales channels. Shopify provides its commercial ecommerce solutions to a number of high-profile businesses and organisations, including Google, the Los Angeles Lakers, Tesla, World Vision, The Herschel Supply Company, and Mozilla.
Shopify primarily serves customers across North America, with the US comprising its largest single market. As an online business, however, the Company serves a global customer base, with the UK and Australia comprising significant markets for the Company.
Value Propositions
Shopify provides value to its customers in the following ways:
- Its brand identity and reputation, with the Company established as a leading provider of ecommerce solutions, having one of the most recognisable brands in the industry, particularly in its core North American markets;
- Its accessibility and ease of use, with the Company operating a simple-to-use online platform that enables customers to set up and manage online stores independently without assistance from Shopify staff or technical expertise;
- Its technology and innovation, with the Company utilising proprietary technology in the development of its online platform, and committing substantial resources to the development of new and innovative technologies;
- Its cost-effectiveness, with the Company offering reasonably priced solutions to its customers, with its pricing structure comparing favourably to those of its competitors; and
- Its breadth of functionality, with the Company’s platform offering a broad range of tools and functionality, enabling customers to set up and operate online stores of different kinds, including Facebook stores, and utilising international payment gateways, and search engine optimisation tools. ### Channels
Shopify operates as website at www.shopify.com, through which the Company provides information on its platform, its functionality and tools, its pricing options, and commercial solutions. The Company’s website also functions as the gateway to the Company’s ecommerce platform, which customers can register for through the Shopify homepage.
Shopify principally serves its customers directly through its ecommerce platform, which provides a range of tools and functions to suit a range of online stores, including customisable storefronts, website building tools, website analytics, email marketing, and order fulfilment tools. Customers are able to select pricing plans and make payments online. Shopify also offers its customers functionality through its mobile app, Shopify Mobile, which is available on iOS and Android devices.
Shopify also operates a dedicated customer support organisation that is available to assist customers in the development and maintenance of their online stores.
Customer Relationships
Shopify operates principally self-service business. Customers are able to set up an account, design and operate an online store, subscription fees, manage inventory, and process payments online without the direct assistance of Shopify employees.
Shopify provides ongoing assistance to its customers, operating dedicated customer support teams, the members of which can be reached 24/7 over the phone, by email, or via an online chat service. These support personnel are able to provide tailored assistance and respond to complaints and queries on a case by case basis. The Company additionally offers a wide range of online resources, including user guides, FAQs, video, and podcasts.
Shopify also manages an online community forums that allow Shopify users to interact with one another, discuss common problems, share ideas, and collaborate on projects. The Company also operates several social media profiles – including with Facebook, Twitter, YouTube, Instagram, Pinterest, Google+, and Snapchat – through which it is able to publish company updates and interact directly with customers.
Key Activities
Shopify is an ecommerce solutions provider. It operates of a cloud-based, multi-channel ecommerce platform, designed primarily for small and medium-sized businesses. The Company’s software allows merchants to manage their retail business across multiple sales channels, including online and mobile storefronts, social media storefronts, and physical retail outlets.
The Shopify platform offers users a single view of their business and customers and allows them to manage products and inventory, process orders and payments, ship orders, build customer relationships and leverage analytics and reporting all from one integrated location. The Company’s platform includes a range of tools and functions, including a mobile-optimised checkout system, international payment processing tools, analytics tools, and email marketing.
The Company also offers functionality through its Shopify Mobile app for iOS and Android, which enables user to track and manage their business on the go.
Key Partners
Shopify works in close collaboration with a network of partner companies and organisations, in order to ensure the reliability and usability of its platform. These partners can be organised broadly into the following categories:
- Supplier and Vendor Partners, comprising suppliers of services, tools, equipment, and technologies that assist in the development and maintenance of the Company’s online platform;
- Development and Integration Partners, comprising software and application developers and systems integrators who assist in developing new functionality for the Shopify platform, as well as integrating third party functionality into its solutions;
- Affiliate and Marketing Partners, comprising a range of companies and online businesses that help to extend the Company’s own in-house marketing reach, in return for commissions on new business driven to the Company; and
- Strategic and Alliance Partners, comprising market leading companies from a range of sectors, with which the Company collaborates on joint marketing, branding, and other projects. Shopify has a number of key partnerships in place. Notably, the Company maintains a partnership with a single payment service provider, Stripe Inc, which supports the Company’s payment functionality. The Company also has partnership with several app developers, notably Zapier, Langify, and Vantage, and is reported to be planning a sales partnership with Amazon.
Key Resources
Shopify’s key resources are its technologies and intellectual properties, its online platform, its IT and communications infrastructure, its network of partners, its research and development facilities, and its personnel.
While Shopify utilises a number of proprietary technologies in the development of its online platform, searches of records published by the US Patent and Trademark Office identified no patent applications filed in the Company’s name, either as applicant or assignee.
Shopify also owns and or leases several properties in Canada, notably its office locations and research and development facilities.
Cost Structure
Shopify incurs costs in relation to the development of its technologies and platform, the maintenance of its IT and communications infrastructure, the management of its partnerships, the procurement of services, the implementation of marketing and advertising campaigns, and the retention of its personnel.
In 2015 Shopify recorded total operating expenses in the amount of $128.82 million, comprising sales and marketing expenses of $70.37 million, research and development expense of $39.72 million, and general and administrative expenses of $18.73 million.
Revenue Streams
Shopify generates revenue through the provision of ecommerce solutions to small and medium sized businesses via its online ecommerce platform. The Company principally derives its revenue in the form of monthly subscription fees paid by its community of users, with a smaller portion of its revenue coming from its provision of merchant solutions.
Shopify subscriptions come in three tiers, each of which provides differing levels of functionality. Subscriptions start out at $13 per month for a basic account, rising to $54 per month, for a standard account, and to $107 per month for an advanced account.
In 2015 Shopify generated revenue for the year in the amount of $205.23 million, up considerably on the $105.02 million recorded by the Company in 2014. The majority of the Company’s revenue, around $111.98 million was attributed to its subscription business, with $93.25 million attributed to its provision of merchant solutions.


--- layout: post title: 'Sponge Insects: Crafts for Kids' date: 2011-08-20 05:16:01.000000000 -07:00 type: post parent_id: '0' published: true pd: '' status: publish categories: - Classroom Talk - Ideas for Teachers/Parents Elementary tags: - crafts for kids - ideas for parents and teachrers - lesson plans insects - science - sponge insects author: login: k email: k@k display_name: mcary first_name: '' last_name: '' ---
These insects are a fun way to recycle and reuse old sponges. Adults will need to cut out the sponge shapes. Kids can build their insects using toothpicks,pipe cleaners and odds and ends you have at home.


This subpart prescribes policies and procedures for the postaward orientation of contractors and subcontractors through—
(a) A conference; or
(b) A letter or other form of written communication.
(a) A postaward orientation aids both Government and contractor personnel to (1) achieve a clear and mutual understanding of all contract requirements, and (2) identify and resolve potential problems. However, it is not a substitute for the contractor’s fully understanding the work requirements at the time offers are submitted, nor is it to be used to alter the final agreement arrived at in any negotiations leading to contract award.
(b) Postaward orientation is encouraged to assist (see part 19)—
(1) Small business concerns;
(2) Small disadvantaged business concerns;
(3) Veteran-owned small business concerns;
(4) Service-disabled veteran-owned small business concerns;
(5) HUBZone small business concerns; and
(6) Women-owned small business concerns (including economically disadvantaged women-owned small business concerns and women-owned small business concerns eligible under the Women-Owned Small Business Program).
(c) While cognizant Government or contractor personnel may request the contracting officer to arrange for orientation, it is up to the contracting officer to decide whether a postaward orientation in any form is necessary.
(d) Maximum benefits will be realized when orientation is conducted promptly after award.
When deciding whether postaward orientation is necessary and, if so, what form it shall take, the contracting officer shall consider, as a minimum, the—
(a) Nature and extent of the preaward survey and any other prior discussions with the contractor;
(b) Type, value, and complexity of the contract;
(c) Complexity and acquisition history of the product or service;
(d) Requirements for spare parts and related equipment;
(e) Urgency of the delivery schedule and relationship of the product or service to critical programs;
(f) Length of the planned production cycle;
(g) Extent of subcontracting;
(h) Contractor’s performance history and experience with the product or service;
(i) Contractor’s status, if any, as a small business, small disadvantaged, women-owned, veteran-owned, HUBZone, or service-disabled veteran-owned small business concern;
(j) Contractor’s performance history with small, small disadvantaged, women-owned, veteran-owned, HUBZone, and service-disabled veteran-owned small business subcontracting programs;
(k) Safety precautions required for hazardous materials or operations; and
(l) Complex financing arrangements, such as progress payments, advance payments, or guaranteed loans.
(a) The contracting officer who decides that a conference is needed is responsible for—
(1) Establishing the time and place of the conference;
(2) Preparing the agenda, when necessary;
(3) Notifying appropriate Government representatives (e.g., contracting/contract administration office) and the contractor;
(4) Designating or acting as the chairperson;
(5) Conducting a preliminary meeting of Government personnel; and
(6) Preparing a summary report of the conference.
(b) When the contracting office initiates a conference, the arrangements may be made by that office or, at its request, by the contract administration office.
The chairperson of the conference shall conduct the meeting. Unless a contract change is contemplated, the chairperson shall emphasize that it is not the purpose of the meeting to change the contract. The contracting officer may make commitments or give directions within the scope of the contracting officer’s authority and shall put in writing and sign any commitment or direction, whether or not it changes the contract. Any change to the contract that results from the postaward conference shall be made only by a contract modification referencing the applicable terms of the contract. Participants without authority to bind the Government shall not take action that in any way alters the contract. The chairperson shall include in the summary report (see 42.503-3) all information and guidance provided to the contractor.
The chairperson shall prepare and sign a report of the postaward conference. The report shall cover all items discussed, including areas requiring resolution, controversial matters, the names of the participants assigned responsibility for further actions, and the due dates for the actions. The chairperson shall furnish copies of the report to the contracting office, the contract administration office, the contractor, and others who require the information.
In some circumstances, a letter or other written form of communication to the contractor may be adequate postaward orientation (in lieu of a conference). The letter should identify the Government representative responsible for administering the contract and cite any unusual or significant contract requirements. The rules on changes to the contract in 42.503-2 also apply here.
(a) The prime contractor is generally responsible for conducting postaward conferences with subcontractors. However, the prime contractor may invite Government representatives to a conference with subcontractors, or the Government may request that the prime contractor initiate a conference with subcontractors. The prime contractor should ensure that representatives from involved contract administration offices are invited.
(b) Government representatives—
(1) Must recognize the lack of privity of contract between the Government and subcontractors;
(2) Shall not take action that is inconsistent with or alters subcontracts; and
(3) Shall ensure that any changes in direction or commitment affecting the prime contract or contractor resulting from a subcontractor conference are made by written direction of the contracting officer to the prime contractor in the same manner as described in 42.503-2.


| Name |
Description |
| Inverses |
Compute inverse function |
| Transport |
Package for transport properties of moist air |
|
VirialCoefficients |
Virial and cross-virial coefficients of air and water |
|
ReactionIndices |
Parameters and equations for determining reaction variables
(dissociation VDI 4670) |
| IF97_new |
Workaround for IF97 |
|
Water95_Utilities |
Utility functions from IAPWS95 required for air temperatures
below 273.15 K |
|
Ice09_Utilities |
Utility functions from IAPWS09 required for ice in air |
| beta_H |
Henry's law constant |
| f_pT |
Enhancement factor as function of pressure and temperature |
| rho_pTX |
Return density as a function of pressure p, temperature T and
composition X |
| pds_pT |
Saturation partial pressure of steam |
| pd_pTX |
partial pressure of steam |
| xws_pT |
Humidity ratio (absolute) of saturated humid air |
| phi_pTX |
Relative humidity |
| cp_pTX |
Specific isobaric heat capacity |
| cv_pTX |
Specific isochoric heat capacity |
| h_pTX |
Specific enthalpy of moist air |
| h_dis_pTX |
|
| s_pTX |
Specific entropy of moist air |
| u_pTX |
Internal energy |
| cp_dis_pTX |
|
| s_dis_pTX |
|
| pd_pTX_der |
Derivative of partial pressure of steam |
| xws_pT_der |
Derivative of humidity ration (absolute) of saturated humid
air |
| pds_pT_der |
Derivative of saturation partial pressure of steam |
| rho_pTX_der |
Derivative of density as a function of pressure p, temperature
T and composition X |
|
h_dis_pTX_der |
|
| h_pTX_der |
Derivative of specific enthalpy of moist air |
| u_pTX_der |
Derivative of internal energy |


Germany’s entry for the Eurovision Song Contest 2017 is the perfect liaison of Nordic metropolitan charm, a husky voice of international class, and a song that will delight Europe. Levina easily eclipsed 2,000 aspiring acts at the German preliminary show and now deservedly represents Germany in the Eurovision Song Contest with the song Perfect Life.
Despite her natural charisma, the 25-year-old Isabella 'Levina' Lueen is a professional. Bestowed with enormous talent, she won the acclaimed German regional, federal, and national music competition Jugend Musiziert at the age of nine, wrote her own songs at twelve, studied vocals and composition in London, and was promptly awarded Best Vocal Performer. Levina lives and works in Berlin and London.
Perfect Life was penned by US platinum songwriter Lindy Robbins and her team, and encourages the notion of a 'perfect life' allowing mistakes in pursuit of our dreams. Perfect Life is a contagious, border-crossing pop hymn for a modern Europe.


There are not enough "thank yous" we can give you, for giving us an awesome summer and more. -Isabel
Tastes like orange juice.  -Brandon
Dig around in a trashcan outside of a state building, you look homeless. Dig around in the bushes outside a state building, you look like a terrorist.  -Jenny
Thursdays, third and buffet...same thing right? -Isabel
SAVE ME FROM THIS HELL. -Brandon
What the hootie?! -Julie
Sally25! :) -Julie
Sally is my candle in the window on a cold dark winter's night - Hockerman