Uncategorized

gnome-shell – Graphical shell for the GNOME desktop

$gnome-shell
org.gnome.Shell already exists on bus and --replace not specified
$gnome-shell --replace
Window manager warning: Log level 16: Attempt to add property Gjs_MonitorConstraint::primary after class was initialised
Window manager warning: Log level 16: Attempt to add property Gjs_MonitorConstraint::index after class was initialised
Window manager warning: Log level 16: Error converting selection
Window manager warning: Log level 16: Error converting selection
Fontconfig warning: "/etc/fonts/conf.d/65-droid-sans-fonts.conf", line 103: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.d/65-droid-sans-fonts.conf", line 138: Having multiple values in <test> isn't supported and may not work as expected
JS LOG: GNOME Shell started at Tue Mar 04 2014 00:52:33 GMT+0530 (IST)

RMS + lomograph

A  Lomograph holds  a charm  all of  its own.  Somehow,  everything is
amplified, making  ordinary objects stand out,  enhancing details that
would normally go  unnoticed. Characterised by ever-changing variables
such as  the mysterious  vignettes that frame  the shot,  light leaks,
lo-fi  grain, beautiful  blurs, the  magical balance  of  contrast and
saturation  just to name  a few.   A combination  these factors  and a
healthy  touch  of  the  unexpected  go  into  making  each  Lomograph
unique. Essentially, Lomography embraces  the element of surprise that
only analogue film photography can bring and wholeheartedly celebrates
the  outcome.   Experiment with  different  kinds  of  films, and  try
different  tips and  techniques, such  as cross-processing  (x-pro) it
works well with Lomographic cameras!

http://www.jeffgraphics.in/2010/12/08/rms-lomograph/

system engineering

Software engineering occurs as a consequence of a process
called system engineering.Instead of concentrating solely on
software, system engineering focus on a variety of elements,
analyzing,designing and organizing those elements into a system
that can be a product,a service or a technology for the transformation
of information and control.
The system engineering process is called business process
engineering when the context of the engineering work focuses
on a business enterprise.When a product(In this context,
a product includes every thing from a wireless telephone to
an air traffic control system) is to be built,the process is called
product engineering.
Reference/Source:
Software Engineering. A Practitioner’s Approach.
Fifth Edition. Roger S. Pressman, Ph.D.

struct keyword and getopt_long

The  getopt() function parses the command-line arguments.  Its
arguments argc and argv are the argument count and
array as passed to the main() function on program invocation.
An element of argv that starts with  '-'  (and  is not  exactly
"-" or "--") is an option element.  The characters of this
element (aside from the initial '-') are option characters.
If getopt() is called repeatedly, it returns successively each
of the option characters  from each of the option elements.
longopts is a pointer to the first element of an array of struct option
declared in <getopt.h> as

           struct option {
               const char *name;
               int         has_arg;
               int        *flag;
               int         val;
           };

Example Code


static const struct option long_options[] =
{
{"domain", no_argument, 0, 'd'},
{"boot", no_argument, 0, 'b'},
{"file", required_argument, 0, 'F'},
{"fqdn", no_argument, 0, 'f'},
{"all-fqdns", no_argument, 0, 'A'},
{"help", no_argument, 0, 'h'},
{"long", no_argument, 0, 'f'},
{"short", no_argument, 0, 's'},
{"version", no_argument, 0, 'V'},
{"verbose", no_argument, 0, 'v'},
{"alias", no_argument, 0, 'a'},
{"ip-address", no_argument, 0, 'i'},
{"all-ip-addresses", no_argument, 0, 'I'},
{"nis", no_argument, 0, 'y'},
{"yp", no_argument, 0, 'y'},
{0, 0, 0, 0}
};

IP Puzzles +

Amidst the traffic of the Internet is an enormous amount of undesirable communication.
Currently there is no significant disincentive for clients who contribute to this
flood of undesirable communication. A mechanism for punishing only the malicious
is required in order to discourage clients from behaving badly. The standard response
has been to disconnect clients exhibiting suspicious behavior from the rest of the
network using a binary fillter. Ideally though, the mechanism should be analog to
allow falsely identified clients to prove that they are legitimate, so that service to
them can be reinstated. Client puzzles have been proposed in several protocols as a
mechanism well suited for this task;  clients do all the work involved in proving their
legitimacy.
Reference :
Reducing Malicious Traffic With IP Puzzles
Ed Kaiser Wu-chang Feng Wu-chi Feng Antoine Luu
OGI@OHSU
ENSEIRB
{edkaiser, wuchang, wuchi}@cse.ogi.edu
luu@enseirb.fr

NOUVEAU modeset . HOWTO

Problem

I  attempted to go along with a new resolution with  boot time
messages, but there was a conflict, the boot time messages
differed from console resolution when a [nouveau] driver took control.

Debian Based Solution

1.

Find out the module which which takes over.

[ dmesg | grep fb ]
2.

Look for the arguments allowed during module startup.

[ modinfo nouveau ]
3.

Set the resolution inside “grub.cfg”.

[ gfxmode=1024×768 also gfxpayload=keep ]
4.

Pass the module argument during Kernel boot.

[ inside grub.cfg : linux <…..> nouveau.modeset=0 ]
5.

Reboot.

A Screen Shot

$modinfo nouveau
filename:       /lib/modules/2.6.32-5-amd64/kernel/drivers/gpu/drm/nouveau/nouveau.ko
license:        GPL and additional rights
description:    nVidia Riva/TNT/GeForce
author:         Stephane Marchesin
alias:          pci:v000012D2d*sv*sd*bc03sc*i*
alias:          pci:v000010DEd*sv*sd*bc03sc*i*
depends:        drm,drm_kms_helper,ttm,i2c-core,button,i2c-algo-bit
vermagic:       2.6.32-5-amd64 SMP mod_unload modversions
parm:           ctxfw:Use external firmware blob for grctx init (NV40) (int)
parm:           modeset:Enable kernel modesetting (int)
parm:           vbios:Override default VBIOS location (charp)
parm:           vram_pushbuf:Force DMA push buffers to be in VRAM (int)
parm:           vram_notify:Force DMA notifiers to be in VRAM (int)
.
.
.
parm:           reg_debug:Register access debug bitmask:
                0x1 mc, 0x2 video, 0x4 fb, 0x8 extdev,
                0x10 crtc, 0x20 ramdac, 0x40 vgacrtc, 0x80 rmvio,
                0x100 vgaattr, 0x200 EVO (G80+).  (int)
$